Wir alle wissen über den Staatstrojaner Bescheid. Die Hacker vom Chaos Computer Club haben die Überwachungssoftware gefunden, analysiert – und gehackt. Das
Ergebnis ist erschreckend.
Nach kurzer forensischer Durchsicht der Datenträger durch eine Gruppe von CCC-Hackern fand sich auf einigen der Festplatten tatsächlich jeweils eine behördliche Computerwanzensoftware. Die Trojaner-Varianten sind einander ausgesprochen ähnlich und weisen nur geringfügige Unterschiede auf. Die Dateien, die einst die Betroffenen ausspioniert hatten, waren nur amateurhaft gelöscht worden und ließen sich ohne großen Aufwand mit gängigen Computerforensikwerkzeugen rekonstruieren.
...
Die Hacker machten sich an die Detailuntersuchung. Was sie dabei fanden, erstaunte selbst hartgesottene Zyniker. Eine Schadsoftware zu analysieren ist vergleichbar mit der Obduktion einer unbekannten Spezies von Lebewesen. Man versucht, einzelne Funktionen zu identifizieren, etwa Augen, Ohren, Atemsystem, Kreislauf, Verdauungsorgane oder Stimmapparat. Dazu zieht man Vergleiche mit bekannten Strukturen heran – etwa dass in Augen von Wirbeltieren typischerweise Linse, Hornhaut, Pupille, Glaskörper und Netzhaut zu finden sind. Aus dem Vorhandensein oder auch Fehlen dieser bekannten Strukturen erschließt man wahrscheinliche Funktionen und Zusammenhänge der Anatomie.
Mit vergleichbaren Methoden identifiziert man auch Funktionen und Zusammenhänge in einer unbekannten Schadsoftware, die ja nur als Maschinencode vorliegt. Maschinencode ist im Gegensatz zum ursprünglich in einer Programmierhochsprache wie C++ geschriebenen und später in Maschinencode übersetzten Programmcode für Menschen nur mühsam zu lesen und zu verstehen. Wenn man ergründen will, was eine bestimmte Routine des Trojaners bewirkt, schaut man als Erstes nach, welche Funktionen des Betriebssystems sie benutzt. Das Betriebssystem eines Computers stellt ganz grundlegende Funktionen bereit, die jedes Programm benötigt, um auf dem Computer zu laufen. Dazu gehören zum Beispiel das Lesen und Schreiben von Dateien, Senden und Empfangen von Daten über das Netz, Tastatureingaben, Tonein- und -ausgabe oder auch der Start von Programmen. Einzelne Teile des Schadprogramms erfüllen verschiedene Aufgaben und benutzen also auch unterschiedliche Betriebssystemsfunktionen, aus denen sich auf ihre Funktion schließen lässt, so wie etwa ein Pathologe aus dem Vorhandensein einer Linse auf ein optisches Sinnesorgan schließen kann.
Fehlerhafte Implementierung der Verschlüsselung
Von besonderem Interesse war der bei der Analyse alsbald identifizierte Teil der Software, der für die Fernsteuerung des Trojaners über das Netz verantwortlich ist. Nach dem Start eines neu infizierten Computers bindet sich die Schadsoftware heimlich in alle laufenden Programme ein und sendet an einen fest konfigurierten Server, der sich interessanterweise in den Vereinigten Staaten – einer bekanntlich fremden Jurisdiktion – befindet, ein paar Datenpakete, um seine Dienstbereitschaft zu signalisieren. Die Pakete, die zum Server geschickt werden, sind mit einer AES-Verschlüsselung abgesichert. AES ist ein bewährtes Standardverschlüsselungsverfahren, bei dem für die Ver- und Entschlüsselung der gleiche Schlüssel verwendet wird. Dieser Schlüssel ist in den dem CCC zugesandten Trojaner-Varianten identisch, scheint also in unterschiedlichen Überwachungsfällen wiederverwendet zu werden. Um die Kommunikation zum Server zu entschlüsseln und zu analysieren, mussten die Hacker nur den Schlüssel aus einem der Trojaner extrahieren und den Trojaner in einem von der Außenwelt isolierten Netz in Betrieb nehmen. Dabei mussten sie allerdings feststellen, dass die Verschlüsselung fachlich falsch implementiert ist, so dass auch ohne Kenntnis des Schlüssels Rückschlüsse auf den Inhalt der vom Trojaner zum Server übermittelten Daten möglich sind.
Der Trojaner sendet in regelmäßigen Abständen eine Art Parole, die benutzt wird, um dem amerikanischen Server zu signalisieren, dass es sich tatsächlich um einen von ihm kontrollierten Trojaner handelt. Die Parole der amtlichen Schadsoftware für ihren Serverzugang lautet hier C3PO-r2d2-POE. Offenbar war der Programmierer ein Star-Wars-Fan: C3PO und POE sind sogenannte Protokoll-Droiden aus dem SciFi-Universum der Star-Wars-Saga, die dort für die reibungslose Kommunikation zwischen unterschiedlichen Völkern und außerirdischen Rassen zuständig sind. Der Droide R2D2 repariert Raumschiffe.
Nachdem der Trojaner mit dieser Parole seine Anwesenheit signalisiert und noch einige weitere Daten übermittelt hat, beispielsweise eine Art digitale Fallnummer, wartet er auf Befehle vom Server. Die CCC-Hacker mussten entsetzt feststellen, dass die Schadsoftware ihre Kommandos ohne jegliche Absicherung oder Authentifizierung entgegennimmt.
Wir dürfen sicher sein, dass derselbe Trojaner mit dem Segen der Justizministerin Sommaruga in die Computer geschleust werden.