Skip to content

SubVirt und Blue Pill - Rootkits mit Virtualisierung

Ein Rootkit, dass das angegriffene System in eine virtuelle Maschine verlagert, ist nahezu nicht zu entdecken. Um dieses "nahezu"" genauer zu untersuchen, wurde bereits 2006 ein solches Rootkit entworfen - von Microsoft.

SubVirt - ein Rootkit von Microsoft

SubVirt ist ein funktionsfähiger Proof of Concept für ein virtualisierendes Rootkit, von den Entwicklern als "Hypervirus" oder "Virtual-Machine Based Rootkit" (VMBR) bezeichnet, der im Mai 2006 auf der Konferenz IEEE Symposium on Security and Privacy vorgestellt wurde.

Das Rootkit installiert eine virtuelle Maschine und startet darin das eigentliche Betriebssystem des angegriffenen Rechners. Ein bösartiges Rootkit dieses Typs könnte dann Schadsoftware in weiteren virtuellen Maschinen ausführen, ohne dass die (oder das Rootkit selbst) von herkömmlichen Virenscannern erkannt werden können. Die Forscher Samuel T. King und Peter M. Chen von der University of Michigan und Yi-Min Wang, Chad Verbowski, Helen J. Wang und Jacob R. Lorch von Microsoft Research entwickelten zwei solche Rootkits, mit denen sie sowohl Windows XP als auch Linux erfolgreich angreifen konnten. Außerdem entwickelten sie vier Beispiele für von diesen Rootkits eingesetzte Schadsoftware: Einen Webserver für Phishing-Seiten, einen Keylogger, ein Tool zur Suche nach interessanten Dateien und ein Tool zum Aushebeln einer Erkennungsfunktion für virtuelle Maschinen.

Zur Installation von SubVirt benötigt der Angreifer Administrator- bzw. root-Rechte, die er sich z.B. über eine entsprechende Schwachstelle oder durch Social Engineering verschaffen kann. Nach der Installation des Rootkits muss das System neu gestartet werden, damit das Rootkit aktiv wird. Das startet dann eine virtuelle Maschine und darin das Betriebssystem des angegriffenen Rechners.

Erkennbar oder nicht erkennbar, ...

... das ist hier die Frage. Ziel des Entwurfs war es natürlich, Möglichkeiten zur Erkennung solcher Angriffe zu entwickeln. Die besten Chancen bestehen, wenn die Schutz- bzw. Erkennungsfunktionen unterhalb bzw. außerhalb der virtuellen Maschine des Rootkits aktiv werden. Das kann z.B. durch sichere Hardware wie z.B. die damals aktuellen Ansätze zum Trustworthy Computing geschehen, die ein gestartetes Rootkit erkennen. Auch nach dem Booten von einem sicheren Medium wie CD-ROM, USB-Stick oder Netzwerk-Bootserver kann das dann nicht laufende Rootkit erkannt werden. Eine weitere Möglichkeit ist der Einsatz einer sicheren virtuellen Maschine, die dann die Kontrolle über das System hat und eine danach gestartete virtuelle Maschine eines Rootkits erkennen kann.

Software in der virtuellen Maschine des Rootkits kann dieses kaum erkennen. Einige Anhaltspunkte für die Änderungen gibt es jedoch, z.B. die unterschiedlichen Geschwindigkeiten bei Zugriffen auf die Hardware: Direkte Zugriffe sind schneller also die gleichen Zugriffe über die virtuelle Maschine. Außerdem emulieren die virtuellen Maschinen die CPUs u.U. nicht perfekt, so dass es Implementierungsunterschiede zwischen emulierter CPU und echter CPU gibt. Weitere Möglichkeiten bietet der Verbrauch an Ressourcen wie CPU-Leistung, Hauptspeicher und Festplattenplatz.

Während die Entwickler der Ansicht sind, ein virtualisierendes Rootkit sei kaum zu entdecken, sind andere der Ansicht, dass sei leicht möglich.

Blue Pill - Ein PoC ist nicht genug

Wenig später wurde das nächste virtualisierende Rootkit veröffentlicht: Joanna Rutkowska stellte in ihrem Vortrag "Subverting Vista Kernel For Fun And Profit" auf der vom 29. Juli bis 3. August stattfindenden Sicherheitskonferenz Black Hat USA 2006 ihr Rootkit Blue Pill vor (Präsentation als PDF). Einen ähnlichen Vortrag hatte sie bereits Ende Juli auf der SyScan Conference gehalten. Blue Bill wurde für Vista x64 entwickelt, könnte aber auch für Linux oder BSD angepasst werden, aber nur auf der x64-Plattform, da deren Hardware-Virtualisierung verwendet wird

"Blue Pill" bezieht sich dabei auf die blaue Pille in der Matrix, die dafür sorgt, dass der Betroffene in der virtuellen Realität bleibt und diese nicht erkennt. Falls Sie also auf der Suche nach Viagra auf dieser Seite gelandet sind, können Sie jetzt weiter klicken, z.B. hier hin.

Blue Pill hat gegenüber SubVirt einen entscheidenden Vorteil: Es ist kein Neustart notwendig, das Rootkit verschiebt das laufende System in die virtuelle Maschine. Außerdem nutzt Blue Pill die Virtualisierungsfunktionen der Hardware, während SubVirt auf die (kommerziellen) Softwarelösungen VMware und Virtual PC zurückgreift. Dadurch greift das in die virtuelle Maschine verschobene System weiterhin auf die Hardware zu, während Blue Pill als superdünner Hypervisor zwischen Hardware und System sitzt und auf interessante Aktionen wartet. Die können dann protokolliert oder manipuliert werden.

