Kodestil afslører anonyme softwareudviklere

Softwarekodes struktur, anvendte funktionaliteter og variabelnavne er blandt de aftryk, som bidrager til, at kode kan knyttes til en givet udvikler, viser amerikansk forskning.

En gruppe forskere fra blandt andet Princeton University har udviklet en metode, som ret nøjagtigt kan afsløre, hvilke medlemmer af en gruppe softwareudviklere, der har programmeret et anonymiseret stykke kode – selv om man alene har adgang til en binærfil og desuden har eksempler på kodestilen blandt samtlige deltagere.

Metoden kan ifølge forskerne anvendes i efterforskning af bagmænd bag f.eks. malware. Men den kan også være et redskab for totalitære regimer til at afsløre dem, som har udviklet et værktøj til at omgå censur, skriver digi.no.

Et tredje anvendelseseksempel er i forbindelse med strid om ophavsret til software, hvor kildekoden ikke er tilgængelig.

Omvendt kan metoden også være en trussel mod udvikleres anonymitet og privacy, lyder det.

Fingeraftryk overlever kompilering

Forskerne har tidligere konkluderet at udviklere efterlader en slags fingeraftryk i deres kodestil, som samtidig afslører deres identitet.

Kodens struktur, anvendte funktionaliteter og variabelnavne er blandt de aftryk, som bidrager til, at kode kan knyttes til en givet udvikler.

Men nu viser det sig altså, at mange af disse særtræk også kan overleve en kompilering og stadig afsløre, hvem udvikleren egentlig er.

En af forskerne, Aylin Caliskan-Islam, skriver i et blogindlæg, at man under forsøget tog udgangspunkt i kildekode fra 600 programmører, som alle havde deltaget i programmeringskonkurrencen Google Code Jam.

Siden alle deltagerne skulle implementere den samme funktionalitet, var det kodestilen, som udgjorde den største forskel på bidragene, der var skrevet i C/C++.

Måske ikke så overraskende viser forskningen også, at metoden rammer mere plet, jo færre programmører der deltager. Ved et udvalg på 20 programmører ramte man rigtigt for 98 procent af kodebidragene, mens det faldt til 52 procent, når et udvalg fra samtlige 600 udviklere og kodebidrag blev analyseret.

Softwaren, som forskerne har udviklet i forbindelse med forsøget, er tilgængelig her.

Kommentarer (1)

Svend Nielsen

... man i forvejen ved hvilken kodestil en programmør har.
Der er tale om avanceret mønstergenkendelse, som naturligvis kan finde et sammenfald (et vist mønster) i både kildetekster og binær kompileret kode.

Men hvis man ikke ved hvem der har den pågældende stil, ja så er gruppen jo ikke 20 eller 600 udviklere, men millioner - og så falder genkendelsesprocenten formodentlig til 0,00...01 % hvilket så fortsat er ensbetydende med anonymitet.

Dermed er overskriften på artiklen nok en smule misvisende - mildt sagt.

Vi prøver lige den her:
Mor finder ud af at nogen har spist det stykke tærte som stod på køkkenbordet. Mor laver et eksperiment. Med 2 børn i køkkenet er opklaringsprocenten 50, og hvis der findes småkrummer på det ene barne trøje er den 100%.
Mor gentager så forsøget med 20 børn. Her er man nødt til altid at kigge efter krummer, men opklaringsprocenter er fortsat høj, og der er måske belæg for overskriften "Anonym kagespiser afsløres af krummer".
Nu laver mor så forsøget i børnehaven. Her er 600 børn - mange med krummer på hjemmefra. Her er opklaringsprocenten tæt ved 0.

Er overskriften så stadig sand?

Ej, kom nu Version 2. Slå nu hjernen til inden i kopierer åndssvage artikler fra andre.

Log ind eller opret en konto for at skrive kommentarer

JobfinderJob i it-branchen