http://www.faz.net/-gy9-8i56z
HERAUSGEGEBEN VON WERNER D'INKA, JÜRGEN KAUBE, BERTHOLD KOHLER, HOLGER STELTZNER
F+ Icon
F.A.Z. PLUS
abonnieren

Veröffentlicht: 21.06.2016, 15:47 Uhr

Spurensuche im Internet So fahndet der Geheimdienst NSA nach Programmierern

Wer hat es geschrieben? Die amerikanische National Security Agency (NSA) betreibt Spurensuche in Text und Code und will damit anonymen Programmierern auf die Schliche kommen – kein einfaches Vorhaben.

von Peter Welchering
© dpa Die Zentrale der National Security Agency (NSA) in Fort Meade im amerikanischen Bundesstaat Maryland.

Programmieren lässt sich erlernen wie Sprachen. Deshalb kann man Software-Entwickler an ihrem Programmierstil genauso gut erkennen wie Romanautoren an ihrem Schreibstil. Die Computerlinguisten haben sich bei der Entwicklung der „stilometrischen“ Analysen zur Identifizierung von Programmierern bei den Literaturwissenschaftlern bedient. Die haben nämlich mit einer Software für die Mustererkennung und Algorithmen maschinellen Lernens zum Beispiel herausgefunden, dass Joanne K. Rowling die Autorin des Romans „Der Ruf des Kuckucks“ ist. Auf dem Buchdeckel steht zwar der Name Robert Galbraith. Es gab aber sofort nach dem Erscheinen des Romans Gerüchte, dass ein ganz anderer Autor als der bis dato unbekannte Galbraith den Roman geschrieben habe.

Eine Gruppe junger Literaturwissenschaftler hatte daraufhin den Schreibstil des Romans und die Textstruktur analysiert. Sie fanden große Ähnlichkeiten zu den Harry-Potter-Romanen. Und tatsächlich stellte sich heraus, dass Frau Rowling ein neues Pseudonym gewählt hatte. „Autoren können identifiziert werden, indem die Struktur ihres Textes und ihre individuellen Ausdrucksformen mathematisch analysiert werden“, sagt Aylin Caliska-Islam von der Princeton University, die sich seit ihrer Dissertation mit der Frage beschäftigt, wie Software-Entwickler mit ihrem Programmierstil identifiziert werden können.

Programmtext statt Literaturwerk

Dafür ist mittlerweile eigene Analyse-Software entwickelt worden. Sie wird mit besonderen Stil-Beispielen trainiert. Bisher unbekannte Texte werden so auf Ähnlichkeiten zu Schreibstilen bekannter Autoren analysiert. Wie ein Romanautor seinen Text in deutscher oder englischer Sprache schreibt, verfasst ein Software-Entwickler seinen Programmtext in C++, Java oder PHP.

„Weil wir wissen, dass Programmieren genauso gelernt wird wie Sprachen, können wir die stilometrischen Methoden zur Identifizierung eines Autors nutzen, um herauszufinden, wer ein bestimmtes Programm geschrieben hat“, berichtet Caliska-Islam. Die Art, Klammern zu setzen, Variablennamen zu vergeben, Leerzeichen einzufügen und die Struktur, die ein Programm-Quelltext aufweist, geben den einzigartigen Stil eines Programmierers wieder. Allerdings kann der Programmierer nur dann identifiziert werden, wenn schon bekannte Programme von ihm vorliegen - bei Autoren ist das nicht anders.

Millionenbeträge für die Aufstockung der Datenbank

Die Verantwortlichen des technischen Geheimdienstes der Vereinigten Staaten, der National Security Agency (NSA), nehmen deshalb viel Geld in die Hand, um flächendeckend Arbeitsproben von Programmierern in ihrer Stilometrie-Datenbank zu erfassen. Die Rede ist von einem zweistelligen Millionenbetrag. So will die NSA noch stärker als bisher Programmierwettbewerbe an Colleges und Universitäten finanzieren, deren Ergebnisse sie verwerten darf. Die Software-Experten aus Fort Meade veranstalten sogar eigene Sommerschulen fürs Programmieren, mit denen sie vor allen Dingen junge Informatiker ansprechen wollen. Mit Barcamps, die im Umfeld von Hackerveranstaltungen wie der Black Hat Conference veranstaltet werden, wollen die NSA-Verantwortlichen Quelltexte von bisher unbekannten Hackern für ihre Datenbank ergattern.

