Schwachstelle im Microcode-Booster der AMD-CPU, die die SEV-SNP-Isolierung umgeht

Sicherheitsforscher von Google haben Informationen über eine Sicherheitsanfälligkeit (CVE-2024-56161) in AMD-Prozessoren veröffentlicht, die den Mikrocode-Loader betrifft und es ermöglicht, den Mechanismus zur Überprüfung digitaler Signaturen bei Mikrocode-Updates zu umgehen. Das Laden von modifiziertem Mikrocode kann den AMD SEV (Secure Encrypted Virtualization)-Mechanismus gefährden, der in Virtualisierungssystemen verwendet wird, um virtuelle Maschinen vor Eingriffen durch Hypervisor oder Administrator der Hostsysteme zu schützen.

Die Schwachstelle entsteht durch die Verwendung einer unsicheren Hash-Funktion im Code, der die digitale Signatur nach dem Laden des Mikrocodes in die CPU überprüft. Für einen Angriff ist es erforderlich, über Administratorrechte im lokalen System zu verfügen (möglich ist die Ausführung von Code auf Ring-0-Schutzebene, wobei man sich nicht in einer virtuellen Maschine befindet).

Im Rahmen des Angriffs kann man in das Funktionieren von Gastbetriebssystemen eingreifen, die durch AMD SEV (Secure Encrypted Virtualization) und SEV-SNP (Secure Nested Paging) geschützt sind und Garantien für die Integrität des Speichers bieten. virtuellen Maschinen, die Prozessorregister isolieren und einen sicheren Umgang mit geschachtelten Seiten-Tabellen ermöglichen. Der AMD SEV-Mechanismus wurde entwickelt, um sicherzustellen, dass das Personal von Rechenzentren und Cloud-Anbietern die Inhalte des Speichers von geschützten Gastsystemen weder ändern noch analysieren kann, sowie Berechnungen nicht verfälschen kann.

Forschern wurde ein Prototyp eines Exploits vorgelegt, der es ermöglicht, beliebigen Mikrocode in die CPU zu laden, der nicht durch eine digitale Signatur verifiziert ist. Um die Gefährlichkeit der Schwachstelle zu demonstrieren, wurde ein Mikrocode-Update vorgeschlagen, das die Logik der RDRAND-Anweisung ändert, die als eine der Entropiequellen in Pseudo-Zufallszahlengeneratoren verwendet wird, die bei der Schlüsselgenerierung, der Durchführung kryptographischer Operationen und der Erzeugung von zufälligen Identifikatoren eingesetzt werden.

Die Änderung führt dazu, dass der Befehl RDRAND nur die Zahl 4 zurückgibt, anstatt einer zufälligen Folge. Um reale Angriffe auf Systeme mit vertraulichen Berechnungen zu verhindern, setzt der geänderte Mikrocodes das CF-Flag (Carry-Flag) zurück, d.h. er kennzeichnet den ausgegebenen Wert als fehlerhaft. Weitere Details und Werkzeuge zur Generierung des geänderten Mikrocodes sollen am 5. März veröffentlicht werden, um den Nutzern Zeit zu geben, das Patch auf ihren Systemen zu installieren. Ein erfolgreicher Angriffsbeispiel wurde bei Server AMD EPYC 7B13 (Milan) und AMD Ryzen 9 7940HS (Phoenix) demonstriert.

Im Bericht von AMD wird angegeben, dass die Schwachstelle bei AMD-Prozessoren der 1-4 Generationen der Zen-Mikroarchitektur auftritt. Das Mikrocode-Update zur Behebung der Schwachstelle wurde am 13. Dezember 2024 für die Prozessormodelle der Serien AMD EPYC 7001, 7002 und 7003 (Naples, Rome, Milan und Milan-X) veröffentlicht, sowie am 16. Dezember für die Prozessoren der Serie AMD EPYC 9004 (Genoa, Genoa-X und Bergamo/Siena). Zur Behebung der Schwachstelle in Systemen, die SEV-SNP-Zertifizierung verwenden, ist zusätzlich ein Update der AMD SEV-Firmware erforderlich (dies wird zusammen mit den BIOS-Updates von den Hardwareherstellern bereitgestellt).

Es wird zudem über eine weitere Sicherheitsanfälligkeit in AMD-Prozessoren berichtet, die Angriffe über seitliche Kanäle ermöglicht, um Informationen über Berechnungen in virtuellen Maschinen zu extrahieren, die mithilfe des AMD SEV-Mechanismus geschützt sind. Das Problem betrifft die 1. bis 4. Generation der AMD EPYC-Prozessoren und steht im Zusammenhang mit der Möglichkeit, Daten aus dem Prozessor-Caching zu extrahieren, die während der Arbeit von geschützten virtuellen Maschinen anfallen. Zur Analyse des Cache-Inhalts könnte die Methode Prime+Probe verwendet werden, die das Caching mit einem Referenzwertsatz füllt und Veränderungen durch die Messung der Zugriffszeiten bei wiederholtem Füllen ermittelt. Es wird angemerkt, dass Methoden, die zuvor zum Schutz vor Spectre-Angriffen vorgeschlagen wurden, geeignet sind, um solche Angriffe zu blockieren.

Quelle: opennet.ru

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster