14 rubin winter 12
15 Angreifer anlocken Abb. 1: Mit Speck fängt man Mäuse, mit Honeypots Angreifer im Internet. Prof. Dr. Thorsten Holz vor Servern, die seine Arbeitsgruppe als Köder einsetzt.
16 rubin winter 12 Mit Speck fängt man Mäuse IT-Forscher lassen Internetangreifer in den Honeypot tappen Thorsten Holz Fast jeder Internetnutzer ist schon irgendwie mit dessen Schattenseiten in Berührung gekommen, sei es durch unerwünschte Spam- oder Phishing-Nachrichten, Infektionen mit Schadsoftware oder ähnlichen Angriffen im Netz. Solche Angriffe laufen häufig unbemerkt im Hintergrund ab, die Angreifer möchten unerkannt bleiben und möglichst lang unentdeckt Kontrolle über einen gekaperten Rechner haben. Zusammen mit seinen Doktoranden und internationalen Partnern entwickelt Prof. Thorsten Holz (Abb. 1) am Lehrstuhl für Systemsicherheit Verfahren, um mehr über moderne Angriffe auf IT-Systeme zu lernen. Die dabei gewonnenen Informationen dienen dann dazu, bessere Schutzmechanismen zu entwickeln und zukünftige IT-Systeme widerstandsfähiger gegen Schadsoftware und andere Bedrohungen zu machen. ner des Opfers, die dem Angreifer die Kontrolle über den Rechner erlaubt. Deshalb wird diese Software typischerweise als Bot (Kurzform von Robot) bezeichnet. Der mit einem Bot infizierte Rechner wird dann beispielsweise dazu benutzt, Spam-Nachrichten zu verschicken oder vertrauliche Daten des Nutzers wie etwa Passwörter zu stehlen. Die Angreifer benutzen die gekaperten Rechner auch zur Durchführung von sogenannten Distributed Denial-of-Service-Angriffen (DDoS-Angriffen), bei denen alle Bots unter der Kontrolle des Angreifers so viele Anfragen an einen Server schicken, dass dieser überlastet und nicht mehr für legitime Anfragen erreichbar ist. Die Möglichkeiten eines Angreifers sind dabei fast unbeschränkt, da er die komplette Kontrolle über das Opfersystem hat. Aus der Sicht eines Angreifers sind solche Angriffe noch effizienter, wenn er es schafft, eine große Anzahl an Rechnern gleichzeitig zu kompromittieren: Wenn der Angreifer 50 000 Bots kontrolliert, kann er deutlich mehr Spam-Nachrichten versenden, als wenn er nur 500 Bots unter seiner Kontrolle hat. Die Verwaltung von vielen übernommenen Rechnern ist allerdings komplex. Der Angreifer setzt ein sogenanntes Botnetz auf, um alle diese Rechner kontrollieren zu können. Ein Botnetz ist ein Netzwerk aus kompromittierten Maschinen, die unter der Kontrolle eines Angreifers stehen: Der Angreifer kann Beinfo 1 Angriffe auf IT-Systeme laufen häufig im Verborgenen ab. Man bemerkt sie oft erst, wenn es eigentlich schon zu spät ist. Das Ziel eines Angreifers ist es, den Rechner des Opfers zu kompromittieren, die Kontrolle über ihn zu erlangen und dabei unentdeckt zu bleiben. Die Angriffe erfolgen über verschiedene Wege, beispielsweise durch E-Mail-Nachrichten mit schädlichen Anhängen, bösartige Webseiten, die eine Schwachstelle im Webbrowser ausnutzen, oder durch Ausnutzung von Sicherheitslücken in Programmen. Nach einem erfolgreichen Angriff installieren die Angreifer eine Schadsoftware auf dem Rech- Schadsoftware für Smartphones Moderne mobile Geräte wie Smartphones oder Tablets werden mehr und mehr zu einem interessanten Ziel für Angreifer: Nutzer speichern auf diesen Geräten viele private Informationen ab, die wertvolle Daten für Angreifer darstellen. Im Rahmen des vom Bundesministerium für Bildung und Forschung (BMBF) geförderten Projekts Mob- Worm untersuchen wir momentan, wie die Idee hinter Honeypots auf Smartphones übertragen werden kann. Wir entwickeln auch Analysetechniken für Smartphone- Apps, um automatisiert einen Bericht zum Verhalten einer App erzeugen zu können. Mit solchen Techniken können wir dann neue Schadsoftware für Smartphones frühzeitig entdecken und entsprechend reagieren. Darüber hinaus entwickeln wir auch Schutzmaßnahmen für Android und ios, um diese Betriebssysteme widerstandsfähiger gegen Angriffe zu machen.
17 Befehl Angreifer Infizierter Rechner C&C Server Abb. 2: Schematische Darstellung eines Botnetzes. Der Angreifer kompromittiert möglichst viele Rechner und steuert sie über einen Command & Control-Server (C&C-Server). Ohne dass ihre Besitzer es bemerken, versenden die gekaperten Rechner dann zum Beispiel Spam-Mails. fehle zu den einzelnen Bots senden, und diese führen diese Kommandos dann aus, zum Beispiel um Spam-Meldungen zu versenden, Informationen zu stehlen oder DDoS-Angriffe zu starten. Somit sind Botnetze eine der Wurzeln von Onlinekriminalität und bieten eine Plattform für diese Art von Verbrechen. Abb. 2 zeigt den schematischen Aufbau eines Botnetzes. Der Angreifer kommuniziert über den sogenannten Command and Control (C&C)-Server mit den kompromittierten Maschinen: Die Bots verbinden sich mit dem C&C-Server, mit dessen Hilfe sie die Kommandos des Angreifers empfangen. Bei der ersten Generation von Botnetzen verlief die Kommunikation über das Internet Relay Chat (IRC)-Protokoll, ein bekanntes Chat-Protokoll. Die Bots bauten eine permanente Verbindung zu einem bestimmten Server auf und empfingen von dort neue Befehle. Heute benutzen Angreifer jedoch die Kommunikation per HTTP-Protokoll ohne dauerhafte Verbindung zum C&C-Server: Die Bots kontaktieren periodisch den C&C-Server und fragen neue Befehle an. Aus Angreifersicht hat dies viele Vorteile, vor allem da HTTP ein weit verbreitetes Protokoll ist und die Anfragen der Bots im normalen Webverkehr schwierig zu entdecken sind. Des Weiteren existieren Botnetze mit proprietären Kommunikationsprotokollen, bei denen der Angreifer ein eigenes Kommunikationsformat entwickelt hat. Solche Botnetze sind dann schwieriger zu durchschauen, da man als Verteidiger zunächst das Protokoll analysieren und verstehen muss. Neben Botnetzen mit einem zentralen C&C-Server existieren auch solche, die ein Peer-to-Peer-Protokoll als Kommunikationsmechanismus nutzen: Die einzelnen Bots werden als Teil der Kommunikationsinfrastruktur benutzt. Deshalb ist es deutlich schwieriger, diese Art von Botnetzen zu studieren und dagegen vorzugehen. Im Rahmen der Arbeit am Lehrstuhl studieren wir Botnetze systematisch und entwickeln effektive Erkennungsmethoden. Die Grundidee unserer Methodik zur Abwehr von Botnetzen besteht aus drei Schritten und macht sich die grundlegenden Eigenschaften dieser Netze zu Nutze: Die Hauptursache des Problems besteht in dem Kommunikationskanal zwischen dem Angreifer und den kompromittierten Systemen. Wir versuchen, diesen Kanal automatisiert zu entdecken und zu stören, beziehungsweise ihn im Idealfall komplett abzuschalten. Da Angreifer im Internet unerkannt bleiben wollen, muss man ihnen eine Falle stellen. Das kann ein sogenannter Honeypot sein: Der englische Begriff bezeichnet für gewöhnlich einen Gegenstand, von dem eine gewisse Attraktivität ausgeht, die bestimmte, nicht nur tierische, Interessenten anzulocken vermag. Honeypots eignen sich demnach als Köder, um Aufmerksamkeit auf einen Gegenstand zu lenken. Dieses Prinzip der Köderung kann auch im Bereich der IT-Sicherheit angewendet werden: Hier werden elektronische Köder ausgelegt, um das Verhalten von Angreifern leichter studieren zu können. Köder sind Netzwerkressourcen (beispielsweise Computer, Router oder Switches), deren Wert darin besteht, angegriffen und kompromittiert zu werden (Abb. 3). Diese Honeypots haben keine spezielle Aufgabe im Netzwerk, sind aber ansonsten nicht von regulären Komponenten zu unterscheiden. Sie sind mit spezieller Software ausgestattet, welche die anschließende Forensik eines Angriffs deutlich erleichtert. Netzwerke von Honeypots, so genannte Honeynets, bieten verschiedene Arten von elektronischen Ködern an und können so verschiedene Arten von Angreifern anlocken. Im Gegensatz zu einer herkömmlichen forensischen Untersuchung erlauben gezielte Veränderungen im Betriebssystem des Honeypots das direkte Mitschneiden aller Aktivitäten eines Angreifers. Wir erhal-
18 rubin winter 12 Abb. 3: Vermeintlich leichte Beute: Speziell präparierte, schlecht geschützte Netzwerkressourcen locken als Köder Angreifer an. Tappen sie in die Falle, können die Forscher ihre Taktik analysieren. ten deshalb konkrete Informationen zum Ablauf eines Angriffs. Durch die Vielfalt der so gewonnenen Daten kann man schneller und genauer die Angriffswege, Motive und Methoden von Angreifern erforschen. Auch kann man die benutzten Angriffswerkzeuge, die normalerweise nach erfolgter Kompromittierung gelöscht werden, sofort sicherstellen. Honeypots erlauben deshalb die Untersuchung von Angreifern und bieten interessante Einblicke in ein ansonsten nur schwer zu untersuchendes Gebiet. Schon relativ früh hat es Versuche gegeben, mit entsprechenden Modifikationen eines Computersystems die Aktivitäten von Angreifern aufzuzeichnen. Diese Versuche erfolgten jedoch nicht systematisch, sondern aus der aktuellen Situation heraus, in der ein Einbruch beobachtet wurde. In den letzten Jahren wurden aber mehr und mehr Arten von Honeypots entwickelt, um verschiedene Arten von Angriffen im Internet zu studieren. Mittlerweile hat sich die Methodik etabliert und wird in zahlreichen akademischen und kommerziellen Bereichen eingesetzt. Wir haben, teilweise in Zusammenarbeit mit (internationalen) Partnern, in den letzten Jahren einige Arten von Honeypots entwickelt und betreiben im Rahmen unserer Forschungsarbeit auch einige Honeynets, um aktuelle Informationen zu Angriffen zu sammeln. Der Honeypot-Ansatz ist sowohl aus praktischer als auch aus theoretischer Sicht interessant für den Bereich der IT-Sicherheit. Aus praktischer Sicht erlauben detaillierte Informationen über das Verhalten von böswilligen Crackern (den so genannten Black-Hats), die Abwehrmaßnahmen in unterschiedlichen Umgebungen effizienter und effektiver zu gestalten. Effizienter werden Abwehrmaßnahmen dadurch, dass man sich auf relevante Angriffe konzentrieren kann, also nur die Angriffe untersucht, die auch eine konkrete Bedrohung für die eigenen Rechner in einem Netzwerk darstellen. Effektiver werden Abwehrmaßnahmen, indem mit Hilfe der Honeypots neue Schwachstellen und Verwundbarkeiten entdeckt und schnell analysiert werden können: Benutzt der Angreifer einen bisher nicht dokumentierten An-
19 Abb. 4: Die Arbeitsgruppe von Thorsten Holz schlägt den Gegner mit seinen eigenen Waffen. Da die Sicherheitsspezialisten intelligente Gegenspieler haben, müssen sie damit rechnen, dass auch diese sich Tricks und Kniffe von ihnen abschauen. griffsweg, so lernen wir etwas über neue Sicherheitslücken und können deshalb die Abwehrmaßnahmen verbessern. Aus theoretischer Sicht bilden Honeypots interessante Beispiele des Dual Use- Prinzips der IT-Sicherheit: Man bekämpft Angreifer mit ihren eigenen Methoden. Die Fähigkeiten und die Werkzeuge, die ein Verteidiger anwendet, unterscheiden sich kaum von denen der Angreifer. So entstand beispielsweise die Honeynet-Software Sebek aus einem verbreiteten Hackerwerkzeug. Außerdem versucht der Betreiber eines Honeypot genau das, was ein erfahrener Angreifer ebenfalls tun würde, nämlich seine Existenz im System mit allen Mitteln zu verbergen. Darüber hinaus tragen Honeypots auch zu einem im IT-Sicherheitsbereich oft anzutreffenden Wettlauf bei: Die Angreifer können die Funktionsweise von Honeypots studieren und entsprechend bessere Angriffsmethoden entwickeln, was dann weitere Innovationen auf der Verteidiger-Seite erfordert. Dies führt zu einem kontinuierlichen Entwicklungsprozess, bei dem beide Seiten immer wieder neue Methoden entwickeln (Abb. 4). Um Botnetze zu studieren, benutzen wir eine spezielle Art von Honeypots. Die Grundidee dahinter ist die Nachbildung (Emulation) von Schwachstellen: Wir emulieren die Teile eines Computersystems, die eine Schwachstelle enthalten und als Einfallstor während eines Angriffs dienen (Abb. 5). Wir spielen dem Angreifer also nur vor, ein verwundbares System zu betreiben, in Wirklichkeit haben wir aber die volle Kontrolle während des Angriffs. Dies erlaubt es uns, nach einem Angriff das System schnell wieder auf den Ursprungszustand zurückzusetzen, und wir können den Honeypot sofort erneut einsetzen, um neue Angriffe zu beobachten. Wird der Honeypot angegriffen, so kann der Angreifer nicht unterscheiden, ob er ein reales System oder einen Köder angreift. Als Resultat können wir automatisiert neue Exemplare von Schadsoftware sammeln ; an einem typischen Tag können dies Hunderte sein. Eine manuelle Analyse der gesammelten Computerprogramme ist kaum möglich, insbesondere da die Analyse einer einzelnen Datei Tage oder sogar Wochen dauern kann. Deshalb wurden in den letzten Jahren Techniken und Tools entwickelt, um eine automatisierte Analyse von Schadsoftware durchführen zu können. Der Schwerpunkt unserer Forschung liegt auf der dynamischen Analyse von Programmen: Das zu untersuchende Programm wird in einer speziellen Umgebung ausgeführt, in der wir zur Laufzeit das Verhalten des kompletten Systems beobachten können. Dazu erweitern wir bestimmte Teile des Systems um Komponenten, die Veränderungen aufzeichnen und uns einen detaillierten Überblick zu den einzelnen Aktionen eines Programms liefern. Dadurch können wir beispielsweise Änderungen am Dateisystem oder an der Windows Registry beobachten sowie den Netzwerkverkehr aufzeichnen. Nach dem Abschluss der dynamischen Analyse wird ein Verhaltensreport erstellt, der das beobachtete Verhalten zusammenfasst (Abb. 6). Im Fall der Analyse eines Bots enthält ein solcher Report die Adresse des C&C-Servers sowie Informationen über das verwendete Kommunikationspro-
20 rubin winter 12 Abb. 5: Ein Blick in die Trickkiste: Die Forscher bilden Schwachsstellen nach, behalten bei einem Angriff aber die volle Kontrolle und können den Angreifer live bei der Arbeit beobachten. tokoll. Wir erhalten also wertvolle Informationen über das zu der analysierten Schadsoftware gehörende Botnetz. Eine solche Analyse ist technisch sehr anspruchsvoll, vor allem, da wir keinen Quellcode von der Schadsoftware haben, sondern sie im Binärformat analysieren: Wir führen die Untersuchung auf einer sehr niedrigen Ebene aus, indem wir die einzelnen Befehle studieren, die das Programm auf dem Prozessor eines Computers ausführt. Darüber hinaus haben wir einen intelligenten Gegenspieler: Der Angreifer möchte uns das Leben schwer machen und entwickelt deshalb Techniken, um eine automatisierte Analyse kompliinfo 2 Wie kann ich mich schützen? Ein Angreifer versucht typischerweise, eine Sicherheitslücke in einem Programm auszunutzen und darüber die volle Kontrolle über den Computer des Opfers zu erlangen. Um solche Angriffe zu verhindern, ist deshalb das zeitnahe Einspielen von Sicherheitsupdates nötig: Immer wenn Microsoft oder ein anderer Hersteller ein Update zur Verfügung stellt, sollte man es ausführen und so den eigenen Computer auf den neuesten Stand bringen. Insbesondere Hilfsprogramme wie Adobe Acrobat Reader, Adobe Flash Player, Java und Webbrowser darf man dabei nicht vergessen, vor allem da diese Programme in letzter Zeit viele Sicherheitslücken aufgewiesen haben. Darüber hinaus ist ein gesundes Misstrauen im Internet nötig: Man sollte nicht auf alle E-Mail- Anhänge klicken, seine persönlichen Daten nicht überall preisgeben und generell etwas misstrauisch im Netz unterwegs sein. ziert zu gestalten. Viel Entwicklungszeit ist deshalb nötig, um robuste und effiziente Analysetechniken zu entwickeln. Basierend auf dem erstellten Analysereport für eine Schadsoftware benutzen wir die so gesammelten Informationen zur Infiltrierung des Botnetzes. Dies wird technisch so umgesetzt, dass wir das Verhalten eines Bots nachbilden und uns in den Fernsteuerungskanal einschleusen: Wir geben uns als Bot aus und können so ein Botnetz von innen beobachten. Wir empfangen beispielsweise vom C&C-Server die aktuell vom Angreifer ausgesendeten Befehle. Was ein bisschen wie ein James- Bond-Film klingt, erlaubt uns einen detaillierten Einblick in den Aufbau und die Funktionsweise von Botnetzen. Letztlich benutzen wir die in der Infiltrierungsphase gesammelten Informationen, um das Netz abzuschwächen. Dies geschieht beispielsweise, indem wir den Kommunikationskanal schließen, so dass der Angreifer keine Befehle mehr zu den kompromittierten Maschinen senden kann. Das Abschalten des Kommunikationskanals kann nicht vollständig automatisiert werden, aber unser Verfahren liefert wertvolle Informationen, die als Indizien für die Ermittlungen in diesem Bereich dienen können. Des Weiteren können auf der Basis
21 der von uns gesammelten Daten die Besitzer von infizierten Rechnern informiert werden, damit diese ihre Maschine von der Schadsoftware säubern, beispielsweise mit Hilfe von Antivirenprogrammen oder Initiativen wie www.botfrei.de. Die erläuterten Schritte sind sowohl für Botnetze mit zentralem C&C-Server als auch für solche mit Peer-to-Peer-Kommunikationsmechanismen umsetzbar. In empirischen Untersuchungen haben wir die technische Machbarkeit sowie die Automatisierbarkeit der Methode demonstriert: Während das Sammeln sowie die Analyse von Schadsoftware komplett automatisierbar sind und entsprechende Tools entwickelt wurden, erfordert die Infiltrierung von Botnetzen einen (beschränkten) manuellen Aufwand, um den Kontext des Kommunikationsprotokolls zu verstehen und eine Nachbildung zu implementieren. Im Rahmen unserer Arbeiten haben wir dies für IRC, HTTP, einige proprietäre Protokolle sowie für das Peer-to-Peer-Botnetz Storm Worm umgesetzt und eine entsprechende Infiltrierung ermöglicht. In empirischen Experimenten haben wir über einen Zeitraum von vier Monaten etwa 900 IRC-basierte Botnetze infiltriert und detaillierte Informationen über diese Netze gesammelt. Mehr als 500 000 Bots konnten wir in dieser Zeitspanne beobachten, was die weite Verbreitung dieser Gefahr illustriert. Die typische Größe eines Botnetzes lag zwischen einigen hundert Bots bis hin zu mehr als 40 000 Bots. Zusätzlich konnten wir mehr als 300 DDoS-Angriffe gegen etwa 100 Opfersysteme erfassen. Die gesammelten Informationen haben wir an entsprechende Stellen (zum Beispiel Antivirenhersteller) weitergegeben, die dann gegen die Botnetze vorgegangen sind. In ähnlichen Experimenten haben wir eins der größten Spam-Botnetze infiltriert und 16 Kontrollserver dieses Netzes im Detail untersucht. Diese C&C-Server wurden von den Spammern benutzt, um Anweisungen an Bots zu schicken, die dann die eigentlichen Spam-Nachrichten versendet haben. Die bei der Analyse erhaltenen Informationen liefern einen interessanten Einblick in die Arbeitsweise von Spammern: Die Angreifer hatten pro Tag Kontrolle über etwa 120 000 Rechner und haben typischerweise etwa 10 000 dieser Rechner zum Spam-Versand benutzt. Innerhalb eines Monats haben die Angreifer mit diesem Botnetz etwa 87 Milliarden Spam-Nachrichten versendet. Diese immens große Zahl verdeutlicht, weshalb Spam heutzutage immer noch ein sehr lukratives Geschäft für Angreifer ist: Auch wenn nur sehr wenige Personen (deutlich weniger als 0,001 %) auf Spam hereinfallen und etwas kaufen, lohnt sich aufgrund der hohen Anzahl an versendeten Nachrichten das Geschäftsmodell. In Untergrund-Foren kann man Spam- Botnetze mieten, der Versand von einer Million Spam-Nachrichten kostet typischerweise zwischen 100 und 500 Dollar. Darüber hinaus kann man in solchen Foren auch Zugriff auf infizierte Rechner kaufen: Wenn man als Angreifer weitere Schadsoftware auf einem solchen Rechner installieren möchte, dann kostet dieser Service etwa 300 bis 800 Dollar pro 10 000 Installationen von Schadsoftware. Prof. Dr. Thorsten Holz, Lehrstuhl Systemsicherheit, Fakultät für Elektrotechnik und Informationstechnik Abb. 6: Für jede gesammelte Schadsoftware wird in einem automatisierten Prozess ein Analysereport erstellt, der das zur Laufzeit beobachtete Verhalten zusammenfasst. Dabei wird auffälliges Verhalten automatisch als verdächtig markiert und insbesondere der Netzwerkverkehr wird auf mögliche C&C-Kommunikation hin untersucht. In diesem Fall wurde ein HTTP-Bot analysiert, und einige verdächtige Aktionen der Schadsoftware wurden entdeckt.