Malware-Analyse
Was ist Malware-Analyse?
Die Malware-Analyse ist der Prozess der Untersuchung von Schadcode, um dessen Verhalten, Fähigkeiten, Herkunft und Ziele zu verstehen. Sie ist unverzichtbar für Incident Response, Threat Intelligence und die Entwicklung wirksamer Gegenmaßnahmen.
Arten der Analyse
1. Statische Analyse
Untersuchung der Malware, ohne sie auszuführen:
- Analyse von Strings und Metadaten
- Identifizierung von Packern und Obfuskation
- Analyse von PE/ELF-Headern
- Signaturen und Hashes (MD5, SHA-256, SSDEEP)
- YARA rules matching
2. Dynamische Analyse
Kontrollierte Ausführung in einer isolierten Umgebung:
- Sandbox-Analyse (Cuckoo, Any.Run, Joe Sandbox)
- Überwachung von Systemaufrufen
- Analyse des Netzwerkverkehrs
- Änderungen am Dateisystem und an der Registry
- Erzeugte Prozesse und Code-Injektion
3. Reverse Engineering
Tiefgehende Code-Analyse:
- Disassembly und Dekompilierung
- Debugging und Ablaufanalyse
- Identifizierung kryptografischer Algorithmen
- Extraktion von Konfigurationen und IOCs
Unverzichtbare Tools
Statische Analyse
- • PEiD / Detect It Easy
- • PEStudio / CFF Explorer
- • Strings / FLOSS
- • VirusTotal / Hybrid Analysis
- • YARA / Capa
Dynamische Analyse
- • Cuckoo Sandbox
- • Any.Run
- • Process Monitor (Sysinternals)
- • Wireshark / tcpdump
- • Regshot
Reverse Engineering
- • IDA Pro / Ghidra
- • x64dbg / WinDbg
- • dnSpy (für .NET)
- • JD-GUI (für Java)
- • Radare2
Speicher und Forensik
- • Volatility Framework
- • Rekall
- • SANS SIFT Workstation
- • REMnux Distribution
Analysemethodik
Phase 1: Erste Triage
- Hashes berechnen und in Threat-Intelligence-Datenbanken abgleichen
- An öffentliche Sandboxes übermitteln (VirusTotal, Hybrid Analysis)
- Schnelle Analyse von Strings und Imports
- Dateityp und möglichen Packer bestimmen
Phase 2: Verhaltensanalyse
- In einer kontrollierten Sandbox ausführen
- Erstellung von Dateien und Prozessen überwachen
- Netzwerkverkehr und C2-Verbindungen erfassen
- Persistenztechniken identifizieren
Phase 3: Tiefgehende Analyse
- Entpacken (Unpacking) und Deobfuskation
- Reverse Engineering kritischer Funktionen
- Extraktion von Konfigurationen und IOCs
- Identifizierung von Familien und Varianten
Indicators of Compromise (IOCs)
Wesentliche zu extrahierende IOCs:
- File-based: Hashes, Dateinamen, Pfade
- Network: IPs, Domains, URLs, User-Agents
- Registry: Erstellte/geänderte Schlüssel
- Behavior: Mutexes, Named Pipes, Dienste
- YARA rules: Wiederverwendbare Erkennungsmuster
Gängige Umgehungstechniken
- Anti-VM/Sandbox: Erkennung virtualisierter Umgebungen
- Anti-Debugging: Techniken zur Vermeidung der Analyse
- Packing/Obfuscation: Code-Obfuskation
- Process Injection: DLL injection, process hollowing
- Rootkit Capabilities: Verbergen von Prozessen und Dateien
- Fileless Malware: Ausführung ausschließlich im Speicher
MITRE ATT&CK Framework
Das Verhalten der Malware den MITRE-ATT&CK-Techniken zuordnen:
- Initial Access (phishing, exploit public-facing app)
- Execution (command and scripting, user execution)
- Persistence (registry run keys, scheduled tasks)
- Defense Evasion (obfuscation, process injection)
- Command and Control (web protocols, DNS)
- Exfiltration (exfiltration over C2, automated exfiltration)
Sicherheitsempfehlungen
- [OK] Immer in einer isolierten (air-gapped) Umgebung analysieren
- [OK] VM-Snapshots für eine schnelle Wiederherstellung verwenden
- [OK] Die gesamte Analyse detailliert dokumentieren
- [OK] IOCs mit der Community teilen (MISP, OTX)
- [OK] Analyse-Tools stets auf dem aktuellen Stand halten
- [OK] YARA rules für die zukünftige Erkennung erstellen
- [OK] Erkenntnisse in Threat-Intelligence-Plattformen integrieren
