Server schützen Daten mit komplexen Funktionen für Confidential Computing, die sich durch Speicherriegel mit gefälschter Konfiguration austricksen lassen.
Ein Team europäischer Sicherheitsexperten zeigen einen vergleichsweise simplen Hack, der superkomplizierte Funktionen zur RAM-Verschlüsselung moderner Server aushebelt. Die Forscher manipulieren dazu den Konfigurationschip vom Speichermodulen, das sogenannte SPD-EEPROM – eine seit rund 30 Jahren gängige Technik, die aber wie in der PC-Branche leider üblich oft schlampig und unsicher umgesetzt wird.

Ebenfalls typisch: Die extrem komplexen, nachträglich aufgepfropften und mehrfach nachgebesserten Funktionen zur Einrichtung von Trusted Execution Environments (TEEs) für Confidential Computing berücksichtigen den historischen Unterbau unzureichend, sodass er sich als Seitenkanal für Angriffe missbrauchen lässt.

BadRAM greift AMD Secure Encrypted Virtualization – Secure Nested Paging (SEV-SNP) an sowie Intels Software Guard Extensions (SGX) beziehungsweise Trusted Domain Extensions (TDX). BadRAM betrifft vor allem AMD-Epyc-Prozessoren, wie AMD im Security Bulletin AMD-SB-3015 berichtet, und trägt CVE-2024-21944.

Bei SGX/TDX ermöglicht BadRAM nur, Metadaten von Schreibzugriffen abzugreifen, also etwa Zugriffsmuster – aber nicht die Daten selbst. Bei AMD SEV-SNP ermöglicht BadRAM hingegen Replay-Attacken mit verschlüsselten Daten sowie die Manipulation von Remote Attestation und somit beliebige Änderungen an einer vermeintlich sicheren Virtuellen Maschine (VM).
Wackelige Vertrauensbasis

Der BadRAM-Angriff auf Confidential Computing ist sehr aufwendig und die Manipulation von Speichermodulen setzt physischen Zugriff auf den angegriffenen Server voraus. Doch bei den Konzepten von AMD SEV-SNP und Intel SGX/TDX geht es gerade darum, die TEEs sogar gegen böswillige Admins zu schützen und ihre Vertrauenswürdigkeit durch Remote Attestation nachzuweisen. Denn Confidential Computing soll etwa sensible Gesundheitsdaten in der elektronischen Patientenakte (ePA) schützen oder auch Passkeys, die man in Google Chrome erstellt und per Cloud synchronisiert. Google nutzt dafür Project Oak, das ausdrücklich auf AMD SEV-SNP vertraut. Die ePA-Spezifikation nennt ein TEE “Vertrauenswürdige Ausführungsumgebung” (VAU).

Wegen der wachsenden Bedeutung von Confidential Computing mit TEEs fördern öffentliche Institutionen auch die Forschung zu deren Sicherheit, das Bundesministerium für Bildung und Forschung (BMBF) etwa via “Sicherheit auf allen Systemen durch Vertrauensketten und Isolation” (SASVI).
Historischer Unterbau

Seit Ende der 1990er-Jahre tragen Speichermodule (Dual Inline Memory Modules, DIMMs) einen kleinen Flash-Speicherchip, der quasi ein digitales Datenblatt enthält. Dieser bis zur Generation DDR4 per I2C und ab DDR5 per I3C angebundene Flash-Chip heißt aus historischen Gründen Serial Presence Detect Electrically Erasable Programmable Read-Only Memory (SPD-EEPROM). Und den I2C- beziehungsweise I3C-Bus auf Server-Mainboards nennt man wiederum auch System Management Bus (SMBus).

Beim Start des Servers liest das BIOS (heute: das UEFI-BIOS) die SPD-EEPROMs sämtlicher eingesteckter DIMMs aus, um die RAM-Bausteine optimal zu konfigurieren. Das SPD-EEPROM enthält dazu nicht nur Angaben zu Taktfrequenz und Latenz der auf dem DIMM aufgelöteten Speicherchips, sondern auch zu deren Verschaltung (Organisation) und Kapazität.

BadRAM manipuliert diese Angaben im SPD-EEPROM, um dem System Speicherbereiche vorzugaukeln, die physisch nicht vorhanden sind (Memory Aliasing). Diese “Geister-Adressbereiche” des RAM lassen sich anschließend beispielsweise für die erwähnten Replay-Attacken nutzen.

Blindes Vertrauen

BadRAM zeigt unter anderem das Problem auf, dass das UEFI-BIOS vieler Server den Angaben im SPD-EEPROM der Speichermodule blind vertraut. Dabei ist das SPD-EEPROM jedoch nicht besonders stark geschützt, insbesondere nicht mit digitalen Signaturen.

Zwar sehen die JEDEC-Spezifikationen für das SPD-EEPROM Funktionen zum Schutz gegen unbefugtes Überschreiben (Write Protection) vor, aber die setzen manche DIMM-Hersteller nicht um. Und selbst wenn ein Schreibschutz implementiert ist, lässt er sich vergleichsweise einfach aushebeln: Die Sicherheitsforscher nutzten dazu etwa einen Raspberry Pi oder einen Raspberry Pi Pico. Der Trick ist im Prinzip auch schon seit vielen Jahren bekannt.

Laut den BadRAM-Entdeckern kann der Angriff auch ohne Manipulation des SPD-EEPROM eines DIMMs funktionieren, nämlich durch Veränderungen des BIOS-Codes. Doch der wiederum sollte bei Serverboards, die man für Confidential Computing nutzt, durch digitale Signaturen und möglichst durch zusätzliche Maßnahmen wie BootGuard oder einen Sicherheitschip gegen Manipulationen geschützt sein