E-mail senden E-Mail Adresse kopieren

2023-11-14
Annabelle Theobald

CISPA-Forscher entdecken neue Sicherheitslücke in AMD-SEV-Technologie

Mit sogenannter Secure Encrypted Virtualization (SEV) will AMD vor allem Cloud-Dienste sicherer machen. Doch auch auf die aktuellsten Versionen des Sicherheitsfeatures, SEV-ES (Encrypted State) und SEV-SNP (Secure Nested Paging), war bis vor Kurzem noch ein softwarebasierter Fehler-Angriff möglich. Entdeckt hat das CISPA-Forscher Ruiyi Zhang, der im Team von CISPA-Faculty Dr. Michael Schwarz forscht. Die von ihm konstruierte Angriffsart nennt sich CacheWarp und ermöglicht Angreifer:innen im schlimmsten Fall umfassende Zugriffsrechte auf Daten und sogar die Möglichkeit, sie zu verändern – was mit bisherigen Angriffsmethoden nicht möglich war. Unterstützt wurde Zhang von seinem Forschungsteam am CISPA und Andreas Kogler von der TU Graz. AMD hat die Lücke nach eigenen Angaben mittlerweile durch ein Update geschlossen.

Die Nutzung großer Cloud-Plattformen boomt. „Cloud-Dienste erlauben es Unternehmen, flexibel Rechenpower und Speicherplatz einzukaufen, wann immer sie es brauchen“, erklärt Riuyi Zhang. Die Sicherheit der Dienste ist essentiell, wurde in der Vergangenheit aber bereits durch entdeckte Schwachstellen und potentielle Angriffsmöglichkeiten erschüttert. „Die Grundlage von Clouddiensten ist die sogenannte Virtualisierung, mit der sich Hardwarekomponenten und damit verbunden auch Personal einsparen lassen“, sagt Zhang. Bei der Virtualisierung werden laut dem Forscher innerhalb eines physischen Rechners mehrere virtuelle Maschinen erstellt. Virtuelle Maschinen sind quasi softwarebasierte Rechner, die alles haben, was ein normaler Computer auch hat: einen eigenen Arbeitsspeicher, eine CPU, ein eigenes Betriebssystem. Mit Virtualisierung lassen sich also aus einem Rechner mit entsprechender Rechenpower viele machen.

Sicherheitsfeature mit Schwächen

Für die Verteilung der Ressourcen und die entsprechende Trennung von Prozessen ist der sogenannte Hypervisor zuständig. Es handelt sich dabei um eine Software, die die Ressourcen wie Arbeitsspeicher und Rechenleistung verteilt und die Betriebssysteme isoliert. Der Hypervisor fungiert also als eine Art Host für die virtuellen Maschinen. Da dieser nicht zum Angriffspunkt werden darf, hat der Prozessorhersteller AMD die erste Generation von Secure Encrypted Virtualization (SEV) vorgestellt. Die Idee hinter SEV: Für jede laufende virtuelle Maschine wird der Arbeitsspeicher mit einem separaten Schlüssel verschlüsselt, was einen übergreifenden Datenzugriff und den Zugriff durch einen nicht-vertrauenswürdigen oder von Angreifer:innen übernommenen Hypervisor unmöglich machen soll. „Schnell wurden mehrere Sicherheitslücken bekannt. Zudem wurde Verschlüsselung bei SEV-ES und SEV anfänglich ohne Identitätsprüfung verwendet. Dadurch konnten Daten manipuliert werden. Und nicht alle Teile des Speichers waren verschlüsselt“, erklärt Michael Schwarz. Der CISPA-Faculty ist Experte für Sicherheitslücken in CPUs und war an der Entdeckung von mehreren solcher Lücken beteiligt, darunter Spectre, Meltdown und ZombieLoad. AMD reagierte auf die Probleme und entwickelte SEV weiter zu den Feautures SEV-ES (Encrypted State) und zuletzt SEV-SNP (Secure Nested Paging). Laut AMD verspricht SEV-SNP eine starke Speicherintegrität. Hypervisor-Attacken sollten damit unterbunden werden.

Ein paar Zeilen Code

