CacheWarp: Neue Sicherheitslücke mit Heilmittel in CPUs von AMD

Jan-Frederik Timm
35 Kommentare
CacheWarp: Neue Sicherheitslücke mit Heilmittel in CPUs von AMD

Forschende der TU Graz und des Helmholtz-Zentrums für Informationssicherheit haben eine neue Sicherheitslücke in Prozessoren von AMD ausfindig gemacht, die es Angreifern ermöglicht, virtuelle Maschinen unter ihre Kontrolle zu bringen. Parallel zur Veröffentlichung der Lücke hält AMD erste Microcode-Updates parat.

Microcode-Updates für die unter der Kennzahl CVE-2023-20592 geführte Lücke vorzubereiten war AMD möglich, weil die Entdecker dem Unternehmen die übliche Vorlaufzeit zwischen Information des Betroffenen und Information der Öffentlichkeit gegeben hatten.

Worum geht es bei „CacheWarp“

Die von den Forschenden als „CacheWarp“ bezeichnete Sicherheitslücke ist nur für Nutzer virtueller Arbeitsumgebungen (Virtual Machines) von Bedeutung, denn sie ermöglicht es Angreifern, in genau diese virtuellen Arbeitsumgebungen einzudringen, obwohl AMDs Secure Encrypted Virtualization (SEV) genau das eigentlich verhindern soll. Aber genau dort liegt das Problem.

AMD SEV verschlüsselt zwar die Daten der Virtual Machine, doch die Forschenden haben herausgefunden, dass über CacheWarp „Datenmodifikationen auf dieser Arbeitsumgebung wieder rückgängig gemacht und dem System ein veralteter Status vorgegaukelt werden“ kann – über die Sicherheitslücke lasse sich quasi die Zeit im Speicher zurückdrehen.

Das sei zum Beispiel dann problematisch, wenn eine Variable festlegt, ob ein User erfolgreich authentifiziert ist oder nicht. Die Forschenden erklären:

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 könnte ein Angreifer eine bereits authentifizierte Sitzung herstellen und in Folge dessen auch das volle Adminzugriffsrecht auf die hinterlegten Daten erschleichen. Im Rahmen eigener Tests sei es den Forschenden gelungen, über die Sicherheitslücke eine virtuelle Maschine vollständig zu übernehmen und von dort weiter in die Infrastruktur der User auszubreiten.

Es gibt nichts, was es nicht gibt

Andreas Kogler vom Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie (IAIK) der TU Graz kommentiert: „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.

Eine Webseite liefert mehr Details

Umfassende Informationen zu „CacheWarp“ hält ab sofort die von den Forschern initiierte Webseite cachewrapattack.com bereit. Das korrespondierende wissenschaftliche Paper „CacheWarp: Software-based Fault Injection using Selective State Reset“ ist dort ebenfalls abrufbar.

Drei Epyc-Generationen betroffen

AMD hat ein entsprechendes Security-Bulletin veröffentlicht. Darin wird die Schwachstelle als mittelschwer eingestuft. Betroffen davon seien die Serverprozessoren der ersten drei Epyc-Generationen:

  • Epyc Gen1 (Naples, Zen 1, 7001-Serie)
  • Epyc Gen2 (Rome, Zen 2, 7002-Serie)
  • Epyc Gen3, (Milan, Zen 3, 7003-Serie)

Die neue vierte Generation alias Genoa mit Zen-4-Architektur sei nach bisherigem Kenntnisstand nicht betroffen.

Neuer Microcode nur für Milan

Für die Naples und Rome „ist keine Schadensbegrenzung verfügbar, da die SEV- und SEV-ES-Funktionen nicht zum Schutz der Speicherintegrität von virtuellen Maschinen gedacht sind und SEV-SNP nicht verfügbar ist“, schreibt AMD. Daher gibt es nur für Milan einen Microcode-Patch. Auswirkungen auf die Leistung seien keine zu erwarten, so AMD.

Kunden sollten sich an ihren Server-Anbieter (OEM, ODM) bezüglich eines entsprechenden Microcode-Patches respektive BIOS-Updates wenden.

Weitere Informationen stehen im Security-Bulletin bei AMD.