Vergleiche statische und dynamische Malware-Analyse, einschließlich der Stärken und Grenzen jeder Methode.
Kurzantwort
Statische Analyse untersucht ein Sample, ohne es auszuführen – Hashes, Strings, Imports, Header und Disassemblierung –, ist also sicher und vollständig in der Abdeckung, aber durch Packing und Obfuskation besiegbar. Dynamische Analyse zündet das Sample in einer isolierten Sandbox und beobachtet echtes Verhalten – Dateien, Registry, Prozesse, Netzwerk –, was Obfuskation durchschneidet, aber nur zeigt, was in dieser Sitzung läuft, und von sandbox-bewusster Malware umgangen werden kann. Analysten kombinieren beide.
Wenn eine verdächtige Datei eintrifft, hat ein Analyst zwei komplementäre Linsen: sie im Ruhezustand studieren oder sie in Aktion beobachten. Interviewer stellen diese Frage, um einzuschätzen, ob du die Abwägungen verstehst und zur richtigen Technik greifen würdest – und weißt, warum keine allein ausreicht.
Statische Analyse – ohne sie auszuführen
Statische Analyse untersucht die Datei ohne Ausführung, ist also sicher. Grundlegende statische Arbeit zieht Datei-Hashes (um die Threat-Intel-Reputation zu prüfen), Strings (URLs, IPs, Registry-Schlüssel, Fehlermeldungen), den PE-/ELF-Header und die Import-Tabelle (welche APIs auf Fähigkeiten hindeuten – Netzwerk, Krypto, Process Injection). Fortgeschrittene statische Analyse bedeutet Disassemblierung/Dekompilierung (IDA, Ghidra), um die Logik des Codes zu lesen. Ihre Stärke ist die Abdeckung – du kannst Codepfade sehen, die nie ausgeführt wurden. Ihre große Schwäche ist Packing und Obfuskation: Eine gepackte Binary offenbart wenig, bis sie sich zur Laufzeit selbst entpackt.
Dynamische Analyse – sie zünden
Dynamische Analyse führt das Sample in einer isolierten Sandbox aus (eine VM mit Überwachung, Snapshots, vorgetäuschtem Netzwerk) und zeichnet das tatsächliche Verhalten auf: geschriebene Dateien, Registry-/Run-Key-Änderungen, gestartete Prozesse, Injection und Netzwerk-Callbacks (C2). Sie schneidet direkt durch Packing, weil die Malware sich zum Laufen entpacken muss. Grenzen: Du siehst nur, was in dieser Sitzung ausgeführt wird – Verhalten, das an ein Datum, ein bestimmtes Ziel oder eine C2-Antwort gebunden ist, bleibt verborgen – und moderne Malware ist sandbox-bewusst, prüft auf VM-Artefakte, geringe Laufzeit oder fehlende Nutzeraktivität und verweigert die Zündung.
Warum das wichtig ist
Die reife Antwort lautet beide, iterativ: Triage mit schnellem Statischem (Hash, Strings, Imports), dynamisch zünden für das Verhalten, dann zurück zur Disassemblierung, um die Lücken zu füllen. Die Stärken zu benennen (statisch = volle Abdeckung, aber von Obfuskation geschlagen; dynamisch = echtes Verhalten, aber sitzungsbeschränkt und umgehbar) zeigt, dass du den Arbeitsablauf verstehst, nicht nur die Definitionen.
Wahrscheinliche Anschlussfragen
- Warum schadet Packing oder Obfuskation der statischen Analyse mehr als der dynamischen?
- Welche Tricks nutzt sandbox-bewusste Malware, um der dynamischen Analyse zu entgehen?
- Welche grundlegenden statischen Indikatoren würdest du zuerst aus einem Sample ziehen?