Zenbleed: Sicherheitslücke in allen Zen-2-CPUs von AMD
Über eine Lücke in unter anderem Ryzen 3000 und verwandten Epyc-Prozessoren können sensible Daten abgefangen werden. AMD arbeitet an Firmware-Updates.
- Nico Ernst
Der britische Sicherheitsforscher Tavis Ormandy hat bei seiner Arbeit für Googles Project Zero eine Lücke in sämtlichen AMD-Prozessoren gefunden, die auf der Zen-2-Architektur basieren. Durch den Fehler können von einem eingeschleusten Schadprogramm Daten aus einem anderen, isolierten Prozess ausgelesen werden. Auch über etwa virtuelle Maschinen und Container auf einem Server hinweg können so beispielsweise Passwörter abgefangen werden.
Wie Ormandy in seinem Blog schreibt, steckt der Fehler in der Art, wie der Befehl vzeroupper behandelt wird, wenn bei der spekulativen Ausführung von AVX2-Code eine fehlerhaft vorhergesagte Verzweigung auftritt. Dann sollte der Prozessor eigentlich Daten aus den betroffenen Registern verwerfen, bei geschicktem Timing von Abfragen bleiben aber doch Fragmente der Daten übrig. Diese lassen sich dann in den eigenen Prozess kopieren – die eigentlich geheimen Informationen sind kompromittiert.
Angriff auf Passwörter und Verschlüsselung möglich
Mit optimiertem Code konnte Ormandy rund 30 KByte Daten pro Sekunde und Core von einem Prozess in den anderen befördern. Das reicht seiner Meinung nach aus, um Passwörter und Keys für Verschlüsselung etwa beim Anmelden eines Nutzers abzufangen. Betroffen sind alle AMD-CPUs mit Zen-2, also die Serien Ryzen 3000, Threadripper 3000, deren Pro-Versionen, die Epycs mit Codenamen "Rome" sowie die Serien Ryzen 4000, 5000, und 7020 in ihren Varianten mit Radeon-Grafikkern.
Lesen Sie auch
Epyc 4004 ab 149 US-Dollar: AMD-Ryzen-Prozessoren mit ECC-RAM für kleine Server
Bit-Rauschen: Nvidia-Chef Huang liefert Hardware höchstpersönlich aus
Strix Point: AMD streicht den Windows-10-Support angeblich frühzeitig
AMD Ryzen 8000F: Getarnte Ryzen 7000 jetzt auch einzeln verfügbar
Wertvollste Unternehmen: Tech- und US-Konzerne vorne, Deutschland rutscht ab
Der Fehler wurde am 15. Mai 2023 an AMD gemeldet und wird als CVE-2023-20593 geführt. Die Schwere stuft AMD als "Medium" ein, wohl deswegen, weil für das Ausnutzen der Lücke Code in das Zielsystem eingeschleust werden muss. Travis Ormandy zufolge gibt es derzeit keinen Weg, um das Verhalten eines solchen Schadprozesses zu erkennen. Unmittelbare Abhilfe schafft nur das Setzen eines sogenannten Chicken Bits, das aber die Leistung verringern kann.
Update bisher nur für Epyc
Nachhaltig gestopft werden kann die Lücke nur durch ein Microcode-Update für die Prozessoren, das die Behandlung des Befehls verändert. Die Bereitstellung solcher Updates in Form einer neuen AGESA-Version von AMD für alle Plattformen wird jedoch noch dauern. In seinem Hinweis auf die Lücke nennt der Chiphersteller nur für die Epyc-Chips mit Version "RomePI 1.0.0.H" eine neue Firmware-Version als verfügbar. Von Oktober bis Dezember 2023 soll der Fehler dann schrittweise bei allen anderen Zen-2-CPUs geschlossen werden. AGESA ist dabei nur der von AMD gestellte Kern eines eventuellen UEFI-Updates, die Gerätehersteller müssen diesen Teil der Firmware in ihre Updates selbst einbauen. Im Zweifel sollten Serverbetreiber, die Epyc-Chips auf Basis der zweiten Zen-Generation einsetzen, also beim Hersteller der Systeme nachfragen.
Tavis Ormandy schreibt darüber hinaus auf X, vormals Twitter, dass es sich bei Zenbleed nur "um das erste große Ergebnis unseres neuen Projekts zur Erforschung von CPUs" handeln soll. Mit weiteren Lücken, die eventuell auch andere Architekturen mit spekulativer Ausführung betreffen könnten, ist wohl zu rechnen.
Liste betroffener Zen-2-Prozessoren eingefügt.
(nie)