Lehrstuhl Netzarchitekturen und Netzdienste
Institut für Informatik
Technische Universität München
Analyse von Würmern und Bots
Cornelius Diekmann
Lehrstuhl Netzarchitekturen und Netzdienste Fakultät für Informatik
Technische Universität München Email: diekmann@in.tum.de
Gliederung
Statische Analyse
Durchführung
Überblick über Würmer und Bots
Probleme
Stand der Bedrohung 2009
Dynamische Analyse
Durchführung
• Analyse auf dem Host
• Analyse im Netz
Erwartete Funktionen von Würmern und Bots
Ergebnisse
Probleme
Analyse von Würmern und Bots
Was macht ein unbekanntes Programm?
Statische Analyse
WhiteboxSicht
Durchführung:
2 Phasen
1. Disassemblierung 2. Dekompilierung
1. Disassemblierung
Binärdatei Assemblercode
2. Dekompilierung
Assemblercode Logik und Semantik
Überblick über Würmer und Bots
Wurm:
Ein Programm, dass sich selbstständig von einem Computer auf einen anderen kopiert
Bot:
Programm das einen BotCode ausführt
BotNetz:
Ein großflächiges Netzwerk von Computern, die eine BotSoftware ausführen („Zombies“ ).
BotNetzOperator:
Die Person, die ein BotNetz über CommandandControl (C&C) Server fernsteuert
Statische Analyse Ergebnisse
Zeichenketten
Unterstützte Kommandos eines Bots
C&C Server
Geheime Schlüssel
Importierte und Exportierte Funktionen
Arbeitsweise
Spezielle Algorithmen
Verschlüsselung
Algorithmische Suche nach C&C Server
Vollständige Sicht auf Binärdatei
Disassemblierung Probleme
Junk Bytes
Dekompilierung Probleme
Code Verschleierung
Code Verschlüsselung
Packer
Lösung: Code ausführen,
bis er sich selbst entschlüsselt
hat K. Chiang and L. Lloyd, “A Case Study of the Rustock Rootkit and
Spam Bot,” in The First Workshop in Understanding Botnets, 2007.
Statische Analyse Zusammenfassung
Pro:
Vollständige Sicht auf unbekannte Binärdatei
Programm wird nicht ausgeführt, keine Gefahr für andere Systeme
Contra:
Extrem aufwändig
Menschlicher Operator benötigt
Aussagekraft eventuell gering
Nicht automatisierbar
Aktuelle Bedrohung
Stand 2009
Symantec, “Virendefinitionen und SicherheitsUpdates,” September 2009. [Online]. Available: http://www.symantec.com/de/de/norton/
security_response/definitions.jsp
Kaspersky Lab, “Spam im ersten Halbjahr 2009”
2009. [Online]. Available: http://www.viruslist.com/de/analysis?
pubid=200883660
Dynamische Analyse
Ausführung der Malware
Protokollierung aller Aktionen
Auf dem Host
Im Netzwerk
Dynamische Analyse – Auf dem Host
Durchführung
System vor und nach Malwareausführung vergleichen
• Keine Aufzeichnungen während der Laufzeit + Aufwändig
Analyseumgebung
CWSandbox
CWSandbox – Funktionsweise
win32 APIHooking
DLL Injection
CWSandbox – Ergebnisse
System Calls
Änderungen am Dateisystem
Änderungen an der Registry
gestarteten Prozesse
Netzwerkaktivitäten
Menschnenlesbar und Maschinenlesbar
Dynamische Analyse – Im Netz
Paketsniffer in
ManintheMiddle Position
Ergebnisse:
Alle Netzwerkaktivitäten
Dynamische Analyse – Ergebnisse
Wir kennen nun alle Aktionen der Malware
Auf dem Host
Im Netzwerk
Was macht so eine typische Malware eigentlich?
Verbreitung von Würmern und Bots
„Scriptkiddie“Bots:
„bevorzugt automatisch über Sicherheitslücken auf den niederen OSI
Schichten“
Kommerzielle und professionelle Bots:
Anwendungsschicht Social Engineering
P. Bacher, T. Holz, M. Kotter, and G. Wicherski, “Know Your Enemy:
Tracking Botnets,” The Honeynet Project, 2005. [Online]. Available:
http://www.honeynet.org/papers/bots
Tarnung der Malware
Start als Hintergrundprozess bei jedem Systemstart+
Polymorphe Binärdateien Packer
Code Verschleierung
Deaktivierung von Schutzsoftware
Rootkits
Bootkits
Verschlüsselte Kommunikation mit C&C Server
Automatische Updates der Botsoftware
Hauptfunktionen von Malware
Zerstörung
Erpressung
Diebstahl
Fernsteuerung des
befallenen Rechners über ein Botnet
Bitte nicht ernst nehmen. Angebliche Quelle:
http://www.weeklyworldnews.com/, aus dem Jahr 2000
Botnets Funktionen
DDoS Attacken
Spamming
Diebstahl von Informationen
Rekrutieren neuer Zombies
Werbung
Verkauf, Vermietung, Support
J. P. John, A. Moshchuk, S. D. Gribble, and A. Krishnamurthy,
“Studying Spamming Botnets Using Botlab,” Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation (NSDI‘09), 2009.
Kommunikation mit dem C&C Server
IRC
HTTP, SMTP
Zentraler C&C Server
p2p Netzwerke
Dynamische Analyse – Weitere Ergebnisse
Ausgehende Verbindungen
Network Fingerprint
Klassifizierung der Malware
Analyse von Spam
Sowohl eingehender als auch ausgehender
<Protokoll, IP Adresse, DNS Adresse, Port>
Verwendung der Ergebnisse
Erkenntnisse über die Arbeits und Funktionsweise von Würmern und Bots
Blacklisting von:
C&C Server
Kompromittierte Webserver
Infizierte Clients
Trefferquote des eigenen Spamfilters verbessern
Erkennung von infizierten Host im eigenen Netzwerk
Dynamische Analyse Probleme
Verhinderung von Blacklisting
Verhinderung von Schäden
Aller an das Netzwerk / Internet
angeschlossenen Rechner
Malware darf Analyse
umgebung nicht erkennen
Verhinderung von Schäden TrumanBox
Transparente Emulation von Internetdiensten
Problem: VM Detection
Einsatz virtueller Maschinen erleichtert Wiederherstellung des ursprünglichen Systemzustands
Malware kann VMs erkennen und sich anderes verhalten
Lösung: Networkfingerprint