Etwa eine halbe Minute, Zugang zu einem Serverraum und ein paar Zeilen Code bräuchte Zhang, um sich Zugang auf alle virtuellen Maschinen zu verschaffen und dort mit Administratorrechten alles einzusehen und zu verändern, was er möchte. Herauszufinden, wie genau das möglich ist, erforderte monatelange Arbeit. „Cache Warp ist unseres Wissens nach bislang der einzige softwarebasierte Angriff, mit dem SEV-SNP derartig ausgehebelt werden kann“, erklärt Zhang.

Ein Computer geht auf Zeitreise

„Zunächst müssen wir uns in ein System einloggen können. Dabei hilft uns eine Technik, die wir TimeWarp genannt haben“, sagt Schwarz. Sie nutzt laut dem Forscher aus, dass Computer sich in gewissen Situation im Speicher merken, welchen Code sie als nächstes ausführen müssen. „Wir können rückgängig machen, was der Computer sich als nächsten Schritt gespeichert hat. Dadurch führt der Computer Code aus, den er davor schon einmal ausgeführt hat, weil er eine veraltete sogenannte Rücksprungadresse aus dem Speicher liest. Der Computer reist somit in der Zeit zurück. Allerdings wird der alte Code mit neuen Daten ausgeführt, was zu unvorhergesehenen Effekten führt. Wenn man diese Technik clever einsetzt, kann man so die Programmlogik verändern“, erklärt Schwarz. Zhang fügt hinzu: „Mit Hilfe von TimeWarp ändern wir die Programmlogik einer virtuellen Machine also so, dass sie es uns erlaubt uns einzuloggen, ohne das Passwort zu kennen.“

Die 0 steht für Erfolg

Kombiniert mit der zweiten Technik, dem sogenannten „Dropforge“, ist es möglich, auch den Cache zu manipulieren und dort Veränderungen an Daten rückgängig machen. „Auch wenn es nicht intuitiv erscheint, kann man damit auch Administratorrechte bekommen. Dabei nutzt man Details in der Programmlogik aus“, sagt Schwarz. In der Informatik stehe eine „0“ oft dafür, dass etwas erfolgreich war. Andere Zahlen stehen hingegen für etwaige Fehlercodes. „0“ ist laut Schwarz jedoch auch der Standardwert von Daten, wenn nichts anderes gespeichert wird. „Wenn ein System testet, ob der jeweilige Nutzer Administrator ist oder nicht, dann liefert die Abfrage auch „0“ zurück, wenn man Administrator ist. Ist man kein Administrator, wird eine andere Zahl zurückgegeben. Mit „Dropforge“ kann man diese Antwort rückgängig machen. Egal, ob man Administrator ist oder nicht, es steht der initiale Wert „0“ im Speicher. Das System nimmt dann an, dass man Administrator ist“, erklärt Schwarz. „Mit dieser Kombination haben wir uneingeschränkten Zugriff auf die virtuelle Maschine“, ergänzt Zhang.

Vertrauen ist gut

In ihrem Paper „CacheWarp: Software-based Fault Injection Selective State Reset” haben die Forscher nicht nur die Angriffstechniken beschrieben, sondern auch eine compiler-basierte Lösung zur Entschärfung der Angriffsmöglichkeiten vorgeschlagen. Zudem wollen sie ein Testing-Tool für die Schwachstellen open source zur Verfügung stellen. „Wir wollen uns nicht auf die Aussage verlassen, dass etwas sicher ist. Wir wollen es prüfen können“, erklärt Schwarz. Seit Entdeckung von CacheWarp sind die Forschenden auch im Austausch mit AMD: Der Hersteller hat ihnen gegenüber angegeben, die Lücke inzwischen geschlossen zu haben.

Das Forschungsteam unter der Leitung von Michael Schwarz hat für mehr Informationen zu CacheWarp eine eigene Website erstellt.

Paper: “CacheWarp: Software-based Fault Injection using Selective State Reset” von Ruiyi Zhang (CISPA), Lukas Gerlach (CISPA), Daniel Weber (CISPA), Lorenz Hetterich CISPA, Youheng Lü (Independent), Andreas Kogler (Graz University of Technology), Michael Schwarz (CISPA)