Nedbrydning af den binære grænse

Der sker et stort informationstab når vi compilerer fra kildetekst til binær og jeg tænker ikke bare på at de få sporadisk placerede kommentarer elimineres.

Reverse-engineering er en god og gammel sport i branchen, som har fået en særlig opblomstring i virus/malware branchen.

Men det er stadigvæk en meget manuel process og det vedbliver det, så vidt jeg har forstået min Turing, med at være.

Wei-Ming Khoo, fra Ross Andersons team ovre i Cambridge, har prøvet en ny vinkel på den overordnede problematik: Ofte behøver man ikke disassemblere koden, hvis man bare kan finde kildeteksten.

F.eks er rigtig meget kode compileret imod standardbiblioteker og derfor kan man, med ret godt resultat, genkende dem på kodemorfologien, uden at grave sig ned i præcis hvad koden egentlig gør.

I bund og grund har han bygget en søgemaskine der genkender funktioner i binære programmer og hans resultater er faktisk ret imponerende.

Som jeg forstår det, er metoden temmelig arkitektur-neutral, dvs. man burde kunne finde glibc::qsort() i en MIPS binær, selvom søgemaskinen kun har set en i386 version tidligere.

Den søgemaskine kan blive en slem hovedpine for folk der "glemmer" at læse det med småt i Open Source licenser.

phk

Kommentarer (10)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Martin Bøgelund

Der sker et stort informationstab når vi compilerer fra kildetekst til binær og jeg tænker ikke bare på at de få sporadisk placerede kommentarer elimineres.

Af og til - når jeg er i det humør - sætter jeg flaget -comment2speech på compilerkommandoen, som gør at kommentarer læses højt når kodeafviklingen kommer forbi dem.

Det nedsætter naturligvis performance, men kan også være meget lærerigt når man hører det man selv eller andre tænkte, da de var i gang med at kode en bestemt funktion.

  • 3
  • 1
Lars Tørnes Hansen

Af hvad jeg ved er den god nok.
FSF tager slåskampen - de har også nogen til at holde øje med om der er nogen der overtræder GPL.
Det er sket at nogle firmaer tror at GPL=Public Domain og de firmaer har de også trukket i retten.
Pt har de Illiad i sigtekornet: http://gpl-violations.org/news/20071120-freebox.html

De har haft fat i D-link:
der påstod:

Defendant further argues that the GPL is invalid due to violations of Art. 81 of the Treaty establishing the European Community and Section 1 of the German Antitrust Act (GWB) as it prejudices trade between Member States and leads to a restriction on competition. In addition, Defendant asserts that the conditions of the GPL do not apply because of the principle of exhaustion.

Se PDF link på http://gpl-violations.org/news/20061110-dlink-judgement_frankfurt_en.html

  • 0
  • 0
Lars Lundin

FSF tager slåskampen - de har også nogen til at holde øje med om der er nogen der overtræder GPL.
Det er sket at nogle firmaer tror at GPL=Public Domain og de firmaer har de også trukket i retten.

Når distributionen af FSFs software sker udenfor de betingelser som FSF stiller via GPL, så forsøger FSF sig så vidt jeg ved først at bringe distributionen i orden (dvs. at kildeteksten stilles til rådighed).

Hvis det ikke lykkes og sagen ender i retten, så skal det for præcisionens skyld nævnes at retssagen i så fald handler om en overtrædelse af loven om ophavsret, og ikke "om der er nogen der overtræder GPL".

  • 2
  • 0
Jesper S. Møller

Vinklen med misbrug af open-source havde jeg ikke lige set komme (hvilket er forfriskende).

Der findes jo en del produkter (f.eks. Antelink), der kan hjælpe virksomheder (og Open Source organisationer!) med at sikre at de er på dydens smalle sti m.h.t. licenser. De fungerer ved at samle biblioteker af tilgængelig OpenSource produkter, og scanne kundernes kode for at checke at en udvikler eller underleverandør ikke bare copy-paster kode og kalder det deres egen.

Disse kildekodescans ville kunne komplementeres med binære scans. Det ville være en herlig "give tilbage til OSS"-gestus hvis den slags firmaer tillod offentligheden at scanne binær kode på den måde, så OSS-vagthunde kunne checke closed-source produkter imod dem. (Bemærk dog at mange closed source licenstekster har jo klausuler imod reverse-engineering, men hvis først der findes en rygende pistol er det nok ligemeget).

  • 0
  • 0
Morten Jensen

@Anders Rosendal

Er der nogen som kan fortælle hvor mange gange gpl har sejret i retten?

Mange gange Anders :) Jeg kan ikke sætte et tal på, men jeg kan huske det fra overskrifter på Slashdot gennem årenes løb. En hurtig google søgning ser ud til at bekræfte det:

https://www.google.dk/search?q=FSF+wins+in+court

Jeg har ikke selv prøvet at stikke nogen til FSF. Det til trods kender jeg flere firmaer der bygger ovenpå især OpenWRT distroen, men hvor det er aldeles umuligt at få source kode.

Jeg har gået og grublet på om man skulle stikke synderne. Ikke kun for at tilfredsstille den indre svinehund, også fordi det havde været nyttigt på mit tidligere job, hvis jeg kunne få source koden (og evt. en komplet build-chain) til deres produkt.

  • 0
  • 0
Log ind eller Opret konto for at kommentere