Bisherige Schutzmechanismen schützen nicht immer gegen Spectre-artige Seitenkanalangriffe auf Prozessoren, selbst wenn sie perfekt implementiert sind und verschiedene Domains voneinander abschotten. Zu dem Ergebnis kommen Forscher der Systems and Network Security Group an der Vrije Universiteit Amsterdam (VUSec).
Auf Basis von Spectre v2 stellen sie den Angriffsvektor Training Solo vor: Ein Angreifer (etwa ein nicht privilegierter Benutzer auf demselben System) kann das Opfer (etwa einen Kernel) dazu verleiten, sich selbst zu trainieren. Eine derart beeinflusste Sprungvorhersage ermöglicht das Auslesen von Daten.
Zuvor zielten Spectre-artige Angriffe auf domainübergreifende Prozesse ab – eine Anwendung im User-Space etwa konnte die Sprungvorhersage im Kernel beeinflussen. Schutzmechanismen wie Intels Indirect Branch Restricted Speculation (IBRS) verhindern, dass sich mehrere Prozesse über Domaingrenzen hinweg beeinflussen. Training Solo umgeht diese Einschränkung durch das Training innerhalb einer einzelnen Domain.
Bisher leifen Spectre-Angriffe domainübergreifend. Training Solo verleitet den Kernel dagegen zum Selbsttraining.
(Bild: Sander Wiebing, Cristiano Giuffrida, VUSec)
Weil entsprechende Angriffe physischen Zugang zum System voraussetzen, ist ihr Schweregrad im System der Common Vulnerabilities and Exposures (CEV) nur als "Medium" eingestuft. Zu Training Solo gehören die Nummern CVE-2024-28956, CVE-2025-24495 und CVE-2025-20012.
Drei Angriffe für unterschiedliche Konfigurationen
Die VUSec hat derweil drei Angriffstypen innerhalb der Training-Solo-Familie ausgearbeitet. Ein verlaufsbasierter Angriff (History-based) injiziert Instruktionen in den indirect Branch Target Buffer (iBTB). Sobald ein Vorhersagezweig auf eine injizierte Instruktion trifft, lassen sich Daten auslesen. Die so erzielten 1,7 KByte/s reichen etwa für Passwörter oder Textbausteine.
Sind Verläufe in der Sprungvorhersage deaktiviert, zielt Training Solo auf den Befehlszeiger (Instruction Pointer, IP) ab. Die Forscher forcieren dabei Kollisionen bei den Verzweigungsadressen im Cache. Infolgedessen lassen sich zwei Verzweigungen gegenseitig trainieren und damit beeinflussen.
Die dritte Variante ermöglicht überraschenderweise klassische Spectre-v2-Angriffe, die eigentlich gepatcht sind. Dazu widerlegt die VUSec überraschend eine bisherige Annahme: Direkte Zweige können bei Intel die Sprünge in indirekten Zweigen beeinflussen. Als Beispiel ist eine jmp-Instruktion (Jump) aufgeführt, die zu je (Jump-if-equal) springen kann. Das erhöht die Angriffsfläche für Selbsttrainingsangriffe drastisch, sodass sich Daten mit 17 KByte/s auslesen lassen. Intel nennt diesen neuen Angriff Indirect Target Selection (ITS).
Training Solo beinhaltet drei Angriffsvarianten. Die dritte ermöglicht sogar klassische Spectre-Angriffe auf eigentlich gepatchten Systemen. HG steht für "history-crafting gadget", iBTB für "indirect Branch Target Buffer" und IP für "Instruction Pointer".
(Bild: Sander Wiebing, Cristiano Giuffrida, VUSec)
ARM und Intel betroffen, AMD nicht
Alle drei Typen betreffen nach aktuellem Kenntnisstand x86-Prozessoren von Intel und ARM-Modelle. Bei Intel schließt das auch die aktuellen Core Ultra 200 (Arrow Lake und Lunar Lake) ein; ARM führt bisher keine betroffenen Architekturen auf.
AMDs Ryzen- und Epyc-Prozessoren sollen nicht betroffen sein, weil der Schutzmechanismus Auto IBRS (Indirect Branch Restricted Speculation) die spekulative Ausführung von indirekten Vorhersagezweigen komplett deaktiviert.
Intel verteilt Microcode-Updates, die unter anderem die Indirect Branch Predictor Barrier (IBPB) verbessern. Für Linux sind Patches auf Kernelebene erschienen.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmung wird hier ein externer Preisvergleich (heise Preisvergleich) geladen.
Preisvergleiche immer laden
(mma)