[392] Spass mit Codeflow Analyse - neuer Schwung für Malware

Speakers
Stealth
Halvar Flake
Scut
Language german
Lecture Documentation
http://www.team-teso.net/articles/19c3-speech
MPEG-4 Recording
MP3 Recording
Room Saal 1
Time Day 2, 12:00h
Duration 2 hours

Description

Programme, die nur als Maschinencode vorliegen sind oft nicht leicht zu handhaben: beim Übersetzen des noch verständlichen Sourcecodes gibt es zu viele Möglichkeiten durch Optimierungen die Struktur des Programmes zu verklären. Wir versuchen diese Struktur teilweise wieder zu gewinnen, darzustellen und für unsere Zwecke aufzubereiten.

Dabei wird zunächst der Maschinencode von IA32/Linux ELF Binärdateien disassembliert, mit Hilfe einer selbstentwickelten Disassembler-Library, deren Aufbau kurz erläutert wird. Die einzelnen Instruktionen werden danach mittels Trace-Verfahren in strukturellen Einheiten (basic blocks) zusammengefasst, zwischen denen der Codeflow analysiert werden kann.

Als Anwendung dieser Techniken zeigen wir zuerst das Fingerprinten von Funktionen. Dies nutzen wir zum Erkennung und Verändern von Schutzcode im Kernel (am Beispiel des StMichael Kernel "Schutz"-Modules). Weiter betrachten wir die Möglichkeiten bestimmte Aussagen über den Control-Flow zu machen, die für versteckte Backdoors genutzt werden können. Die Erkenntnisse daraus verwenden wir anschliessend um beliebigen Programmcode in einem anderen Programm an optimalen Stellen einzubauen.

Am Ende des Vortrages wird der Quellcode unter einer nicht-restriktiven Lizens veröffentlicht (LGPL, GPL, BSD oder so).

Archived page - Impressum/Datenschutz