alphaspirit - Fotolia

Warum Ausbrüche aus virtuellen Maschinen so gefährlich sind

Die Sicherheitslücke im Xen-Hypervisor hat die Risiken von VM-Ausbrüchen deutlich gemacht. Ein potenzielles Risiko auch für virtuelle Container.

Der Zeitpunkt eines Vorfalls kann manchmal dessen Bedeutung steigern. Dieses Phänomen trat ein, als im Oktober 2015 eine Sicherheitslücke die Aufmerksamkeit auf sich zog: die sieben Jahre alte Schwachstelle im Xen-Hypervisor, über die ein VM-Ausbruch möglich ist (CVE-2015-7835).

Die IT-Fachmedien behandelten das Thema ausgiebig. Dennoch war dies 2015 nicht die Schwachstelle, über die am meisten berichtet wurde – oder die am gravierendsten war. Es war noch nicht einmal das Problem, das die meisten Geräte betraf.

Verstehen Sie mich nicht falsch: Es war tatsächlich eine ernsthafte Angelegenheit. Wenn Sie also Xen nutzen und noch keinen Patch für dieses Problem eingespielt haben, sollten Sie das umgehend nachholen. Aber der Grund für die Wichtigkeit lag mehr am Zeitpunkt.

Insbesondere, weil die Schwachstelle Auswirkungen auf eine Vielzahl von Dingen haben könnte, an denen Unternehmen im Bereich Virtualisierung gerade arbeiten – zum Beispiel an Anwendungscontainern.

Was ist ein Angriff über einen VM-Ausbruch?

Die Sicherheitslücke wurde für diejenigen, die mit der Materie nicht vertraut sind, als Angriff per Ausbruch aus einer virtuellen Maschine beschrieben. Dabei handelt es sich um eine Attacke, bei der ein Angreifer aus der virtualisierten Sandbox-Umgebung „flüchtet“ oder „ausbricht“. Diese Umgebung segmentiert einzelne virtuelle Gastinstanzen vom Hypervisor, auf dem sie laufen.

Im Falle eines Typ-1-Hypervisors wie Xen dürfen Instanzen des Gastbetriebssystems in einer kontrollierten sandboxartigen Umgebung laufen, dürfen allerdings nicht – als Sicherheitsvorkehrung – Änderungen am Hypervisor selbst vornehmen oder an anderen, eventuell gleichzeitig vorhandenen Instanzen. Stattdessen wird darauf geachtet, dass sie voneinander strikt isoliert sind. Durch einen VM-Ausbruch kann ein Angreifer diese Trennung aushebeln und unberechtigten Zugriff auf den Hypervisor erlangen. Dabei benutzt er ihn als Sprungbrett, um sich unerkannt durch das gesamte Netzwerk zu bewegen oder andere Gast-Images auf demselben Gerät zu kompromittieren.

Heutzutage ist diese Art von Problem selten, kam aber in der Vergangenheit durchaus vor. Zum Beispiel demonstrierte CVE-2008-0923 im Jahre 2008 einen Directory-Traversal-Angriff auf VMwares Funktion Shared Folders. Dadurch war es einem Angreifer innerhalb des Gastbetriebssystems möglich, auf Dateien auf dem Hypervisor zuzugreifen, die der Administrator dafür nicht freigegeben hatte. Im Großen und Ganzen basieren moderne Hypervisor allerdings auf einer ausgereiften Technologie. Das heißt, die Segmentierungsmechanismen sind robust und haben sich jahrelang in der Praxis bewährt, so dass sie mit derartigen Problemen fertig werden sollten. Das ist zum Teil der Grund, warum der Bug in Xen so überraschend und bemerkenswert ist.

Warum dies jetzt eine so große Rolle spielt

Um auf das eingangs Gesagte zurückzukommen: Einer der am nachdenklichsten stimmenden Aspekte dieses Bugs im Xen-Hypervisor ist der Zeitpunkt. Das Problem tritt zu einer Zeit auf, in der viele Firmen sich mit Anwendungscontainern und deren Möglichkeiten eingehend beschäftigen. Was ist ein Anwendungscontainer? Dazu zählen Produkte wie Docker und Rocket, die es ermöglichen, „Pakete“ zu erstellen. Diese enthalten sowohl eine Anwendung als auch alle übrigen Komponenten (zum Beispiel Bibliotheken, Middleware, Konfigurationseinstellungen und mehr), die zur Ausführung dieser Anwendung notwendig sind.

