Zenbleed: Sicherheitslücke in allen Zen-2-CPUs von AMD
25.07.2023 13:49 Uhr Nico Ernst
Du musst angemeldet sein, um Bilder zu sehen.
Für Epyc-Server ist jetzt ein Update fällig - alle anderen Systeme mit Zen-2 müssen noch warten.
(Bild: c't)
Über eine Lücke in unter anderem Ryzen 3000 und verwandten Epyc-Prozessoren können sensible Daten abgefangen werden. AMD arbeitet an Firmware-Updates.
Der britische Sicherheitsforscher Travis 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 [1], 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.Der Fehler wurde am 15. Mai 2023 an AMD gemeldet und wird als CVE-2023-20593 [2] 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 [3] 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.Travis Ormandy schreibt darüber hinaus [4] 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.
(nie [5])
URL dieses Artikels:
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.
www.heise.de