SLAM: Neue Spectre-Variante gefährdet zukünftige CPU-Generationen

Forscher tricksen das Speichermanagement kommender CPU-Generationen aus, um vermeintlich geschützte Daten aus dem RAM zu lesen.

In Pocket speichern vorlesen Druckansicht 8 Kommentare lesen
Lesezeit: 3 Min.

Ein Wissenschaftler-Team der Vrije Universiteit Amsterdam hat eine neue Variation des Spectre-Angriffs entdeckt, der erstmals nur zukünftige CPU-Generationen betrifft. Die Attacke macht sich ein neues CPU-Feature namens Linear Address Masking zunutze, das im kommenden Jahr Einzug bei Intel- und AMD-Prozessoren halten wird.

Spectre nutzte eine Funktion moderner CPUs aus, Verzweigungen im Programmcode vorherzusagen und den vorhergesagten Programmteil spekulativ schon einmal auszuführen, auch wenn er noch nicht erreicht ist. Indem Angreifer diese Funktion gezielt in die Irre führen, können sie Programmteile ausführen lassen, die bei linearer Abarbeitung nie erreicht würden – so können sie auch Daten auslesen, die eigentlich unzugänglich wären.

Dreh- und Angelpunkt für Spectre-Angriffe ist die Möglichkeit, über verwundbaren Code etwa im Linux-Kernel die Gültigkeitsprüfung für Speicheradressen (canonicality check) auszutricksen. Diese Prüfung stellt sicher, dass die obersten 16 beziehungsweise 7 Bit einer 64 Bit langen virtuelle Speicheradressen stets eine Kopie des 47. bzw. 45. Bit sind und verursacht andernfalls einen Speicherzugriffsfehler. Allerdings nutzen verschiedene Sicherheitsmechanismen ebendiese Adressbereiche für Metadaten, was die Gültigkeitsprüfung aushebelt.

Um diesen Widerspruch aufzulösen, haben zukünftige Intel- und AMD-CPUs eine Funktion, die ihnen erlaubt, einige Adressbits von der Gültigkeitsprüfung auszunehmen – diese heißt bei Intel-CPUs Linear Address Masking (LAM) und in der AMD-Welt Upper Address Ignore (UAI). ARM-Prozessoren kennen mit "Top Byte Ignore" eine ähnliche Funktion.

Die Amsterdamer Forscher haben nun einen Weg gefunden, mittels komplexer Manipulation der Caches und des Translation Lookaside Buffer (TLB) diese CPU-Funktionen für ihre Zwecke zu missbrauchen und Spectre an die neuen CPUs anzupassen.

Die praktische Umsetzung dieses Angriffs gestaltete sich für die Wissenschaftler allerdings schwierig, denn es sind schlicht noch keine CPUs mit UAI oder LAM lieferbar. Die ersten Intel-Prozessoren mit LAM werden der für 2024 angekündigte (Cloud-)Serverprozessor Sierra Forest sein sowie die Mobilprozessoren Arrow Lake und Lunar Lake.

Für ihren "Proof of Concept" mussten die Informatiker deshalb auf eine LAM-Softwareemulation zurückgreifen. Mit dieser gelingt es ihnen, innerhalb weniger Sekunden als normaler Linux-Nutzer eine Zeile der Datei /etc/shadow aus dem Speicher auszulesen – die Datei ist nur für den Administrator-Nutzer root zugänglich.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

Die Wissenschaftler präsentieren ihre Ergebnisse im Mai nächsten Jahres auf dem IEEE-Symposium "Security & Privacy", einer der prestigeträchtigsten Konferenzen für Sicherheitsforscher. Vorab haben sie neben dem 16-seitigen Aufsatz zu SLAM auch ein Github-Repository und eine Projekt-Website aufgesetzt, die neben Demonstrationen funktionierender Exploits auch Ideen und Code für Gegenmaßnahmen bereithalten.

Der "Spectre" genannte Angriff gegen moderne Prozessoren wurde 2018 erstmals der Öffentlichkeit präsentiert und erfuhr seitdem mehrere Aktualisierungen, etwa durch den Angriff "Inception". Wie c't-Redakteure Carsten Spille und Christof Windeck in einer Podcast-Folge zum vierjährigen Jubiläum des CPU-Exploits anmerkten, sind praktische Anwendungsfälle für die Sicherheitslücke jedoch noch immer selten. (cku)