Moderne Server-Prozessoren verfügen über ein vertrauenswürdiges Ausführungsumfeld (Trusted Execution Environment, TEE) für den Umgang mit besonders sensiblen Informationen. Es gibt viele TEE-Implementierungen, aber zwei sind für diese Diskussion am relevantesten: Intel Software Guard Erweiterungen (SGX) und AMD Secure Encrypted Virtualization (SEV). Fast gleichzeitig entdeckten zwei separate Forscherteams – eines in den USA und eines in Europa – unabhängig voneinander sehr ähnliche (wenn auch unterschiedliche) Methoden zur Nutzung dieser beiden Implementierungen. Ihr Ziel war es, Zugriff auf verschlüsselte Daten zu erhalten, die sich im Arbeitsspeicher befinden. Beide wissenschaftlichen Arbeiten, in denen diese Ergebnisse detailliert beschrieben sind, wurden innerhalb weniger Tage veröffentlicht:
- WireTap: Breaking Server SGX via DRAM Bus Interposition lautet die Veröffentlichung der US-Forscher, in der sie detailliert einen erfolgreichen Hack des Intel Software Guard eXtensions-Systems (SGX) beschreiben. Der Hack gelang, indem sie den Austausch von Daten zwischen dem Prozessor und dem DDR4 RAM Modul abhörten.
- In Battering RAM kompromittieren Wissenschaftler aus Belgien und Großbritannien erfolgreich Intel SGX sowie das vergleichbare Sicherheitssystem SEV-SNP von AMD, indem sie den Datenübertragungsprozess zwischen dem Prozessor und dem DDR4 RAM-Modul manipulierten.
Ein TEE hacken
Beide genannten Technologien – Intel SGX und AMD SEV – sind darauf ausgelegt, Daten selbst dann zu schützen, wenn das sie verarbeitende System vollständig unterwandert ist. Daher gingen die Forscher von der Prämisse aus, dass der Angreifer völlige Handlungsfreiheit hat: uneingeschränkten Zugriff auf die Software und Hardware des Servers sowie auf die vertraulichen Daten, die er beispielsweise in einer virtuellen Maschine auf diesem Server sucht.
In diesem Szenario werden bestimmte Einschränkungen von Intel SGX und AMD SEV kritisch. Ein Beispiel ist die Verwendung der deterministischen Verschlüsselung: Ein Algorithmus, bei dem eine bestimmte Folge von Eingabedaten immer genau dieselbe Folge von verschlüsselten Ausgabedaten erzeugt. Da der Angreifer vollen Zugriff auf die Software hat, kann er beliebige Daten in das TEE eingeben. Wenn der Angreifer auch Zugriff auf die verschlüsselten Informationen hätte, könnte ein Vergleich dieser beiden Datensätze es ihm ermöglichen, den verwendeten privaten Schlüssel zu berechnen. Dies wiederum würde es ihnen ermöglichen, andere Daten zu entschlüsseln, die mit dem gleichen Mechanismus verschlüsselt wurden.
Die Herausforderung besteht jedoch darin, wie die verschlüsselten Daten gelesen werden können. Sie befinden sich im RAM und nur der Prozessor hat direkten Zugriff darauf. Die theoretische Malware sieht nur die Originalinformationen, bevor sie im Speicher verschlüsselt werden. Dies ist die wesentliche Herausforderung, die die Forscher auf unterschiedliche Weise angegangen ist. Eine direkte Lösung besteht darin, die Daten, die vom Prozessor an das RAM-Modul übertragen werden, auf Hardware-Ebene abzuhören.
Wie funktioniert das? Das Speichermodul wird mithilfe eines Interposers entfernt und wieder eingesetzt, der seinerseits mit einem speziellen Gerät verbunden ist: einem Logikanalysator. Der Logikanalysator fängt die Datenströme ab, die über alle Daten- und Adressleitungen zum Speichermodul laufen. Das ist durchaus komplex. Da ein Server normalerweise über viele Speichermodule verfügt, muss der Angreifer einen Weg finden, den Prozessor dazu zu zwingen, die angestrebten Informationen gezielt in den gewünschten Bereich zu schreiben. Als nächstes müssen die vom Logikanalysator erfassten Rohdaten rekonstruiert und analysiert werden.
Aber die Probleme enden hier nicht. Moderne Speichermodule tauschen mit enormer Geschwindigkeit Daten mit dem Prozessor aus und führen Milliarden von Operationen pro Sekunde aus. Um einen derart schnellen Datenfluss abzufangen, ist eine High-End-Ausrüstung erforderlich. Die Hardware, mit der 2021 die Machbarkeit dieser Art von Angriff nachgewiesen wurde, kostete Hunderttausende Dollar.
Die Funktionen von WireTap
Den US-Forschern von WireTap ist es gelungen, die Kosten für ihre Forschung auf knapp tausend Dollar zu drücken. Ihr Aufbau zum Abfangen von Daten von DDR4-Speichermodulen sah so aus:

