Ein Forscherteam der Eidgenössischen Technischen Hochschule Zürich (ETH Zürich) zeigt in einem Paper, wie ein Spectre v2-Angriff für einen Sandbox-Escape in einer virtualisierten Umgebung verwendet werden kann. Schon der Zugriff auf eine einzige isolierte virtuelle Maschine reichte aus, um wertvolle Daten zu stehlen, auf die normalerweise nur der Serveradministrator Zugriff hatte. Anfällig für diesen Angriff sind Server, die auf AMD-Prozessoren (einschließlich der neuesten AMDs mit Zen 5-Architektur) und Coffee Lake von Intel basieren.
Die Gefahr von Spectre-Angriffen für virtuelle Umgebungen
Wir berichten regelmäßig über potenzielle CPU-Schwachstellen, die standardmäßige Hardwarefunktionen ausnutzen, um Geheimnisse zu stehlen. Die allgemeinen Prinzipien dieser Angriffe haben wir bereits ausführlich beschrieben. Details kannst du hier, hier und hier nachlesen.
Obwohl diese Art von Schwachstelle erstmals im Jahr 2018 entdeckt wurde, konnten Forscher bisher keinen einzigen tatsächlichen Angriff nachweisen. Alle Studien mündeten in der Vorstellung, dass theoretisch ein ausgeklügelter und gezielter Angriff möglich ist, der Spectre ähnelt. Darüber hinaus beschränkten sich die Forscher in den meisten Fällen auf ein grundlegendes Angriffsszenario: Sie installierten Malware auf einem Computer und nutzten die Schwachstelle der CPU-Hardware aus, um Geheimnisse zu stehlen. Dieser Ansatz hat jedoch eine Schwäche: Wenn es einem Angreifer gelingt, Malware auf einem PC zu installieren, gibt es erheblich einfachere Methoden, um Daten zu stehlen. Deshalb ist es unwahrscheinlich, dass Spectre und ähnliche Angriffe überhaupt eine Bedrohung für Endbenutzergeräte darstellen. Bei Cloud-Umgebungen sollte man Spectre aber nicht unterschätzen.
Stellen wir uns einen Anbieter vor, der virtuelle Server an Unternehmen oder Privatpersonen vermietet. Jedem Kunden wird eine separate virtuelle Maschine zugewiesen, mit der er beliebige Software ausführen kann. Die virtuellen Systeme mehrerer Kunden können auf demselben Server laufen. Klar getrennte Berechtigungen für den Datenzugriff sind in diesem Fall von höchster Bedeutung. Wenn sich ein Angreifer Zugriff auf eine virtuelle Maschine verschafft hat, muss verhindert werden, dass er die vertraulichen Daten eines anderen Kunden liest oder die Infrastruktur des Anbieters manipuliert, indem er auf die Host-Daten zugreift. Genau in diesem Szenario erscheinen Spectre-Angriffe als wesentlich gefährlichere Bedrohung.
VMScape: Spectre v2-Angriff in der Praxis
In früheren Studien zur Machbarkeit des Spectre-Angriffs haben die Forscher das Angriffsszenario nicht praktisch getestet. Für wissenschaftliche Paper ist dies nicht ungewöhnlich. Eine theoretische Machbarkeitsstudie für ein Datenleck reicht in der Regel aus, um Prozessorhersteller und Softwareentwickler dazu zu bringen, ihre Schutzmethoden zu verbessern und Gegenmaßnahmen zu entwickeln.
Die Autoren des neuen Papers der ETH Zürich sprechen diesen Schwachpunkt direkt an und weisen darauf hin, dass zuvor untersuchte Szenarien für Angriffe auf virtuelle Umgebungen (wie in diesem Paper der ETH Zürich) stets davon ausgingen, dass Angreifer bereits Malware auf einem Host installiert hatten. Genau wie bei Angriffen auf normale Desktop-Computer hat dies nur begrenzten praktischen Nutzen. Wenn der Server bereits kompromittiert ist, wurde schon Schaden angerichtet.
Die Autoren stellen VMScape vor, einen neuen Angriff mit dem Mechanismus Branch Target Injection, der seit Spectre v2 in allen Angriffen verwendet wurde. Darüber haben wir schon mehrfach gesprochen (z. B. hier), fassen es aber trotzdem nochmal kurz zusammen.
Branch Target Injection ist eine Methode, mit der das Prozessorsystem die Sprungvorhersage trainieren und Programme durch spekulative Ausführung beschleunigen kann. Der Prozessor versucht, den nächsten Befehlssatz bereits auszuführen, bevor er die Ergebnisse vorhergehender Berechnungen kennt. Wenn die Richtung (Verzweigung), die die Software einschlägt, richtig erraten wurde, erhöht sich die Leistung erheblich. Sind die Vermutungen falsch, werden die Ergebnisse einfach verworfen.
Unter Zuhilfenahme der Branch Target Injection kann ein Angreifer den Prozessor dazu bringen, auf geheime Daten zuzugreifen und diese bei der spekulativen Ausführung in den Cache zu verschieben. Dann greift der Angreifer die Daten indirekt über einen Seitenkanal ab.
Wie die Forscher feststellten, lässt die Privilegientrennung zwischen dem Host- und Gast-Betriebssystem während der spekulativen Ausführung zu wünschen übrig. Dies ermöglicht eine neue Version des Branch Target Injection-Angriffs, der „Virtualization-based Spectre-BTI“ oder vBTI genannt wird.
Mit vBTI konnten die Forscher beliebige Daten aus dem Speicher des Hosts lesen, obwohl sie nur Zugriff auf eine einzige virtuelle Maschine mit Standardeinstellungen hatten. Auf einem AMD Zen 4-CPU betrug die Datenlesegeschwindigkeit 32 Byte pro Sekunde bei einer Zuverlässigkeit von fast 100 %. Schnell genug, um beispielsweise Datenverschlüsselungsschlüssel zu stehlen, mit denen Informationen von benachbarten virtuellen Maschinen gestohlen werden können.
Ist VMScape eine reale Bedrohung?
AMD-Prozessoren mit Zen-Architektur von der ersten bis zur neuesten fünften Generation haben sich für diesen Angriff als anfällig erwiesen. Dies liegt an den nur geringfügig unterschiedlichen Methoden, mit denen diese CPUs den Schutz vor Spectre-Angriffen implementieren, sowie an der einzigartigen Funktionsweise der von den Autoren erstellten vBTI-Primitive. Bei Intel ist dieser Angriff nur auf Servern mit älteren Coffee-Lake-CPUs aus dem Jahr 2017 möglich. Neuere Intel-Architekturen verfügen über einen verbesserten Schutz, gegen den die aktuelle Version des VMScape-Angriffs keine Chance hat.
Das Verdienst der Forscher besteht darin, dass sie den ersten Spectre v2-Angriff in einer virtuellen Umgebung entwickelten, der realistischen Bedingungen nahekommt. Sie stützten sich nicht übermäßig auf Spekulationen wie beispielsweise bösartige Software auf Hypervisor-Ebene. Der VMScape-Angriff ist effektiv. Er umgeht viele standardmäßigen Sicherheitsmaßnahmen, einschließlich KASLR, und stiehlt erfolgreich ein wertvolles Geheimnis, den Chiffrierschlüssel.
Glücklicherweise entwarfen die Forscher nicht nur den Angriff, sondern lieferten auch gleich eine Lösung. Das Problem erhielt die Schwachstellen-ID CVE-2025-40300 und wurde im Linux-Kernel gepatcht. Dieser gezielte Patch senkt die Rechenleistung nicht wesentlich, was bei softwarebasierten Schutzmaßnahmen gegen Spectre-Angriffe zuvor häufig für Probleme sorgte.
Methoden zum Schutz vertraulicher Daten in virtuellen Umgebungen gibt es schon länger. AMD verfügt über die Technologie „Secure Encrypted Virtualization“ und deren Untertyp SEV-SNP. Intel verlässt sich auf „Trusted Domain Extensions“ (TDX). Diese Technologien verschlüsseln Geheimnisse und machen einen Diebstahl sinnlos. Die Forscher bestätigten, dass SEV für AMD-Prozessoren einen zusätzlichen Schutz vor dem VMScape-Angriff bietet. Mit anderen Worten: Ein realer VMScape-Angriff auf moderne Server ist unwahrscheinlich. Spectre-Angriffe wirken jedoch mit jeder neuen Studie realistischer.
Trotz des theoretischen Charakters der Studie bleiben Angriffe, die die spekulative Ausführung in modernen Prozessoren ausnutzen, relevant. Darum sollten Betreiber virtualisierter Umgebungen diese Schwachstellen und möglichen Angriffe weiterhin in ihren Bedrohungsmodellen berücksichtigen.
Side-Channel-Angriffe
Tipps