Selvom din github-konto er anonym, så er der ingen garanti for, at andre ikke kan spore din kode tilbage til dig. Det er godt nyt for malwarejægerne og ophavsretsadvokater, men kan have alvorlige konsekvenser for open source-udviklere i lande, hvor repressive regimer slår ned på software, der kan omgå censur og aflytning.

 

"I et nyt forskningsprojekt på Drexel University har Rachel Greenstadt og Aylin Caliskan nemlig haft succes med at identificere anonyme programmører alene på deres kodestil. Det er sket i samarbejde med US Army Research Laboratory."

 

“Den vigtigste samfundsmæssige konsekvens er, at vi nu kan bruge individers programmeringsstil som et meget specifikt fingeraftryk på samme måde som DNA-beviser,” fortæller Aylin Caliskan, der nu er assisterende professor på George Washington University, til Samdata.

De to forskere præsenterede deres resultater på hackerkonferencen DefCon i august. Konkret har de ud af en testgruppe på 100 programmører lykkedes med at identificere 96 af personerne bag, mens en testgruppe på 600 gav en succesrate på 83 procent.

  

Aylin Caliskan (Privatfoto)


Maskinlæring afanonymiserer koden

Forskerne har brugt maskinlæring til at gennemgå kodestumper uden afsender og registrere en lang række attributter ved kodestilen. Det er så blevet sammenholdt med kodestumper hvor programmøren er kendt. På den måde er det altså lykkedes at identificere langt de fleste udviklere i testgrupperne.

Aylin Caliskan fortæller, at deres arbejde på mange måder minder om lingvistisk analyse af tale- og skriftsprog.

“Afanonymisering kræver ikke at man ser på valget af navne på funktioner eller hvordan indentation er lavet. I stedet bruges der syntaktiske særpræg, der er en slags grammatiske egenskaber ved koden.”

Hun uddyber:

“På samme måde som at almindelige sætninger har navneord og verber, så har funktioner i kode variabler og return-values. Alene sådan noget som hvor indlejret et loop er, kan hjælpe til at afsløre, hvem der har skrevet koden.”

Photo by Markus Spiske on Unsplash


Selvom man kunne tro, at variationen fra programmør til programmør er begrænset, så er forskellene rigeligt store til at kunne bruges til identifikation.

“Alle individer lærer jo at programmere på sin egen måde og udvikler derfor en unik kodestil, der gør dem identificérbare.”

Hvad der overraskede forskerne endnu mere er, at også kompilerede filer kan bruges til identifikation.

“Kodestilen overlever kompileringen og kan trækkes ud af de eksekvérbare binære filer,” fortæller Aylin Caliskan.

 

Store muligheder - og store risici

Deres forskningsresultat giver store muligheder. Nogle eksperter peger på, at det f.eks. kan lette jagten på malware-udviklere, ligesom mange copyrightspørgsmål indenfor IT-sektoren måske kan afklares lettere.

“Afanonymiseringsprogrammer kan hjælp i undersøgelsen af kode, hvor ophavsretten er omstridt, eller til at verificere, at en bestemt person har skrevet et specifikt stykke kode,” siger Caliskan og henviser til, at det ville betyde, at en person, der hævder at være bitcoin-bagmanden Satoshi Nakamoto, måske kunne bevise det.

 

“Derudover kan det bruges til efterforskning og til at afsløre plagiater,” tilføjer forskeren. Hun håber fremover på at kunne forske i netop hvordan man kan bruge forskningsmetoderne til at identificere malware-udviklere.

 

 
  Men der er en bagside af medaljen. For mange udviklere i det store open source-landskab ønsker at være anonyme for at undgå problemer med deres arbejdsgiver eller myndighederne, af frygt for autoritære regimer eller helt enkelt fordi de ikke ønsker opmærksomhed om deres virke. Det kan blive betydeligt sværere i fremtiden.

Photo by Jaroslav Devia on Unsplash

“Enhver udvikler, der gerne vil forblive anonym, er sårbar overfor afanonymiseringsangreb, så længe de publicerer ubestridt kode eller bidrager til open source-projekter på nettet. I særdeleshed rammer det dem, der arbejder på software, der anses for ulovligt af deres myndigheder, f.eks. værktøjer til at omgå censur i Iran. De udviklere skal vide, at de løber en risiko, fordi deres kodestil gør dem identificérbare,” fortæller Aylin Caliskan og tilføjer: 

“Der er også virksomheder, der gerne vil sikre, at deres medarbejdere ikke bidrage til open source-miljøet i deres fritid. Det kan også være motivation til at forsøge at kortlægge de ansattes bidrag til offentlige kodebaser.”