-
Die vorliegende Erfindung bezieht sich auf eine Analysesystem und ein Verfahren zum dynamischen Konfigurieren eines Analysesystems für die Exploit- und Schadprogramm-Analyse.
-
Heutzutage gibt es eine ständig wachsende Anzahl an unterschiedlichen Schadprogrammen (Malware) und eine dramatische Zunahme der Anzahl von Computerbedrohungen. Exploits gehören dabei zu den gefährlichsten Bedrohungen. Ein Exploit ist ein Fragment eines Programms oder einer Sequenz von Befehlen, das Anfälligkeiten in der Software benutzt und zum Attackieren eines Computersystems verwendet wird.
-
Exploits können entweder unabhängig benutzt werden, um beispielsweise die Computersystemsicherheit zu prüfen oder zusammen mit Schadprogrammen auftreten. Bekannte Typen von Schadprogrammen sind zum Beispiel Viren, Würmer, Trojanische Pferde, Rootkits und Spyware. Die Verbreitung bzw. Infizierung mit Schadprogrammen kann über E-Mail, Internetseiten, aus dem Internet heruntergeladene Dateien und gemeinsamen Dateizugriff (FileSharing) sowie Peer-to-Peer-Software, sofortigen Nachrichtenübermittlungen (Chatten, Instant-Messaging) und auch durch direkte persönliche Manipulation von Rechnersystemen erfolgen.
-
Um festzustellen, welche Änderungen von Schadprogrammen oder Exploits am System vorgenommen wurden, kann eine Schadprogramm-Analyse durchgeführt werden.
-
Dabei benötigt man zunächst Informationen über die Veränderungen, welche die Schadprogramme am Rechner vorgenommen haben. Für solche Zwecke können Schadprogramm-Analyse-Systeme eingesetzt werden, die das Schadprogramm in einer geschützten Umgebung ausführen, dabei sein Verhalten beobachten und es in einem Protokoll aufzeichnen. Da diese Art von Schadprogramm-Analyse nicht den Code des Schadprogramms, sondern sein Verhalten untersucht, spricht man hier von einer dynamischen Schadprogramm-Analyse. Für die Ausführung des Schadprogramms in einer geschützten Umgebung werden Sandbox(Sandkasten)-Technologien eingesetzt. Sie sollen als eine sichere Laufzeitumgebung für Programme dienen, die für experimentelle Zwecke eingesetzt werden oder als nicht vertrauenswürdig einzustufen sind.
-
Als Sandbox wird häufig eine virtuelle Maschine verwendet. Eine virtuelle Maschine ist eine auf Software basierende Datenverarbeitungsumgebung, die auf einer Hardwareplattform und einem Betriebssystem eines Rechnersystems läuft.
-
In der heutigen Schadprogramm- und Exploit-Analyse ist es ein großes Problem, das Analysesystem mit dem passenden Umfeld dafür bereitzustellen. Oft fehlen bestimmte Voraussetzungen, z.B. Betriebssystem- oder Software-Version, um einen Exploit erfolgreich durchzuführen, ein vorzeitiges Abbrechen des Schadprogramms zu verhindern oder ein Schadprogramm zum Laufen zu bekommen. Deswegen muss in vielen Fällen entweder manuell die Konfiguration des Analysesystems geändert werden, was sehr zeitaufwendig ist und viel Erfahrung voraussetzt, oder es gehen wichtige Informationen einfach verloren. Darüber hinaus lässt sich durch veränderte Umgebungsbedingungen auch oft ein verändertes bisher nicht gezeigtes Verhalten einer Schadsoftware auslösen.
-
Bisher wird das Problem durch die Bereitstellung unterschiedlicher, vorab erstellter Analysesysteme gelöst, auf denen zum Beispiel bestimmte Betriebssysteme, Patch-Stände oder Software-Versionen installiert sind.
-
Nachteilig dabei ist, dass sich so nur ein relativ kleiner Teil der tatsächlichen Umgebungsbedingungen abdecken lässt, da sonst die Zahl der bereitzustellenden virtuellen Maschinen schnell sehr groß werden würde. Eine manuelle Umkonfiguration ist Zeit- und Personalaufwändig.
-
Es ist daher eine Aufgabe der Erfindung, eine Vorrichtung und ein Verfahren zum kostengünstigen und zeitoptimierten Bereitstellen verschiedener Konfigurationsvarianten und Umgebungsbedingungen für ein Analysesystem zur Exploit- und Schadprogramm-Analyse zu schaffen.
-
Die Aufgabe wird durch die Merkmale der unabhängigen Ansprüche gelöst. Weiterbildungen der Erfindung sind den abhängigen Ansprüchen zu entnehmen.
-
Die Erfindung betrifft ein Verfahren zum dynamischen Konfigurieren eines Analysesystems zum Testen eines Schadprogramms, mit folgenden Verfahrensschritten:
- – Ausführen des Schadprogramms auf einer virtuellen Maschine;
- – Protokollieren von einzelnen Schadprogrammschritten;
- – Analysieren von aus den ausgeführten Schadprogrammschritten resultierenden Aktionen;
- – Vergleichen jeder resultierenden Aktion mit in einem Änderungskatalog eingetragenen Aktionen und Identifizieren einer der resultierenden Aktion entsprechenden eingetragenen Aktion zugeordneten Konfigurationsänderung;
- – automatisches Konfigurieren der virtuellen Maschine mit der identifizierten Konfigurationsänderung;
- – erneutes Ausführen des Schadprogramms auf der umkonfigurierten virtuellen Maschine.
-
Das Verfahren zeigt den Vorteil, dass die Zahl der bereitzustellenden virtuellen Maschinen übersichtlich bleibt. Die Umkonfiguration der virtuellen Maschine mit der entsprechenden Konfigurationsänderung geht automatisch und schnell vonstatten, so dass Zeit und Personal gespart werden kann.
-
In einer Weiterbildung der Erfindung wird einem Zugriff auf eine nicht vorhandene Komponente als eingetragene Aktion in dem Änderungskatalog als zugeordnete Konfigurationsänderung eine automatische Konfiguration einer entsprechenden Komponente auf der virtuellen Maschine zugeordnet.
-
Auch hier ist es von Vorteil, dass abhängig von der Art bzw. Ziel des vom Schadprogramm getätigten Zugriffsversuch für den nächsten Durchlauf ein entsprechende Zugriff bereitgestellt wird. Es ist kein zusätzlicher Zeit- und Personalaufwand erforderlich.
-
In einer Variante der Erfindung werden bei einem ersten Ausführen des Schadprogramms auf der virtuellen Maschine alle Verbindungen zu externen Komponenten ausgeschaltet.
-
So erfährt man, welches Verhalten das Schadprogramm ohne einen Zugriff auf externe Komponenten zeigt.
-
In einer weiteren Variante der Erfindung wird bei einem weiteren Ausführen des Schadprogramms ein Zugang zu externen Komponenten schrittweise erweitert bis eine uneingeschränkte Verbindung zu allen externen Komponenten besteht.
-
So erfährt man, welches Verhalten das Schadprogramm mit dem jeweiligen Zugriff auf externe Komponenten zeigt. In dieser vorteilhaften Variante sieht man beispielsweise, mit welchen Command & Control (C&C) Server ein Schadprogramm kommunizieren will bzw. welche Art von Daten mit den Command & Control Servern ausgetauscht wird.
-
In einer optionalen Weiterbildung der Erfindung wird nach einer Konfiguration jede Konfigurationsänderung in einem Konfigurationsbericht festgehalten.
-
Das hat den Vorteil, dass man nach Abschluss der Exploit- und Schadprogramm-Analyse auf alle Daten zugreifen und diese beispielsweise weiter auswerten kann.
-
In einer weiteren Variante der Erfindung erfolgt für den Fall das die resultierende Aktion nicht im Änderungskatalog vorhanden ist, ein Hinweis an einen Administrator und/ oder ein Eintrag in einem Überwachungsbericht und/ oder eine automatische Erweiterung des Änderungskatalogs, indem die nicht bekannte resultierende Aktion und eine zugeordnete neue Konfigurationsänderung in den Änderungskatalog eingetragen wird.
-
In einer Variante der Erfindung wird eine vorgegebene Abfolge von Konfigurationsänderungen durchgeführt.
-
Somit können verdächtige Programme automatisch auf häufig vorkommende Schadmuster ohne aufwändige Analyse der einzelnen Aktionen getestet werden.
-
In einer weiteren Variante der Erfindung werden vorgegebene Konfigurationsänderungen in vorbestimmten Zeitabständen abgeschaltet oder zugeschaltet.
-
Somit können Schadmuster, die zeitabhängig arbeiten oder erst nach einer Anzahl von Aufrufen aktiv werden, erkannt werden
-
Die Erfindung betrifft auch ein Analysesystem zum Testen eines Schadprogramms, mit folgenden Einheiten:
- – einer virtuellen Maschine zum Ausführen des Schadprogramms;
- – eine Protokolleinheit zum Protokollieren von einzelnen Schadprogrammschritten;
- – ein Analysemodul, derart ausgebildet, um aus den ausgeführten Schadprogrammschritten resultierende Aktionen zu analysieren;
- – eine Vergleichseinheit, derart ausgebildet, die resultierende Aktion mit in einem Änderungskatalog eingetragenen Aktionen zu vergleichen und eine der resultierenden Aktion entsprechenden eingetragenen Aktion zugeordneten Konfigurationsänderung zu identifizieren;
- – eine Konfigurationseinheit, derart ausgebildet, die virtuelle Maschine mit der identifizierten Konfigurationsänderung automatisch zu konfigurieren und auf dieser das Schadprogramm erneut auszuführen.
-
Der Vorteil eines solchen Analysesystems ist es, eine einzige virtuelle Maschine bzw. deren Konfiguration und Anbindung an sonstige Komponenten automatisch und sukzessive entsprechend den Aktionen des Schadprogramms zu konfigurieren. So benötigt man keine Vielzahl von virtuellen Maschinen, sondern die gerade benötigte Variante wird dynamisch generiert.
-
In einer optionalen Weiterbildung ist im Änderungskatalog einem Zugriff auf eine nicht vorhandene Komponente als eingetragene Aktion eine automatische Konfiguration einer entsprechenden Komponente auf der virtuellen Maschine als Konfigurationsänderung zugeordnet.
-
Der Vorteil dabei ist, dass es keinen zusätzlichen Zeit- und Personalaufwand gibt, um nicht vorhandene Komponenten im Änderungskatalog einzutragen.
-
In einer Weiterbildung des Analysesystems hat die virtuelle Maschine bei einem ersten Ausführen des Schadprogramms keine Verbindung zu externen Komponenten.
-
In einer Weiterbildung des Analysesystems erweitert die virtuelle Maschine bei einem weiteren Ausführen des Schadprogramms schrittweise die Verbindung zu externen Komponenten bis eine uneingeschränkte Verbindung zu allen Komponenten besteht.
-
In einer weiteren Variante des Analysesystems ist
- – die Protokolleinheit derart ausgebildet, dass die einzelnen Schadprogrammschritte mit protokolliert werden, wobei jede Konfigurationsänderung in einem Konfigurationsbericht festgehalten wird,
- – die Vergleichseinheit derart ausgebildet, dass für den Fall das die resultierende Aktion nicht im Änderungskatalog vorhanden ist, ein Hinweis an einen Administrator oder ein Eintrag in einen Überwachungsbericht erfolgt und/oder eine automatische Erweiterung des Änderungskatalogs erfolgt,
- – die Konfigurationseinheit derart ausgebildet wird, dass eine vorgegebene Abfolge von Konfigurationsänderungen durchgeführt wird.
-
In einer Weiterbildung des Analysesystems werden vorgegebene Konfigurationsänderungen in vorgegebenen Zeitabständen abgeschaltet oder zugeschaltet.
-
Ausführungsbeispiele des erfindungsgemäßen Verfahrens sowie der erfindungsgemäßen Vorrichtung sind in den Zeichnungen beispielhaft dargestellt und werden anhand der nachfolgenden Beschreibung näher erläutert. Es zeigen:
-
1 ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens in Form eines Flussdiagramms;
-
2 ein Ausführungsbeispiel eines erfindungsgemäßen Analysesystems in schematischer Darstellung.
-
Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszeichen versehen.
-
Anhand von 1 wird nun das erfindungsgemäße Verfahren zum dynamischen Konfigurieren eines Analysesystems für die Exploit- und Schadprogramm-Analyse erläutert. Im weiteren wird mit dem Begriff „Komponente“ beispielsweise eine Datei, eine Applikationsschnittstelle, ein Server, ein externes Netzwerk, etc. verstanden.
-
Das Verfahren beginnt im Verfahrensschritt 1, in dem eine virtuelle Maschine mit vorab installiertem Betriebssystem und definierten Software Versionen bereitgestellt wird. Nachfolgend, im Verfahrensschritt 2, wird ein Schadprogramm auf dieser virtuellen Maschine ausgeführt. Dabei werden im Verfahrensschritt 3 sämtliche Schadprogrammschritte mit protokolliert. Es werden beispielsweise Anwendungsprogramm-Aufrufe, sogenannte API Aufrufe, oder Zugriffe auf andere Dateien oder auch Zugriffe auf Netzwerk Adressen beobachtet und aufgezeichnet. Tritt zum Beispiel bei der Ausführung eines Schadprogrammschrittes ein Fehler auf so wird auch dies protokolliert.
-
Im Verfahrensschritt 4 erfolgt dann die Analyse der ausgeführten Schadprogrammschritte und die daraus resultierenden Aktionen. In Schritt 5 findet ein Vergleich der resultierenden Aktionen mit den in einem Änderungskatalog eingetragenen Aktionen statt. Wird im Änderungskatalog eine eingetragene Aktion identifiziert, die der resultierenden Aktion des Schadprogramms entspricht, wird die dazugehörige Konfigurationsänderung, siehe Schritt 6, in der virtuellen Maschine durchgeführt und das Schadprogramm in Schritt 2 erneut ausgeführt.
-
So kann das Schadprogramm beispielsweise einen Zugriff auf eine spezielle Datei xyz.exe einfordern. Bei der Analyse der Schadprogrammschritte wird somit als resultierende Aktion „Zugriff auf Datei xyz.exe“ ermittelt. Im Änderungskatalog steht für eine eingetragene Aktion „Zugriff auf Datei xyz.exe“ dann als zugeordnete Konfigurationsänderung der entsprechende Eintrag „Gewähre Zugriff auf xyz.exe“.
-
Schlägt anderenfalls zum Beispiel das Laden einer bestimmten Datei xyz.dll fehl, weil diese auf der virtuellen Maschine nicht vorhanden ist, wird als resultierende Aktion „Laden der Datei xyz.dll“ ermittelt. Im Änderungskatalog kann beispielsweise auch als eingetragene Aktion „Laden der gewünschten dll-Datei“, vorhanden sein. So lautet der im Änderungskatalog zugehörige Eintrag für die Konfigurationsänderung, „Bereitstellung der entsprechenden dll-Datei“. Damit wird jeweils die angeforderte dll-Datei der virtuellen Maschine bereitgestellt. Im beschriebenen Fall wird die Datei xyz.dll bereitgestellt. Dies ist insbesondere für Zugriffe auf bzw. das Laden von häufig genutzten Dateientypen möglich. Die so neu konfigurierte virtuelle Maschine startet dann das Schadprogramm erneut.
-
Gibt es im Änderungskatalog keinen Eintrag zu einer resultierenden Aktion, so kann ein entsprechender neuer Eintrag für diese Aktion im Änderungskatalog erzeugt und als zugehörige Konfigurationsänderung das „Bereitstellen der Datei xyz.dll“ eingetragen werden, siehe Schritt 7. Die Konfigurationsänderung wird wiederum im Verfahrensschritt 6 durchgeführt und das Schadprogramm im Schritt 2 erneut ausgeführt.
-
Kann zu der neuen resultierenden Aktion keine Konfigurationsänderung ermittelt werden, wird der Änderungskatalog nicht aktualisiert. Das Verfahren endet in Schritt 8.
-
Werden bei der Analyse 4 keine neuen resultierenden Aktionen ermittelt, endet das der Verfahren ebenfalls, siehe Schritt 9.
-
Optional wird nur jeweils eine einzige Konfigurationsänderung vor dem erneuten Durchführen des Schadprogramms vorgenommen, um Änderungen in Programmablauf einer konkreten Maßnahme bzw. Konfigurationsänderung zuordnen zu können.
-
So kann man aus den aus einer Analyse gewonnenen Informationen herausfinden, welche Umgebungsbedingungen angepasst werden müssen, um in einer weiteren Analyse unter diesen neuen Bedingungen weitere Informationen zu gewinnen. In einer Variante werden schrittweise Standard-Konfigurationsveränderungen der Virtuellen Maschine vorgenommen. So können beispielsweise bei der ersten Ausführung des Schadprogramms in der virtuellen Maschine alle Verbindungen zu externen Komponenten ausgeschaltet bleiben und schrittweise bei jeder weiteren Programmausführung der Zugang zu externen Komponenten bis hin zu einer uneingeschränkten Verbindung erweitert werden. Lässt man also beispielsweise bei der ersten Analyse die Netzwerkverbindung ausgeschaltet, erfährt man, welches Verhalten ein Schadprogramm ohne Netzwerkzugang zeigt. Anschließend generiert man eine Virtuelle Maschine mit eingeschränkter Netzwerkverbindung, zum Beispiel mit Zugang zum lokalen Netz Domain Name System (DNS), dann sieht man mit welchen beispielsweise Command & Control (C&C) Servern das Schadprogramm kommunizieren. Abschließend führt man das Schadprogramm mit voller Konnektivität aus, um herauszufinden, welche Arten von Daten mit den beispielsweise Command & Control (C&C) Servern ausgetauscht werden. So lässt sich zum Beispiel schrittweise der Informationsgewinn maximieren.
-
In einer weiteren erfindungsgemäßen Variante existiert beim Testen des Schadprogramms eine vorgegebene Abfolge von Konfigurationsänderungen. So können beispielsweise nacheinander bestimmte Applikationen gestartet werden oder der Speicherzugriff erweitert werden. Das kann ebenfalls in vorgegebenen zeitlichen Intervallen erfolgen.
-
Um später die Konfigurationsänderungen genau nachvollziehen zu können, kann man beispielsweise nach jeder Konfiguration die Konfigurationsänderungen in einem Konfigurationsbericht festhalten.
-
2 stellt schematisch Analysesystem zum Testen eines Schadprogramms dar. Das Analysesystem A weist mindestens eine virtuelle Maschine E1 auf, deren Hardware beispielsweise eine Festplatte und einen Netzwerkadapter aufweist. Auf der Hardware läuft ein entsprechendes Betriebssystem und es gibt beispielsweise verschiedene Anwendungsprogramme. Die Vorrichtung verfügt desweiteren über eine Protokolleinheit E2 zum Festhalten der einzelnen Programmschritte, ein Analysemodul E3, eine Vergleichseinheit E4, eine Konfigurationseinheit E5 und über Anschlüsse zu mindestens einem der externen Server S1 oder einem externen Netzwerk, wie einem lokalen Netzwerk S2 oder dem Internet, Sn. Alle Vorrichtungsbestandteile sind über ein Bussystem B miteinander verbunden.
-
Obwohl die Erfindung im Detail durch das bevorzugte Ausführungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Insbesondere können die einzelnen Beispiele beliebig kombiniert werden.