Dipl.-Inform. Carsten Eilers

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

Kommentare

Ansicht der Kommentare:
Linear | Verschachtelt

Noch keine Kommentare

Kommentar schreiben






Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.



Standard-Text Smilies wie 🙂 und 😉 werden zu Bildern konvertiert.
BBCode-Formatierung erlaubt
Formular-Optionen

Kommentare werden erst nach redaktioneller Prüfung freigeschaltet!