Laut einer auf dem 32C3 vorgestellten neuen Studie lassen sich Programmierer nicht nur anhand des von ihnen programmierten Quellcodes deanonymisieren. Auch bei kompilierter Software ist die Trefferquote signifikant, zumindest im Testlabor.
In einem Vortrag auf dem Chaos Communication Congress im letzten Jahr erklärten mehrere Forscherinnen und Forscher, wie sich anonyme Programmierer anhand ihres Programmierstils im C/C++-Quellcode verraten. Ihre Erkenntnisse lassen sich auch in einer Studie nachlesen. Dies sei einerseits eine Bedrohung der Privatsphäre für die anonymen Entwickler, erlaube aber zugleich Aufklärung bei Hackerangriffen oder in Streitfällen um Copyrightverletzungen.
Auf dem 32C3 legte die Gruppe, vertreten durch Aylin Caliskan-Islam, nun nach. Nicht nur arbeite die Machine-Learning-Software heute wesentlich zuverlässiger, komme mit 1600 Autoren zurecht und erreiche eine Trefferquote von 94 Prozent. Auch bei der Analyse von Binärdateien mache man Fortschritte. Die Mitautorin verwies auf eine neue Studie und warnte zugleich vor den Konsequenzen für Programmierer. Allerdings könne die Software auch dabei helfen, beispielsweise Autoren von Malware zu enttarnen.
Für die neue Studie habe man Daten vom Google Code Jam herangezogen, die Binärdateien disassembliert und dekompiliert. Mit Machine-Learning-Methoden habe man dann nach spezifischen Methoden geforscht, welche die Verfasser des Codes verwendet haben und die sich auch nach dem Kompilieren noch ausmachen lassen.
Die Trefferquote geht sicherlich auch auf die idealen Bedingungen der Studie zurück. So arbeiteten sich im Code Jam praktischerweise sämtliche Teilnehmer an derselben Aufgabe ab, ihre Code unterscheidet sich also nur stilistisch. Von den 600 Programmierern habe man 20 mit einer Trefferwahrscheinlichkeit von 96 Prozent klassifizieren können. Bei allen 600 liegt die Wahrscheinlichkeit allerdings nur noch bei 52 Prozent. Schließlich habe man die Software auf das Github-Repository eines Autors losgelassen, um die Software auch “in der echten Welt” einzusetzen, die Ergebnisse seien vielversprechend.
Insgesamt stellt sich die Frage, wie valide und signifikant die Studie tatsächlich ist. In freier Wildbahn dürfe es wesentlich schwieriger sein, Vergleichsmaterial zu besorgen. Fraglich wäre auch, ob die per Machine Learning gefundenen Übereinstimmungen eine juristische Relevanz besäßen. Dennoch ist das Problem nicht von der Hand zu weisen und möchten die Macher der Studie nun an Anonymisierungstechniken arbeiten. Eine Möglichkeit bestünde darin, in Projekten strikte Code-Styleguides aufzustellen und zu befolgen. Auch die Compiler könnten Mechanismen integrieren, um die Struktur des Codes zu verändern. Ein Video des Vortrags wartet auf der CCC-Website.




