Die BadRAM-Attacke, die es ermöglicht, den Validierungsmechanismus von SEV-SNP in AMD-CPUs zu umgehen.

Eine Forschergruppe von den Universitäten Leuven, Lübeck und Birmingham hat eine BadRAM-Angriffsmethode (CVE-2024-21944) entwickelt, die es ermöglicht, die Authentifizierungsmechanismen zu umgehen und Umgebungen zu kompromittieren, die mithilfe der SEV-SNP-Erweiterung auf AMD-Prozessoren geschützt sind. Um den Angriff durchzuführen, muss der Angreifer, mit wenigen Ausnahmen, physischen Zugang zu den Speichermodulen erhalten und die Möglichkeit haben, Code im Ring-0-Schutzlevel auf dem Server auszuführen, der die geschützten Gastumgebungen betreibt.

Die AMD SEV (Secure Encrypted Virtualization) Erweiterungen zielen darauf ab, die Integrität des Speichers von virtuellen Maschinen zu gewährleisten und sie vor Eingriffen und Analysen durch den Administrator des Host-Systems zu schützen, der Code auf Hypervisor-Ebene ausführen kann. Ursprünglich beschränkte sich der Schutz von AMD SEV auf die Verschlüsselung des Inhalts des Arbeitsspeichers des Gastsystems und die Isolation von Registern. Später wurde in den AMD EPYC-Prozessoren zusätzlich die SEV-SNP (Secure Nested Paging) Erweiterung implementiert, die eine sichere Arbeit mit geschachtelten Seitentabellen garantiert und die Integrität des Speichers sichert, sodass keine Änderungen am Arbeitsspeicher des Gastsystems durch den Hypervisor vorgenommen werden können.

Der AMD SEV-SNP-Mechanismus wurde entwickelt, um zu verhindern, dass Geheimdienste oder Mitarbeiter von Rechenzentren und Cloud-Anbietern, in denen geschützte Gastbetriebssysteme ausgeführt werden, auf die Funktion der Gastbetriebssysteme zugreifen können. Die vorgeschlagene Angriffsmethode BadRAM ermöglicht es, die gewährten Sicherheiten zu umgehen, indem die Metadaten von SPD (Serial Presence Detect) in DDR4- oder DDR5-Speichermodulen geändert werden. Bei einem erfolgreichen Angriff kann der Angreifer verschlüsselte Daten im Speicher des Gastbetriebssystems (auf der Ebene des Chiffretextes, ohne die Möglichkeit der Entschlüsselung) überschreiben und den Attestierungsmechanismus umgehen, zum Beispiel um das Einfügen eines Backdoors in die durch SEV-SNP geschützte virtuelle Maschine zu verschleiern.

Der Angriff basiert auf der Manipulation falscher Parameter des SPD-Speichermoduls, die den Prozessor dazu bringen, auf nicht existierende Adressen zuzugreifen, die auf vorhandene Speicherbereiche abgebildet sind. Der Angreifer kann das SPD so anpassen, dass das Speichermodul dem Prozessor eine Größe zurückmeldet, die die tatsächlichen Spezifikationen des Moduls übersteigt. Danach kann der Angreifer eine nicht existierende, erfundene Speicherzuordnung auf einen realen Bereich in der DRAM durchführen, der bereits verschlüsselt in geschützten Gastbetriebssystemen verwendet wird. Infolgedessen entsteht eine Situation, in der verschiedene Adressen auf denselben physischen Speicher zeigen (zwei Bereiche sind auf einen Bereich im DRAM-Chip abgebildet), d.h. auf die Adresse des erfundenen, abgebildeten Speicherbereichs kann auf bereits genutzten, realen Speicher zugegriffen werden, wodurch die Speicherschutzmechanismen in der CPU umgangen werden.

Die BadRAM-Attacke, die es ermöglicht, den Validierungsmechanismus von SEV-SNP in AMD-CPUs zu umgehen.

Um den Angriff durchzuführen, reicht es aus, einen einfachen Programmierer zu sammeln, der etwa 10 Dollar kostet und aus einem Raspberry Pi Pico-Mikrocontroller, einem Anschluss für DDR4/DDR5-Module und einer Stromversorgung besteht. Die im Angriff verwendeten Tools, das Kernmodul und Prototypen von Exploits sind auf GitHub verfügbar.

Die BadRAM-Attacke, die es ermöglicht, den Validierungsmechanismus von SEV-SNP in AMD-CPUs zu umgehen.

Für Chips bestimmter Hersteller, bei denen die SPD-Wiederbeschreibungsperre nicht aktiviert ist, kann ein Angriff softwareseitig ohne physischen Zugriff auf den Server durchgeführt werden. Beispielsweise können programmatisch die Einstellungen der Corsair-Speichermodule mit RGB-Beleuchtung geändert werden. Bei einer vollständig softwaregestützten Attacke könnte das System kompromittiert werden, etwa durch die Anwendung eines schädlichen BIOS-Updates oder durch Sabotage seitens der Administratoren. Server in Cloud-Services.

Die BadRAM-Attacke, die es ermöglicht, den Validierungsmechanismus von SEV-SNP in AMD-CPUs zu umgehen.

Zur Bestätigung der Funktionsweise der Methode wurden zwei Angriffe demonstriert. Im ersten Angriff wird die Möglichkeit der Reproduktion des Chiffretextes gezeigt — bei Verwendung von AMD SEV werden die Daten im Speicher verschlüsselt aufbewahrt, wodurch der Angreifer den Inhalt nicht bestimmen kann, jedoch die verschlüsselten Daten lesen und diese anstelle eines anderen verschlüsselten Inhalts einfügen kann.

Im zweiten Angriff wird die Möglichkeit demonstriert, den SEV-SNP-Authentifizierungsmechanismus zu umgehen, der eine kryptografische Bestätigung der Integrität einer virtuellen Maschine bietet, die in einer geschützten Umgebung ausgeführt wird. Der Angreifer kann den Bericht über die Authentifizierung einer korrekten virtuellen Maschine abfangen und anschließend für eine kompromittierte virtuelle Maschine verwenden, indem er beispielsweise die Spuren einer Hintertür versteckt.

Das Problem betrifft die AMD EPYC-Prozessoren der 3. und 4. Generation, die unter den Codenamen Milan, Milan-X, Genoa, Bergamo, Genoa-X und Siena geliefert werden. Um die Schwachstelle zu beheben, hat AMD bereits ein SEV-Firmware-Update veröffentlicht, das eine ALIAS_CHECK-Überprüfung implementiert, die Manipulationen an dem im Angriff betrachteten Speicher verhindert.

Die von Intel angebotenen Technologien Scalable SGX und TDX sind nicht anfällig für Angriffe, da die notwendigen Prüfungen von Anfang an integriert sind. Die klassische Intel SGX-Technologie, die 2021 von Intel als veraltet eingestuft wurde, ist teilweise anfällig für Angriffe (analog zu dem zuvor bekannten MemBuster-Angriff kann ein Angreifer auf Zugriffe auf den verschlüsselten Speicher analysieren, d.h. es ist nur möglich, den Chiffretext zu lesen, aber nicht zu überschreiben). Tests von CCA (Confidential Compute Architecture)-Erweiterungen in ARM-Prozessoren wurden nicht durchgeführt.

Zusätzlich wird von einer weiteren Schwachstelle im Zusammenhang mit AMD SEV-SNP berichtet. Die Schwachstelle wurde in der von AMD entwickelten QEMU-Emulator-Gabel entdeckt, die für die Ausführung gedacht ist. virtuellen Maschinen Mit SEV-SNP. Das Problem ermöglicht es dem Administrator der Host-Umgebung, Root-Zugriff auf die Gast-Systeme durch Manipulationen an den ACPI-Tabellen zu erhalten. Die Verwundbarkeit entsteht, weil beim Booten des Gast-Systems eine Integritätsprüfung des Linux-Kernels, des initialen RAM-Disk und der Kernel-Parameter durchgeführt wird, jedoch die ACPI-Tabellen nicht berücksichtigt werden, über die der Hypervisor speziell gestalteten AML-Code (ACPI Machine Language) ausführen kann, der für die Ausführung in der Gast-Umgebung bestimmt ist. Es wird behauptet, dass das Problem nicht spezifisch für QEMU ist und in allen Hypervisors und Emulatoren auftritt, da der Linux-Kernel allen ACPI-Daten vertraut, die vom Hypervisor stammen.

Video abspielen
Video abspielen


Quelle: opennet.ru
Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster