RE-Google hilft bei der Code-Analyse

Ein Plug-in für den Disassembler IDA Pro macht mit Hilfe von Google-Suchen Maschinensprache-Funktionen selbst für Laien verständlich. Auch Sicherheitsspezialisten erspart es bei einer Code-Analyse von Malware erheblichen Aufwand.

In Pocket speichern vorlesen Druckansicht 34 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Christiane Rütten

Felix Leder vom Honeynet Project hat zusammen mit einem Team von Studenten der Universität Bonn ein Code-Analyse-Werkzeug entwickelt, das die Funktion von Maschinensprache-Fragmenten selbst für Laien erkenntlich machen kann. Das RE-Google getaufte Plug-in für den bekannten Disassembler IDA Pro extrahiert Konstanten, Namen von Bibliotheken sowie Zeichenketten aus den allgemein schwer verdaulichen, disassemblierten Binärprogrammen und nutzt sie für Code-Suchen bei Google.

RE-Google in Aktion: Die Dateinamen der Google-Treffer machen auch ohne Maschinensprachekenntnisse klar, dass es sich um die Hash-Funktion SHA-512 handelt.

Die Namen der Quellcode-Dateien, in denen die Suchmaschine fündig wird, bettet es in den Assembler-Quelltext ein. Sie geben in der Regel aufschlussreiche Hinweise zur Funktionsweise der untersuchten Programmfragmente, etwa ob es sich um Netzwerk-Code oder Verschlüsselungsroutinen handelt. Da RE-Google vornehmlich Hochsprachenquelltexte findet, erübrigt sich meist auch eine aufwendige und fehlerträchtige Dekompilierung des Assembler-Codes.

"Das Tool wurde entwickelt, weil wir bei der Analyse von Malware immer wieder Suchmaschinen verwendet haben, um einen Hinweis zu bekommen, was bestimmte Funktionen machen", erklärt Felix Leder. Mit der aktuellen Version erhalte man zu etwa 10 bis 25 Prozent der disassemblierten Funktionen brauchbare Ergebnisse. Damit sei es oft möglich, auch auf den Zweck von weiteren verknüpften Funktionen zu schließen. "Jede Funktion, in die man nicht tiefer reinschauen muss, spart viel Zeit", so Leder.

RE-Google hat bereits erste Erfolge aufzuweisen. So war es laut Leder möglich, mit geringem Aufwand beispielsweise diverse Kryptofunktionen im Conficker-Wurm und im Waledac-Bot zu identifizieren. Im Falle von Waledac habe dies allein ein Viertel des Codes ausgemacht. Im Conficker-Code erkannte RE-Google die Zlib-Funktionen, obwohl sich die Autoren die Mühe gemacht hätten, alle darauf hinweisende Strings zu entfernen.

Code-Verschleierung (Obfuscation) hat laut Leder keinen Einfluss auf die Erkennungsrate, lediglich Laufzeitpacker machten einige Vorbereitung nötig. "Bisher erhält man eher zu allgemeine Ergebnisse", erklärt Leder. Man arbeite daher an verbesserten Filtertechniken. Zudem arbeite das Team derzeit daran, mit weiteren Modulen einen größeren Teil der enthaltene Bibliotheken über Zusatzinformationen automatisch erkennen zu können.

Leder hat mit verschiedenen Teams bereits zuvor schon an der Analyse des Conficker-Wurms und des Sturmwurms gerarbeitet.


Siehe dazu auch:

(cr)