Tobias Klein hat auf der IT-DEFENSE 2006 mit seinem Memory Parser ein neues Werkzeug für die Live-Analyse vorgestellt. Das Programm extrahiert DLLs aus dem Speicherabbild eines Prozesses.
Tobias Klein hat seinen Vortrag zur IT-DEFENSE 2006 und einige Materialien auf seiner Website veröffentlicht. Er stellt darin für die Live-Analyse eines mutmaßlich kompromittierten Systems einige neu entwickelte Werkzeuge vor.

Das Konsolenprogramm pd erstellt einen Speicherdump eines durch seine PID bezeichneten Prozesses. Auf den ersten Blick unterscheidet es sich damit nicht von pmdump und anderen Programmen. Diese Tools kopieren die einzelnen Blöcke des virtuellen Speichers in eine Datei. Nicht benutzte Bereiche des virtuellen Adressraums werden dabei natürlich übersprungen. Auf diese Weise geht allerdings auch die Zuordnung von Dateioffset des Abbildes zu virtueller Adresse verloren.
Wie ein kurzer Blick im Hexeditor zeigt, löst pd dieses Problem, indem es jedem Speicherblock einen kurzen Text mit Informationen über seine Lage im Adressraum voranstellt.

Auswerten lässt sich dieses Speicherabbild mit dem zweiten Programm, dem Memory Parser MMP. Nach dem Öffnen wird das von pd erstellte Abbild geparst. MMP zerlegt dabei das Abbild in seine einzelnen Blöcke (diesmal ohne Vorspann) und erstellt eine Textdatei mit dem Namen "information" gleichsam als Inhaltsverzeichnis des Dumps.

Aus dem so vorbereiten Abbild kann MMP dann alle DLLs extrahieren. Diese stehen dann als Datei für die weitere Untersuchungen zur Verfügung, zum Beispiel mit dem Disassembler IDA Pro.

Dass beim erneuten Einlesen und Parsen eines Abbildes für jeden Speicherblock eine Fehlermeldung zu bestätigen ist, weil die Zieldatei bereits existiert, sei der frühen Version geschuldet.
Als problematischer sehe ich jedoch den Einsatz von Speicherabbildern einzelner Prozesse an. Zwar konnte ich über die Prozess-ID (PID) problemlos ein Abbild eines mit dem FU Rootkit verborgenen Prozesses erstellen. Wie aber hätte ich im Ernstfall diesen Prozess gefunden? Mit den beiden hier vorgestellten Programme sehe ich nur die Möglichkeit, per brute-force alle erdenklichen PIDs zu sichern.
Interessant dürfte hier deshalb ein Blick auf RAMparser werden. Dieses Programm von Tobias Klein soll Abbilder des physischen Speichers analysieren können. Leider ist es (noch) nicht auf der Website verfügbar.