Bei Schad-Software wie Computerviren legen deren Autoren allerdings Wert darauf, nicht identifiziert zu werden. Die Militärs wollen jedoch ermitteln, welcher Programmierer mit welchem Namen und vor allen Dingen welcher Nationalität eine bestimmte Angriffs-Software geschrieben hat, um ihm und seinem Land auch die Verantwortung zuweisen zu können.

Mehr zum Thema

Nun werden russische oder chinesische Autoren von Schad-Software nicht unbedingt an Programmierwettbewerben teilnehmen, auf die amerikanische Sicherheitsbehörden direkten Zugriff haben. Deshalb investieren die NSA-Spezialisten viel Geld, um Informanten ausfindig zu machen, welche die Identität bekannter Virenautoren oder Entwickler anderer Schad-Software lüften können.

Trefferquote variiert stark

Dazu zählen auch Geldzahlungen an Informatik-Professoren und Dozenten, die dafür Arbeitsproben ihrer Studenten liefern. Auch dieser „Beschaffungsbereich“ soll ausgebaut werden. Alle diese Programmierarbeiten, die im Quellcode vorliegen, wandern als Stilprobe in die NSA-Datenbank. Mit ihnen werden anonym verfasste Programme auf Ähnlichkeit abgeglichen. Je mehr Programme im Quelltext von möglichst vielen Programmierern man für diesen Abgleich hat, umso größer ist die Wahrscheinlichkeit, dass ein Programmierer identifiziert werden kann.

Das funktioniert am besten mit Quelltexten, die im Rahmen von Programmierwettbewerben geschrieben worden sind. Denn hier entwickelt jeder Programmierer seine Lösung für dasselbe Problem. Die Datengrundlage ist also gut vergleichbar, und umso stärker treten die einzelnen Programmierstile der Entwickler hervor und heben sich voneinander ab. Bei kommerziell verwendeter Software kann der Autor eines Programms in 92 von 100 Fällen auf diese Weise ermittelt werden. Bei Schad-Software wie Computerviren ist das in weniger als zehn von 100 Fällen möglich.

Der Gegenschlag: Werkzeuge, um den Programmierstil zu verschleiern

Die NSA liegt insgesamt bei einer durchschnittlichen Erkennungsrate von 75 Prozent. Die Geheimdienstler haben also Nachholbedarf. Nicht immer liegen die Quellcodes von Computerprogrammen vor, häufig nur die maschinenlesbaren Versionen. Wenn die NSA-Stilexperten partout nicht an den Quelltext einer Software gelangen können, setzen sie Software für das sogenannte Reverse Engineering ein. Dabei wird ein maschinenlesbares Programm wieder in den hochsprachlichen Quelltext zurückübersetzt. Zumindest die Struktur des Programms bietet dann Vergleichsansätze für die stilometrische Analyse. Die Ermittlungsquoten sind hier allerdings nicht so hoch wie bei originären Quelltexten.

Die Programmierer im Silicon Valley sind von diesem NSA-Projekt wenig begeistert. Denn oft arbeiten sie in ihrer Freizeit ehrenamtlich an Open-Source-Projekten und wollen dies vor ihren Arbeitgeber geheim halten. Schon schlagen erste Software-Entwickler zurück. Sie nutzen Werkzeuge, um ihren Programmierstil zu verschleiern. Mit der Obfuscation-Software können zum Beispiel von einem Programmierer gern genutzte Variablennamen durch andere Namen ersetzt werden, um die Ermittler auf eine falsche Fährte zu führen. Auch Klammerfunktionen lassen sich leicht abändern.

Zu wenig

Von Wolfgang Peters

Autofahren ist nicht schwer und vor allem eine Routinesache. Gelegenheitsfahrer sind keine schlechten Menschen, aber schlechte Autofahrer. Mehr 1 7

Hinweis
Die Redaktion
Zur Homepage