Gefahrensucher
Client-basierte Honeypots helfen Schadcode im Internet aufzuspüren und können Hinweise auf bislang unbekannter Lücken in Browsern geben. Das Projekt Honeyclient bietet erste Werkzeuge für die eigene Suche.
- Daniel Bachfeld
Virtuelle Honigtöpfe haben sich einen festen Platz in der Security-Szene erobert, liefern sie doch interessante Informationen über Vorgehensweise und Werkzeuge der Einbrecher. Und je besser man versteht, wie Angreifer arbeiten, desto besser kann man sich dagegen schützen. Der klassische Server-basierte Honeypot hat jedoch zwei Nachteile: Man muss abwarten, bis sich ein Angreifer mal bequemt einzubrechen. Zudem verschiebt sich der Fokus der Angriffe immer mehr in Richtung Clients. Inbesondere Browserlücken werden immer mehr zu einem Sicherheitsproblem, wie unter anderem H.D. Moore mit seinem "Month of Browserbugs" eindrucksvoll beweist, indem er fast täglich eine neue Schwachstelle im Internet Explorer veröffentlicht. Ein traditioneller Honeypot kann solche Bedrohungen jedoch nicht registrieren.
Client-basierte Honeypots füllen diese Lücken aus, um aktuelle Aktivitäten beim Haupteinfallstor eines Windows-PCs zu überwachen. Mit einem löchrigen Internet Explorer surfen sie automatisch im Web und versuchen, sich infizieren zu lassen. Allerdings ist dies nicht unbedingt zeitsparender. Eine präparierte Seite, die eine Lücke im Internet Explorer ausnutzt, um den Rechner zu infizieren, will erstmal gefunden werden. Um die Wahrscheinlichkeit zu erhöhen, füttert man die Rechner mit URLs, die bereits in der Vergangenheit unangenehm aufgefallen sind.
Im Anschluß an den Besuch eines Webservers wird der PC mit dem vorherigen Zustand verglichen. Je nach Art einer Änderung, etwa einem neu hinzugekommenen Eintrag in der Registry oder einen neuen Datei in einem Verzeichnis, lässt sich daraus schließen, ob der PC manipuliert wurde. Im Nachgang kann man dann die virulente Seite auch manuell untersuchen, um herauszufinden, was genau abläuft und wie der Client infiziert wird. Unter Umständen trifft man so auch auf Zero-Day-Exploits, also Angriffe auf Lücken, die noch nicht öffentlich bekannt sind und für die es noch gar keinen Patch gibt.
Minensucher
Derzeit gibt es zwei Projekte, die sich mit Client-basierten Honeypots beschäftigen: Microsofts Strider HoneyMonkey und Honeyclient. Ersteres arbeitet mit virtuellen XP-Systemen, die in großer Zahl mit verschiedenen Patch-Ständen das Internet abgrasen [1]. Die Auswertung, ob ein System infiziert wurde, erfolgt über den Strider Flight Data Recorder. Zusätzlich kontrollieren Microsofts hauseigene Tools Strider Ghostbuster und Strider Gatekeeper das System auf eine Infektion mit Rootkits oder Spyware. Nach jedem Besuch wird das in einer virtuellen Umgebung laufende Strider HoneyMonkey Exploit Detection System neu und schädlingsfrei gestartet. HoneyMonkey ist so gesehen eigentlich eher ein Dienst. Leider stellen die Redmonder ihre Tools nicht öffentlich zur Verfügung.
Für eigene Experimente bietet sich das quelloffene Honeyclient von Kathy Wang an [2]. Zwei Perlskripte für Windows XP schicken den Internet Explorer auf vorgegebene Seiten und checken danach die Registry und Inhalte festgelegter Verzeichnisse (checklist)auf ihre Integrität. Dabei folgt der Internet Explorer auch den Links innerhalb einer Seite und auf Wunsch auch den Links auf externe Seiten. Gesteuert wird der Browser vom Skript driver.pl, das ihm die aufzurufenden URLs übergibt. Damit driver.pl weiß, welche Links eine Seite enthält, surft der Browser über den Proxy proxy.pl, der die Antworten eines Servers auseinander pflückt und nach internen und externen Links (extlinks, intlinks) sortiert in Dateien speichert.
Hat das Skript driver.pl den Internet Explorer durch alle inneren Links der angegebenen Seite gesteuert, sucht es nach Änderungen im System. In der Datei changes finden sich dann die Änderungen, die während des Suchlaufs aufgetreten sind. Sind plötzlich neue Dateien oder Registryeinträge ohne zutun des Anwenders hinzugekommen, war irgendein Teil der besuchten Seite infektiös und hat eine Sicherheitslücke im Browser ausgenutzt.
Praxis
Da Windows von Hause aus kein Perl unterstützt, muss der Anwender erst einmal einen Perl-Interpreter nachinstallieren, am besten das bewährte ActivePerl-Paket. Die zwei Honey-Client-Skripte proxy.pl und driver.pl entpackt man aus dem herunterladbaren Archiv in ein beliebiges Verzeichnis. In der Datei driver.pl muss noch der Pfad des Browsercaches angepasst werden, Einzelheiten dazu sind in der README-Datei des Archivs zu finden. Zusätzlich ist es noch erforderlich, eine Kopie von iexplorer.exe im Wurzelverzeichnis von c:\ abzulegen.
Zuerst startet man proxy.pl, anschließend driver.pl mit Angabe der URL. Das Skript driver.pl geht nun alle in checklist.txt definierten Unterverzeichnisse rekursiv durch und bildet über alle Dateien MD5-Hashes. Danach sichert es den Zustand der Registry, was recht viel Zeit in Anspruch nimmt, bis das Skript mit dem eigentlichen Surfen beginnt.
Während mehrerer Tests liefen die zwei Perlskripte stabil, jedoch fanden wir keine Seiten, die ein vollständig ungepatches Windows XP ohne Nutzerinteraktion infizieren wollten. Auch auf den von uns besuchten Warez- und Porno-Seiten wurden wir nicht infiziert. Auch die Entwicklerin von Honeyclient Kathy Wang stellt in Vorträgen zu ihrem Projekt fest, dass Porno- und "Penis Enlargement"-Seiten überraschenderweise kaum Malware verbreiten. Surft man nur tausende nicht infizierter Seiten an, kann man daraus nicht schließen, dass das Web sicher sei. Um möglichen schädlichen Seiten besser auf die Schliche zu kommen, haben Aidan Lynch und Daragh Murray von der Dublin City University ein Skript zur Verfügung gestellt, das in Outlook Mails nach URLs durchforstet und diese an driver.pl weiterleitet [3]. Nicht selten enthalten Spam-Mails nämlich Links auf Virenschleudern.
Fazit
Mit den gewonnenen Informationen kann ein Administrator an seinen Netzgrenzen beispielsweise mit Intrusion Prevention Systemen und weiteren Filtern Maßnahmen treffen, um die Surfer in seinem Netz vor solchen Attacken zu schützen. Ein Sicherheitsspezialist kann aus dieser Analyse einen Fehlerbericht basteln und so zu Ruhm und Ehre gelangen - so er denn der erste ist, der eine bislang unbekannte Lücke veröffentlicht.
Das Honeyclient-Projekt wird von Kathy Wang bei der Mitre Corporation, die auch die CVE-Nummer für Schwachstellen und CME-Nummern für Viren verwalten, beständig weiterentwickelt und könnte damit ein vielversprechendes Projekt zum Präventivschutz werden.
Literatur & Tools
[1] Strider HoneyMonkey Exploit Detection
[2] Honeyclient Development Project
[3] Email Honeyclient (dab)