Die Funktion Secure Encrypted Virtualization (SEV) von AMD-Serverprozessoren ist weniger sicher, als der Name nahelegt: Forscher von Google fanden heraus, dass Epyc-Prozessoren bei der Signaturprüfung von Microcode-Updates schlampen.
Anzeige
Weil solche Microcode-Updates tief in CPU-Funktionen eingreifen, ermöglichen sie schwerwiegende Manipulationen. Das Google-Team veröffentlichte einen Proof of Concept (PoC), der den RDRAND-Befehl zerschießt: Statt einer Zufallszahl liefert er stets den Wert 4. Das schwächt kryptografische Algorithmen, die RDRAND nutzen. Und damit lässt sich wiederum auch die eingangs erwähnte RAM-Verschlüsselung SEV aushebeln, die unter anderem dazu dient, parallel auf demselben Server laufende virtuelle Maschinen (VMs) voneinander sicher zu trennen, etwa für Confidential Computing.
Google selbst nutzt AMD SEV (beziehungsweise SEV-SNP) unter anderem bei der Synchronisation von Passkeys zwischen verschiedenen Geräten angemeldeter Google-Nutzer (Google Password Manager, GPM). Die eigentlichen Passkeys werden dabei gar nicht synchronisiert, sondern existieren nur in sicheren Enklaven auf Cloud-Servern.
Um einem Epyc-Prozessor ein manipuliertes Microcode-Update unterzujubeln, muss der Angreifer zwar Administratorrechte haben. Doch Confidential-Computing-Funktionen wie AMD SEV, Intel SGX/TDX oder ARMv9-CCA zielen gerade darauf, auch Administratoren den Zugriff auf geschützte Daten zu verwehren, indem sie Trusted Execution Environments (TEEs) mit kryptografisch nachweisbarem Betriebszustand (Remote Attestation) schaffen.
Nutzer derartiger TEEs müssen – so die Theorie – nur noch dem Hersteller der jeweiligen CPU vertrauen, der die Signaturkette für Remote Attestation in seiner Hard- und Firmware verankert.
Weil diese Sicherheitsfunktionen so wichtig sind, beschäftigen sich viele Experten damit. Es werden häufig Lücken entdeckt.
AMD beschreibt die "SEV Confidential Computing Vulnerability" im AMD Security Bulletin AMD-SB-3019, sie trägt auch die CVE-2024-56161. Das Risiko wurde mit 7,2 Punkten als hoch eingestuft.
Betroffen sind demnach die Epyc-Baureihen 7001 (Naples), 7002 (Rome), 7003 (Milan/Milan-X) und 9004 (Genoa, Genoa-X, Bergamo, Siena).
Die Microcode-Updates können auch über Update-Funktionen der Betriebssysteme auf die Server verteilt werden. Allerdings sind zusätzliche BIOS-Updates nötig, damit die Remote Attestation für SEAV-SNP richtig funktioniert. AMD hat die in Form neuer AGESA-Firmwaremodule bereits an Hersteller von Servern und Mainboards verteilt. Einige Firmen stellen bereits BIOS-Updates bereit:
Supermicro arbeitet nach eigenen Angaben daran.
Asus hatte versehentlich bereits Ende Januar BIOS-Updates mit Verweis auf eine AMD Microcode Signature Verification Vulnerability veröffentlicht.