Zum Hauptinhalt Zur Navigation Zur Suche

Mandiant: KI hilft beim Reverse Engineering von Malware

Dekompilierte Programme zu untersuchen, ist mühsam. Eine neues KI-Modell schlägt Namen für Funktionen vor, was die Analyse vereinfachen soll.
/ Sebastian Grüner
Kommentare Auf Google folgen (öffnet im neuen Fenster)
Mandiant macht Malware-Analyse auch mit KI. (Bild: REUTERS/Dado Ruvic/Illustration)
Mandiant macht Malware-Analyse auch mit KI. Bild: REUTERS/Dado Ruvic/Illustration

Für die Analyse von Schadsoftware oder auch anderen Binärdateien, deren Quellcode nicht verfügbar ist, wird die Anwendung oft dekompiliert, um deren Funktionen besser zu verstehen. Doch auch dieses Umwandeln des Assembler-Codes in vertrautere Programmiersprachen macht eine Übersicht nur bedingt leichter. Die IT-Sicherheitsfirma Mandiant hat nun ein KI-Werkzeug erstellt, dass diese Arbeit vereinfachen soll, wie das Magazin The Register berichtet(öffnet im neuen Fenster).

Vorgestellt hat die Arbeiten Sunil Vasisht, Staff Data Scientist bei Mandiant, auf der GTC 2022(öffnet im neuen Fenster). Zu dem Grundproblem heißt es: "Disassembler können Malware-Funktionen automatisch erkennen und mit Anmerkungen versehen, aber ihre signaturbasierten Methoden sind anfällig und erzeugen keine semantisch aussagekräftigen Namen." Vasisht und sein Team haben versucht, dies durch den Einsatz eines Machine-Learning-Modells zu verbessern.

Zum Training des Modells hat das Team einerseits auf 360.000 Disassembler-Funktionen gesetzt sowie andererseits auf Annotierungen für Funktionsnamen des Werkzeugs IDA und im Laufe eines Jahrzehnts beim Reverse Engineering selbsterstellte Annotierungen für bestimmten Funktionen. Das fertige Modell nutzt diese, um beim Dekompilieren passende Namen für Funktionen vorzuschlagen.

Durch die so mögliche Wiedererkennung bestimmter einfacher Funktionen wie etwa printf() können diese schnell zum besseren Gesamtverständnis beitragen und es bleibt mehr Zeit zur Analyse von eventuell schwieriger zu untersuchenden Teilen des Codes. Das vorgestellte Modell basiert dabei auf einem abstrakten Syntaxbaum (AST) und kann darüber zum Beispiel häufig genutzte Verschlüsselungsfunktionen erkennen. Ein weiteres Modell der Forscher nutzt den Kontrollfluss des Programms sowie erkannte API-Aufrufe, um Funktionsnamen vorzuschlagen.


Relevante Themen