Erkennung von bösartigen Netzwerkverbindungen mittels Verhaltensgraphenanalyse
Loading...
Files
Date
2011-07-21
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Sogenannte Bots stellen seit Jahren eine erhebliche Gefahr für die Sicherheit des Internets dar.
Sie unterscheiden von anderen Malwaretypen dadurch, dass sie in der Lage sind, eine dedizierte
Netzwerkverbindung zu einem zentralen Command & Control (C&C) Server aufzubauen. Mittels
dieser Verbindungen erhält der Bot zum Beispiel weitere Kommandos (Informationen über Updates)
oder überträgt auf dem Rechner gesammelte Daten (Passwörter, Netzwerkdumps, etc.). Ein Bot
alleine tätigt mittlerweile jedoch nicht nur solche C&C Verbindungen, sondern baut auch eine
Vielzahl von "normalen" Verbindungen auf, um unauffällig zu bleiben. Eine Unterscheidung von
C&C Verbindungen von normalem Traffic ist hierbei einerseits für die weitere Analyse wichtig
(zum Beispiel um Netzwerksignaturen zu erstellen), dient aber andererseits auch der generischen
Erkennung von C&C Servern (zum Beispiel für Blacklisten).
Ein vielversprechender Ansatz um dieses Ziel zu verwirklichen ist die sogenannte Verhaltensgraphenanalyse.
Hierbei wird das Bot-Binary in einer kontrollierten Umgebung (Sandbox) ausgeführt und beobachtet. In unserem Falle protokolliert die Sandbox die Systemaufrufe des Bots und markiert entsprechende Parameter und Rückgabewerte mit Taint
flags. Somit ist es möglich,
Beziehungen zwischen den Eingabeparametern verschiedener Systemaufrufe zu konstruieren. Diese
Beziehungen werden anschließend im Verhaltensgraphen dargestellt. Konkret lässt sich damit zum
Beispiel nachvollziehen, ob die Rückgabewerte einer Funktion (die zum Beispiel einen bestimmten
Registry-Wert ausliest) über das Netzwerk nach außen versendet wurden.
Mit Hilfe der konstruierten Verhaltensgraphen man nun auf vielfältige Art und Weise gut- von
bösartigen Verbindungen unterscheiden. Ein Ansatz besteht darin, eine Reihe von typischen Verhaltensmuster
von C&C Verbindungen vorzugeben und diese dann anhand der Verhaltensgraphen
zu finden. Ein typisches Verhaltensmuster ist zum Beispiel das Ausführen von vormals über das
Netzwerk empfangenen Daten. Dies kann während einer Updateroutine des Bots geschehen.
Alternativ können auch Methoden aus dem Bereich des Data Mining angewandt werden. Eine
Möglichkeit besteht darin, ein System automatisiert mit eine Menge von bekannten gutartigen
und C&C Traffic zu füttern und mittels Graphanalyse bestimmte Merkmale letzterer Verbindungen
zu identifizieren. Anschließend können die Ergebnisse weiter abstrahiert werden, so dass am
Ende automatisiert Templates generiert werden, welche bestimmte Arten von C&C Verbindungen
erkennen.