G 5.149 Missbräuchliche Nutzung von Gastwerkzeugen in virtuellen IT-Systemen

Bei vielen Virtualisierungsprodukten werden in den virtuellen IT -Systemen sogenannte Gastwerkzeuge installiert. Mit diesen Gastwerkzeugen können zum Einen die für Betriebssystemvirtualisierung notwendigen Gerätetreiber für virtuelle oder emulierte Geräte wie Netzwerkkarten, Festplatten oder Grafikkarten bereitgestellt werden. Zum Anderen werden mit diesen Werkzeugen innerhalb der virtuellen IT-Systeme Programme zur Kommunikation mit dem Hypervisor oder dem Hostbetriebssystem, zur Steigerung der Leistung des virtuellen IT-Systems und zur Vereinfachung der Bereitstellung neuer virtueller IT-Systeme installiert. Mit Hilfe der Gastwerkzeuge können des Weiteren die virtuellen IT-Systeme überwacht werden. Der Hypervisor oder das Hostbetriebssystem überwacht hierüber beispielsweise die Verfügbarkeit und die Leistung des Gastes.

Die Gastwerkzeuge werden wegen ihrer systemnahen Funktion häufig mit sehr hohen Berechtigungen ausgeführt. Häufig laufen sie im Kontext und damit mit den Rechten des Betriebssystemkerns der virtuellen Maschine.

Funktionen wie die Überbuchung von Hauptspeicher oder Massenspeicherplatz für virtuelle IT-Systeme werden zwischen dem Hypervisor und dem virtuellen IT-System durch die Gastwerkzeuge koordiniert. Diese Funktionen stellen einen wesentlichen Mehrwert der Virtualisierungstechnik im Rechenzentrumsbetrieb dar.

Bei einigen für die Software-Entwicklung spezialisierten Virtualisierungsprodukten ist weiterhin eine Möglichkeit für den komfortablen Aufbau komplexer Testszenarien vorgesehen. Dies wird häufig ebenfalls über die Gastwerkzeuge realisiert oder unterstützt. Hierzu haben die Gastwerkzeuge Schnittstellen, um Skriptdateien auf virtuelle IT-Systeme zu übertragen. Diese Skripte können dann ebenfalls über die Gastwerkzeuge im virtuellen IT-System ausgeführt werden. Es können alle in dem virtuellen IT-System verfügbaren Skriptsprachen genutzt werden. Der Start der Skripte kann entweder beim Systemstart, der Anmeldung eines Benutzers oder auch zu jeder anderen beliebigen Zeit angestoßen werden. Die Schnittstellen benötigen in der Regel keine Netzverbindung zwischen den Gastsystemen, sondern werden über den Hypervisor oder das Hostbetriebssystem bereitgestellt.

Diese Schnittstellen für Skripte können durch einen Angreifer ausgenutzt werden, um eine unerwünschte und nicht mit klassischen Mitteln kontrollierbare Kommunikation über mehrere virtuelle IT-Systeme hinweg aufzubauen. Hierbei überträgt der Angreifer die Daten über die Schnittstelle zum Transport von Skriptdateien.

Weiterhin ist es einem Angreifer bei den beschriebenen für die Software-Entwicklung konzipierten Virtualisierungsprodukten möglich, mittels der Gastwerkzeuge von einem virtuellen IT-System aus eigene Skriptdateien auf ein anderes virtuelles IT-System zu übertragen. Diese können mit den Rechten, mit denen die Gastwerkzeuge laufen, ausgeführt werden. Auf Grund der weit reichenden Berechtigung der Gastwerkzeuge ist dies besonders kritisch, da damit beliebige Aktionen in dem betroffenen Gastsystem ausführbar sind. Es können beispielsweise Schadprogramme gestartet, Benutzer angelegt, Gruppenmitgliedschaften verändert oder die Konfiguration des Betriebssystems des virtuellen IT-Systems manipuliert werden.

Denial of Service durch Überbuchung von Ressourcen

Einige Virtualisierungsprodukte ermöglichen die Überbuchung verschiedener Ressourcen wie Festplattenplatz oder RAM . Konkurrieren beispielsweise zwei virtuelle IT-Systeme um Arbeitsspeicher, kann das Hostbetriebssystem oder der Hypervisor die Gastwerkzeuge anweisen, virtuelles RAM in dem einen virtuellen IT-System zu reservieren. Die physikalische Repräsentation dieses Speichers wird nun durch das virtuelle IT-System nicht genutzt. Der Hypervisor kann diesen physikalischen Speicher dem anderen virtuellen IT-System als virtuelles RAM zur Verfügung stellen. Andersherum kann ein virtuelles IT-System über die Gastwerkzeuge auch Hauptspeicher anfordern.

Hat ein Angreifer ein virtuelles IT-System unter seiner Kontrolle, könnte er über ein Schadprogramm so viel Hauptspeichern anfordern, dass dieser für andere virtuelle IT-Systeme knapp wird. Hierdurch wird die Leistungsfähigkeit der anderen virtuellen IT-Systeme bis hin zu einer Denial of Service-Attacke beeinflusst. Der gleiche Effekt tritt auf, wenn ein Angreifer von außen auf einen Dienst eines virtuellen IT-Systems in der Weise zugreift, dass dieser sehr viel Speicher belegt.

Wird eine Funktion zur Überbuchung von Festplattenplatz genutzt, existiert meist ebenfalls eine Möglichkeit, diesen Speicher wieder frei zu geben. Dies geschieht dadurch, dass unbenutzter Speicherplatz zusammengefasst und als frei markiert wird.

Löst ein Angreifer einen solchen Prozess in einem virtuellen IT-System aus, werden die Speichersysteme stark belastet. Auch hierdurch kann die Leistungsfähigkeit anderer IT-Systeme verringert werden.

Beispiele: