Neue CPU-Sicherheitslücke macht Virtual-Machine-Umgebungen angreifbar

- EN- DE
Die Sicherheitslücke CacheWarp stellt ein Risiko für Virtual Machines auf Basis
Die Sicherheitslücke CacheWarp stellt ein Risiko für Virtual Machines auf Basis von AMD-Prozessoren dar. Bildquelle: CISPA
Von Falko Schoklitsch

Forschende der TU Graz und des Helmholtz-Zentrums für Informationssicherheit haben eine Sicherheitslücke identifiziert, durch die Daten auf virtuellen Maschinen mit AMD-Prozessoren unter die Kontrolle von Angreifern fallen können.

Im Bereich des Cloud Computing, also dem On-Demand-Zugriff auf IT-Ressourcen über das Internet, spielen sogenannte Trusted-Execution Environments (TEEs) eine große Rolle. Sie sollen sicherstellen, dass die Daten auf den virtuellen Arbeitsumgebungen (Virtual Machines) sicher sind und nicht manipuliert oder gestohlen werden können. Forschende des CISPA Helmholtz-Zentrums für Informationssicherheit und der TU Graz haben nun eine Sicherheitslücke in AMD-Prozessoren entdeckt, über die Angreifende in virtuelle Arbeitsumgebungen auf Basis der Trusted-Computing-Technologien AMD SEV-ES und AMD SEV-SNP eindringen können. Dies gelingt durch das Zurücksetzen von Datenveränderungen im Pufferspeicher (Cache), wodurch die Eindringlinge uneingeschränkten Zugriff auf das System erhalten. Als Namen für diese softwarebasierte Angriffsmethode haben sie ,,CacheWarp" gewählt.

CacheWarp dreht die Zeit im Speicher zurück

AMD Secure Encrypted Virtualization (SEV) ist eine Prozessorerweiterung, die eine sichere Trennung zwischen virtuellen Maschinen und der dahinterliegenden, Hypervisor genannten, Software zur Verwaltung der benötigen Ressourcen Übernimmt. AMD SEV verschlüsselt dafür die Daten auf der Virtual Machine. Mit CacheWarp können Datenmodifikationen auf dieser Arbeitsumgebung wieder rückgängig gemacht und dem System ein veralteter Status vorgegaukelt werden. Das ist etwa dann problematisch, wenn eine Variable festlegt, ob ein User erfolgreich authentifiziert ist oder nicht. Eine erfolgreiche Authentifizierung wird hierbei meist mit ,,0" gekennzeichnet, was allerdings der gleiche Wert ist, mit dem die Variable initialisiert wird. Gibt ein potenzieller Angreifer ein falsches Passwort ein, wird die Variable mit einem Wert ungleich ,,0" Überschrieben. Durch CacheWarp lässt sich diese Variable aber in den initialen Status zurücksetzen, als sie eine erfolgreiche Authentifizierung ausgewiesen hat. Dadurch kann ein Angreifer eine bereits authentifizierte Sitzung herstellen.

Möglich wird das durch eine unerwartete Interaktion zwischen CPU-Instruktionen und AMD-SEV, durch die der Cache in den alten Zustand versetzt werden kann. Hat sich der Angreifer dadurch Zugang verschafft, kann er sich in weiterer Folge auch das volle Zugriffsrecht eines Administrators auf die Daten in der virtuellen Maschine erschleichen. Bei ihren Tests gelang es den Forschenden, alle dort befindlichen Daten an sich zu ziehen, diese zu verändern und sich von der Virtual Machine weiter in die Infrastruktur der User auszubreiten. Sie umgingen zunächst den gesicherten Login und Überwanden danach die Schranke zwischen normalem Benutzer und Administrator.

AMD stellt Update zur Verfügung

Wie in solchen Fällen üblich, haben die Forschenden den betreffenden Hersteller, in diesem Fall AMD, vorab über die Sicherheitslücke informiert, damit dieser vor der Veröffentlichung der Forschungsergebnisse die notwendigen Maßnahmen ergreifen kann. AMD hat CacheWarp unter der Kennzahl CVE-2023-20592 identifiziert und stellt ein Microcode-Update zur Verfügung, das die Schwachstelle behebt. Weitere Informationen dazu hat der Hersteller im AMD Security Bulletin veröffentlicht.

,,Die Forschung im Bereich der mikroarchitekturellen Angriffe ist faszinierend, weil sie sehr oft aufzeigt, wie komplex unsere heutigen Computersysteme geworden sind", sagt Andreas Kogler vom Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie (IAIK) der TU Graz. ,,Es ist erstaunlich, wie das Zusammenspiel von einigen Faktoren es ermöglicht, Daten aus solchen Systemen zu extrahieren oder zu verändern. Unsere Arbeit für CacheWarp zeigt, wie ein Angreifer bei den betroffenen Prozessoren Schreibzugriffe in den Speicher quasi vergessen lassen kann. Man kann sich das wie bei älteren USB-Sticks vorstellen: Hat man dort ein Dokument Überschrieben, den Stick aber vor Ende des Schreibprozesses abgezogen, konnte man beim nächsten Anstecken und Lesen des Dokuments statt der neuen noch Teile der alten Version vorfinden."

Das Forschungsteam unter der Leitung von Michael Schwarz vom CISPA Helmholtz-Zentrum für Informationssicherheit hat für Informationen zu CacheWarp eine eigene Website erstellt ( cachewarpattack.com ). Das wissenschaftliche Paper mit dem Titel ,,CacheWarp: Software-based Fault Injection using Selective State Reset" ist auf der Seite verfügbar und auch bereits als Beitrag für die ,,USENIX Security" Konferenz 2024 akzeptiert worden. Die Autoren sind: Ruiyi Zhang, Lukas Gerlach, Daniel Weber, Lorenz Hetterich, Michael Schwarz (alle CISPA Helmholtz-Zentrum für Informationssicherheit), Andreas Kogler (TU Graz) und Youheng Lü (unabhängig).

Diese Forschung ist im Field of Expertise ,, Information, Communication & Computing " verankert, einem von fünf strategischen Forschungsschwerpunkten der TU Graz.