Reverse Engineering
Reverse Engineering
Reverse Engineering bedeutet, ein fertiges Programm zu untersuchen, um seine Struktur, Logik und Funktion zu verstehen.
Bei Malwareanalyse ist der Quellcode normalerweise nicht verfügbar. Deshalb muss man aus Binärdateien, Verhalten, Speicher, Strings und Systeminteraktionen Rückschlüsse ziehen.
Warum Reverse Engineering?
Reverse Engineering hilft dabei:
- Malware-Funktionalität zu verstehen
- Indikatoren für Erkennung zu finden
- Netzwerkkommunikation zu analysieren
- Persistenzmechanismen zu erkennen
- Dateien und Registry-Änderungen zu dokumentieren
- Gegenmaßnahmen zu entwickeln
- Vorfälle besser aufzuklären
Was wird untersucht?
Typische Untersuchungsobjekte:
- ausführbare Dateien
- DLLs
- Skripte
- Dokumente mit Makros
- Speicherabbilder
- Netzwerkverkehr
- Registry-Änderungen
- Dateisystemänderungen
Ethik und rechtliche Grenzen
Die Unterlagen betonen klare Regeln:
- keine Erstellung oder Verbreitung von Malware
- kein Eindringen in fremde Systeme
- keine Manipulation ohne Erlaubnis
- keine Analyse auf produktiven Systemen
- keine Weitergabe gefährlicher Samples
Reverse Engineering ist hier ein Werkzeug für Verteidigung und Bildung.
Laborumgebung
Malwareanalyse gehört in eine kontrollierte Umgebung.
Typische Anforderungen:
- isolierte virtuelle Maschinen
- Snapshots vor der Analyse
- getrennte Netzwerke
- keine echten Zugangsdaten
- keine produktiven Daten
- klare Dokumentation
- Möglichkeit zum schnellen Zurücksetzen
Analysefragen
Wichtige Fragen bei einer Analyse:
- Was macht das Sample?
- Welche Dateien werden gelesen, geschrieben oder gelöscht?
- Welche Registry-Schlüssel werden verändert?
- Welche Prozesse werden gestartet?
- Welche Netzwerkverbindungen entstehen?
- Gibt es Hinweise auf Command-and-Control?
- Wird Persistenz eingerichtet?
- Wird Analyse erkannt oder verhindert?
Statische und dynamische Analyse
Es gibt zwei Grundrichtungen.
| Methode | Idee |
|---|---|
| statische Analyse | Untersuchung ohne Ausführung |
| dynamische Analyse | Beobachtung während der Ausführung |
Beide Methoden ergänzen sich. Statische Analyse ist risikoärmer, dynamische Analyse zeigt dafür oft schneller echtes Verhalten.
Werkzeuge
Typische Werkzeuggruppen:
- Hashing-Tools
- Strings-Tools
- PE-Analysewerkzeuge
- Disassembler
- Decompiler
- Debugger
- Prozessmonitore
- Registry-Monitore
- Netzwerkmonitore
- Sandboxen
Merksatz
Reverse Engineering ist Detektivarbeit: Man sammelt Hinweise, prüft Hypothesen und dokumentiert nachvollziehbar, was ein Programm tut.
Zuletzt aktualisiert: 6. Juni 2026