Blue Pill installiert sich nicht auf der Festplatte, sondern bleibt nur bis zum nächste Reboot im Speicher erhalten. Das ist aber kein Problem, denn bei einem Neustart des Systems simuliert Blue Pill diesen nur. Und selbst wenn ein Reboot gelingt, ist der Schaden meist bereits eingetreten und das Rootkit hat sein Ziel erreicht und z.B. Zugangsdaten ausgespäht, über die das Rootkit später erneut installiert werden kann.

Schon kurz nach der Veröffentlichung von Blue Pill gab es Streit darüber, ob das Rootkit wirklich so unerkennbar ist wie behauptet. So bestritt z.B. Anthony Liguori, einer der Entwickler des Xen Hypervisor, dass Blue Pill wie von Joanna Rutkowska behauptet "100% undetectable malware" sei. George Ou erklärte, dass das Erkennen von Blue Bill zwar möglich, aber nicht trivial ist.

Blue Pill, the next Generation

Auf der Konferenz Black Hat USA 2007 stellte Joanna Rutkowska, zusammen mit Alexander Tereshkin eine neue Version von Blue Pill vor, genannt "New Blue Pill" (Präsentation als PDF).

Und wieder gab es Streit darüber, ob so ein Rootkit erkannt werden kann oder nicht. Thomas Ptacek von Matasano Security, Nate Lawson von Root Labs und Peter Ferrie von Symantec behaupteten, dass sich virtuelle Rootkits noch leichter erkennen lassen als normale. Sie haben daher Joanna Rutkowska herausgefordert (die eigentliche Herausforderung sowie die Reaktionen von Thomas Ptacek auf Joanna Rutkowskas Antwort sind leider nach einer Störung im Blog von Matasano nicht mehr online): Sie wollten auf einer der nächsten Black Hat Konferenzen zwei identische Laptops bereitstellen, von denen einer mit dem Rootkit infiziert werden sollte. Ein Testprogramm sollte dann den infizierten Rechner identifizieren.

Joanna Rutkowska hat daraufhin einige eigene Bedingungen gestellt, unter denen sie zu einem derartigen Test bereit wäre: Es sollen fünf Laptops bereit gestellt werden, um ein zufälliges erfolgreiches Raten von einer 50-prozentigen Chance auf unter 3 Prozent zu drücken. Das Testprogramm darf die Rechner weder zum Absturz bringen noch anhalten oder länger als eine Sekunde die gesamte CPU-Leistung belegen, da ein auf einem normalen System laufendes Schutzprogramm das System ebenfalls nicht lahmlegen darf. Sowohl Erkennungsprogramm als auch Rootkit werden nach dem Test als Open Source veröffentlicht. Soweit waren alle Forderungen für Ptacek, Lawson und Ferrie noch akzeptabel. Gescheitert ist der Test an Joanna Rutkowskas letzter Forderung: Da Blue Pill noch nicht fertig entwickelt war, sondern sich noch im Prototyp-Stadium befand, wollte sie für die Entwicklung bezahlt werden. Sie rechnete mit sechs Monaten Vollzeit-Entwicklung für zwei Personen und wollte einen Stundensatz von 200 Dollar pro Person haben. Da sich niemand fand, der die Entwicklung bezahlt, ist es nie zu dem Test gekommen.

In der nächsten Folge gibt es weitere Informationen zu virtualisierenden Rootkits sowie zu SMM-Rootkits

Carsten Eilers


Übersicht über alle Artikel zum Thema

Angst einflößende Schadsoftware: Scareware
Ransomware: Geld her, oder die Daten sind weg
Spyware - Der Spion in Ihrem Computer
Viren - Infektiöse Schadsoftware mit langer Ahnenreihe
Würmer - Schadsoftware, die sich selbst verbreitet
Trojaner - Der Feind im harmlosen Programm
Zeus - Trojaner, Botnet, Schädlingsbaukasten, ...
Exploit-Kits - Die Grundlage für Drive-by-Infektionen
Rootkits
Rootkits - Schadsoftware im System
Rootkits gegen Festplattenverschlüsselung und für BSoD
TDL4 - Gefährliches Botnet oder nur eine neue Sau im digitalen Dorf?
SubVirt und Blue Pill - Rootkits mit Virtualisierung
Rootkits für Xen und SMM
Rootkits (fast) in der Hardware
Rootkits für Smartphones und Mac OS X
Remote Administration Toolkits - Fernwartung in der Grauzone
Botnets - Zombie-Plagen im Internet
Schadsoftware - Infektionen verhindern
Schadsoftware im Überblick

Trackbacks

Dipl.-Inform. Carsten Eilers am : BadBIOS - Ein neuer Superschädling?

Vorschau anzeigen
Dragos Ruiu hat auf seinen Laptops eine Schadsoftware entdeckt, die alle bisher bekannten Schädlinge einschließlich Stuxnet, Flame und Co. alt aussehen lässt: Der BadBIOS genannte Schädling, der sich vermutlich über USB-Lau

Dipl.-Inform. Carsten Eilers am : Ist BadBIOS möglich? Teil 1: Die Infektion des BIOS

Vorschau anzeigen
Ab dieser Folge dreht sich alles um die Frage, ob ein Super-Schädling wie es der von Dragos Ruiu beschriebene BadBIOS sein soll, möglich ist. Sprich, ob seine Funktionen so oder so ähnlich bereits irgendwo implementiert wurden. Die

Dipl.-Inform. Carsten Eilers am : Ist BadBIOS möglich? Teil 5: Stolperstein BIOS

Vorschau anzeigen
In den vorherigen Folgen habe ich für jede BadBIOS zugeschriebene Funktion gezeigt, dass sie bereits zuvor in der einen oder anderen Form vorhanden war. Die Bausteine für so einen Super-Schädling sind also vorhanden. Aber lassen si