Im Kern richtet sich der TONTOU-Angriff gegen eine Annahme heutiger Spectre-v2-Gegenmaßnahmen: dass ein Angreifer das kurze Zeitfenster zwischen dem Säubern des Branch-Predictor-Zustands und dessen Nutzung nicht zu seinem Vorteil ausnutzen kann. Genau dafür entwickelten die Forscher eine Primitive, mit der sich der CPU-Zustand nach der Bereinigung, aber vor der Verwendung erneut manipulieren lässt.
Spectre v2 gehört zur Spectre-Klasse von Schwachstellen und wird auch als Branch Target Injection bezeichnet. Die Variante nutzt den indirekten Branch-Predictor aus, damit der Prozessor das Ziel eines indirekten Sprungs falsch vorhersagt und spekulativ entlang eines vom Angreifer beeinflussten Pfads weiterarbeitet. Auf diesem Weg können sensible Daten offengelegt werden.
Entdeckt wurde die Technik von Daniël Trujillo, Doktorand am MIT Computer Science and Artificial Intelligence Laboratory, und der dortigen außerordentlichen Professorin Mengjia Yan. Trujillo sagte gegenüber BleepingComputer, ein Angreifer benötige „keine besonderen Zugriffsrechte, um beliebigen Speicher aus dem System zu lesen, einschließlich sensibler Daten wie gehashter Passwörter“.
Für ihren praktischen Angriff entwickelten die Forscher eine Interrupt-Injection-Technik. Dabei können, wie sie erklären, „nicht privilegierte Benutzerprogramme Timer-Interrupts so planen, dass sie während der Kernel-Ausführung auftreten“. Dadurch lasse sich der Kernel in den Interrupt-Handler umleiten, um in diesem Handler mikroarchitektonische Zustände innerhalb des Fensters nach der Neutralisierung zu vergiften.
Nach Angaben der Forscher können Interrupts, die in diesem Zeitfenster auftreten, den indirekten Branch-Predictor des Prozessors so beeinflussen, dass Angriffe auf alle Arten indirekter Sprünge möglich werden. Mengjia Yan und Daniël Trujillo testeten das unter der Annahme, dass ein Angreifer beliebigen, nicht privilegierten Code auf einer Linux-Zielmaschine ausführen kann, um Daten aus dem Kernel auszulesen.
Auf einem AMD-Zen-2-Host mit den neuesten Spectre-v2-Gegenmaßnahmen durchlief der Angriff erfolgreich alle Phasen: Neutralisierung, Umleitung, Vergiftung und die Nutzung der vergifteten Branch-Predictors. Die Forscher nennen mehrere Hürden für eine erfolgreiche Ausnutzung, darunter die Umleitung des Kernel-Kontrollflusses, das präzise Ausrichten von Interrupts auf das Zeitfenster nach der Neutralisierung und das Vergiften des Branch-Predictor-Eintrags für den anvisierten indirekten Sprung. Gelöst wurden diese Probleme laut ihrer Beschreibung durch installierte Timer zum Auslösen von Hardware-Interrupts, häufige Interrupt-Injektionen sowie aktive und passive Methoden zur Vergiftung.
Getestet wurde der Angriff auf Intel- und AMD-Prozessoren. Auf einem AMD-Zen-2-System mit Linux 6.14.0-37-generic und 16 GByte RAM konnten die Forscher beliebigen Kernel-Speicher mit 5,47 Byte pro Sekunde und einer Genauigkeit von 91,97 Prozent auslesen. Dazu gehörten auch Inhalte aus /etc/shadow, also der Datei mit Passwort-Hashes.
In zehn Testläufen wurde die Datei in fünf Fällen erfolgreich gefunden und extrahiert; ein Versuch dauerte im Mittel 18 Minuten. Auf Intel-Systemen sei der Angriff ebenfalls möglich, allerdings machten zusätzliche Software-Anforderungen die Umsetzung komplexer, so die Forscher.
Die beiden weisen außerdem darauf hin, dass Interrupt Injection eine vom Angreifer gesteuerte Vergiftung des Return Stack Buffer ermöglicht, was spekulative Fehlvorhersagen von Rücksprungzielen auslöst. Weil passive RSB-Verschmutzung weniger zuverlässig sei, kombinierten sie die Interrupt-Injection mit Inception, einem bereits früher veröffentlichten Angriff, an dessen Entwicklung Daniël Trujillo ebenfalls beteiligt war.
AMD veröffentlichte dazu heute eine Warnmeldung. Darin heißt es, das Interrupt-Injection-Problem „scheint damit zusammenzuhängen“, wie Safe RET unter Linux als Schutz gegen mögliche Angriffe zur Offenlegung von Informationen umgesetzt ist.
Trujillo und Yan präsentierten ihre Ergebnisse heute auf der Black Hat USA. Weitere Details wollen sie auf der USENIX Security 2026 vom 27. bis 29. Oktober vorstellen.