Dieses Konzept hat wegen der Bedeutung von Containern für Entwickler und Rechenzentren einiges Interesse seitens der Unternehmen geweckt. Container sind portabel und schlank – schlanker jedenfalls als beispielsweise ein Image einer virtuellen Maschine. Darüber hinaus besitzen sie das Potenzial, die Entwicklung zu beschleunigen und Übergänge zwischen Umgebungen – etwa von Entwicklern zur Qualitätssicherung und von dieser zur Produktion – einfacher zu machen. Und da sie die Effizienz im Rechenzentrum erhöhen und die Notwendigkeit beseitigen, viele ähnlich konfigurierte virtuelle Images von Betriebssystemen zu pflegen, können Sie dort ebenfalls die Zuteilungsdichte erhöhen.

Der Schlüssel zu diesem Prozess lautet Segmentierung. Insbesondere werden Anwendungen voneinander und vom zugrunde liegenden Host segmentiert. Dabei laufen sie in einer „sandboxartigen“ Umgebung auf ähnliche Weise, wie Images von Gastbetriebssystemen voneinander und dem Hypervisor bei der Virtualisierung von Betriebssystemen segmentiert sind. Die Analogie stimmt natürlich nicht ganz.

Der Umgang mit Containern und die Virtualisierung von Betriebssystemen sind nicht vollkommen identisch. Aber die Ähnlichkeiten reichen aus, dass der Xen-Hypervisor-Bug als Erinnerung dafür dient, dass Sicherheitslücken für VM-Ausbrüche existieren, jederzeit auftreten können und Sicherheitsprogramme damit rechnen müssen, dass sie auch in Containern vorkommen.

Die Schwachstelle im Xen-Hypervisor dient als rechtzeitige Mahnung, sowohl für die Welt der Container als auch die Welt der Betriebssystem-Virtualisierung.

Während die Betriebssystem-Virtualisierung über recht ausgereifte Segmentierungsmechanismen verfügt, befinden sich Anwendungscontainer noch in einer früheren Phase. Zwar ist das Konzept eines virtuellen Containers seit etlichen Jahren bekannt, aber neue Tools, die dieses Konzept nutzen, sind immer noch relativ neu. Außerdem gibt es einige bekannte Situationen, in denen sich gezeigt hat, dass die Segmentierung zwischen Containern durchlässig ist. Infolgedessen dient die Schwachstelle im Xen-Hypervisor als rechtzeitige Mahnung sowohl für die Welt der Container als auch die Welt der Betriebssystem-Virtualisierung.

Was können Sicherheitsfachleute in dieser Situation unternehmen? Einen Angriff per Ausbruch aus einer sicheren Umgebung ins Kalkül zu ziehen, kann in vielen Fällen einen Vorsprung bedeuten, wenn es darum geht, rechtzeitig Verteidigungsmaßnahmen zu ergreifen. Das heißt, es mag nicht immer in unserer Macht stehen, eine Attacke per Ausbruch zu verhindern, doch wir können nach Mitteln suchen, die uns im Falle eines Falles in eine bessere Ausgangslage versetzen. Zum Beispiel sollten Sicherheitsexperten eine Defense-in-Depth-Strategie in Betracht ziehen, die mehrere Gegenmaßnahmen staffelt, wenn ein Mechanismus nicht ausreicht, um einen Angriff zu stoppen.

Alternativ sollten zusätzlich zu den weiter unten im Stack arbeitenden Kontrollen weitere auf Anwendungsebene berücksichtigt werden. Um einen Angriff schneller zu lokalisieren oder das Gefahrenpotenzial im Falle einer Attacke zu minimieren, sollte man auch an zusätzliche Monitoring- und Datenschutzmaßnahmen, etwa Verschlüsselung, denken.

Ein Problem wie die Sicherheitslücke im Xen-Hypervisor, die einen VM-Ausbruch ermöglicht, kommt vielleicht nicht oft vor. Aber sie kann als wichtiges Indiz für potenzielle Risiken dienen. Gefahr erkannt, Gefahr gebannt – an dieser Erkenntnis sollten sich Sicherheitsfachleute orientieren. Und eine rechtzeitige Mahnung wie die Xen-Schwachstelle kann dabei helfen, dass diese Probleme bei der künftigen Sicherheitsplanung breiten Raum einnehmen.

Folgen Sie SearchSecurity.de auch auf Twitter, Google+ und Facebook!

Erfahren Sie mehr über Anwendungs- und Plattformsicherheit

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close