Testsystem zum Abfangen des Datenaustauschs zwischen Prozessor und Speichermodul. Quelle
Sie gaben die Hälfte des Budgets für einen ein Vierteljahrhundert alten Logikanalysator aus, den sie über eine Online-Auktion erworben hatten. Der Rest umfasste die erforderlichen Anschlüsse, und der Interposer (der Adapter, in den das Zielspeichermodul eingesetzt wurde) wurde von den Autoren selbst gelötet. Ein veraltetes Setup wie dieses könnte den Datenstrom unmöglich mit seiner normalen Geschwindigkeit erfassen. Die Forscher machten jedoch eine wichtige Entdeckung: Sie konnten den Betrieb des Speichermoduls verlangsamen. Anstelle der effektiven DDR4-Standardgeschwindigkeiten von 1600 bis 3200 Megahertz gelang es ihnen, die Geschwindigkeit auf 1333 Megahertz zu drosseln.
Von nun an sind die Schritte… nun ja, nicht ganz einfach, aber klar:
- Stelle sicher, dass die Daten des Zielprozesses auf das gehackte Speichermodul geschrieben wurden und fange es dann ab, da es zu diesem Zeitpunkt noch verschlüsselt ist.
- Gib einen benutzerdefinierten Datensatz zur Verschlüsselung in Intel SGX ein.
- Fange die verschlüsselte Version der bekannten Daten ab, vergleiche den bekannten Klartext mit dem resultierenden Chiffretext und berechne den Chiffrierschlüssel.
- Entschlüssele die zuvor erfassten Daten, die zum Zielprozess gehören.
Zusammenfassend lässt sich sagen, dass die Arbeit mit WireTap unser Verständnis der inhärenten Einschränkungen von Intel SGX nicht grundlegend ändert. Es zeigt sich jedoch, dass der Angriff drastisch verbilligt werden kann.
Die Funktionen von Battering RAM
Anstelle des einfachen Datenabfang-Ansatzes suchten die Forscher der belgischen KU Leuven und ihre britischen Kollegen nach einer subtileren und eleganteren Methode, um auf verschlüsselte Informationen zuzugreifen. Bevor wir jedoch ins Detail gehen, betrachten wir die Hardware-Komponente und vergleichen sie mit der Arbeit des amerikanischen Teams:

Der in Battering RAM verwendete Speichermodul-Interposer. Quelle
Anstelle eines Kabelgewirrs und eines sperrigen Datenanalysators bietet dieser Aufbau eine einfache, von Grund auf neu entwickelte Platine, in die das Zielspeichermodul eingesetzt wird. Gesteuert wird die Platine von einem preiswerten Raspberry Pi Pico-Mikrocomputer. Das Hardware-Budget ist vernachlässigbar: nur 50 Euro! Darüber hinaus kann Battering RAM im Gegensatz zum WireTap-Angriff heimlich durchgeführt werden; ein ständiger physischer Zugriff auf den Server ist nicht erforderlich. Nach der Installation des modifizierten Speichermoduls können die erforderlichen Daten aus der Ferne gestohlen werden.
Was genau macht diese Platine? Die Forscher fanden heraus, dass durch die Erdung von nur zwei Adresszeilen (die bestimmen, wo Informationen geschrieben oder gelesen werden) im richtigen Moment eine Datenspiegelung hergestellt werden kann. Dadurch werden Informationen in Speicherzellen geschrieben, auf die der Angreifer zugreifen kann. Die Interposer-Platine fungiert als ein Paar einfacher Schalter, die vom Raspberry Pi-Mikrocomputer gesteuert werden. Während die Manipulation von Kontakten auf aktiver Hardware normalerweise zum Einfrieren des Systems oder zur Beschädigung von Daten führt, erreichten die Forscher einen stabilen Betrieb, indem sie die Adressleitungen nur in den erforderlichen Momenten trennten und wieder anschlossen.
Diese Methode gab den Autoren die Möglichkeit, auszuwählen, wo ihre Daten aufgezeichnet wurden. Das bedeutet vor allem, dass sie nicht einmal den Chiffrierschlüssel berechnen mussten! Sie haben zuerst die verschlüsselten Informationen aus dem Zielprozess erfasst. Als nächstes führten sie ein eigenes Programm im selben Speicherbereich aus und forderten das TEE-System auf, die zuvor erfassten Informationen zu entschlüsseln. Diese Technik ermöglichte es ihnen, nicht nur Intel SGX, sondern auch AMD SEV zu hacken. Darüber hinaus half ihnen diese Kontrolle über das Schreiben der Daten, die Sicherheitserweiterung von AMD namens SEV-SNP zu umgehen. Diese Erweiterung, die Secure Nested Paging verwendet, wurde entwickelt, um die virtuelle Maschine vor Unterwanderung zu schützen, indem Datenänderungen im Arbeitsspeicher verhindert werden. Die Umgehung von SEV-SNP ermöglicht Angreifern theoretisch nicht nur das Auslesen verschlüsselter Daten, sondern auch das Einschleusen von Schadcode in eine unterwanderte virtuelle Maschine.
Die Bedeutung physischer Angriffe auf die Server-Infrastruktur
Es ist klar, dass solche Angriffe in der Praxis zwar möglich sind, aber in der Realität wahrscheinlich nicht ausgeführt werden. Der Wert der gestohlenen Daten müsste extrem hoch sein, um eine Manipulation auf Hardwareebene zu rechtfertigen. Dies ist zumindest die Haltung von Intel und AMD zu ihren Sicherheitslösungen: Beide Chiphersteller antworteten den Forschern mit der Aussage, dass physische Angriffe nicht in ihr Sicherheitsmodell fallen. Sowohl das amerikanische als auch das europäische Forschungsteam haben jedoch gezeigt, dass die Kosten für diese Angriffe nicht annähernd so hoch sind, wie bisher angenommen. Dies erweitert möglicherweise die Liste der Bedrohungsakteure, die bereit sind, solche komplexen Schwachstellen zu nutzen.
Die vorgeschlagenen Angriffe haben ihre eigenen Beschränkungen. Wie bereits erwähnt, wurde der Diebstahl von Informationen auf Systemen durchgeführt, die mit standardmäßigen DDR4-Speichermodulen ausgestattet sind. Der neuere DDR5-Standard, der 2020 fertiggestellt wurde, wurde noch nicht für Forschungszwecke unterwandert. Dies ist sowohl auf die überarbeitete Architektur der Speichermodule als auch auf deren höhere Arbeitsgeschwindigkeit zurückzuführen. Es ist jedoch sehr wahrscheinlich, dass die Forschung irgendwann auch in DDR5 Schwachstellen findet. Und das ist gut so: Die deklarierte Sicherheit von TEE-Systemen muss regelmäßig unabhängigen Audits unterzogen werden. Andernfalls kann es vorkommen, dass ein vermeintlich vertrauenswürdiges Schutzsystem ganz plötzlich nicht mehr schützt.
RAM
Tipps