CPU-Lücke

Neue Spectre-v2-Variante trifft Intel und AMD

Forscher aus Amsterdam und Pisa zeigen mit BTR eine Spectre-Variante, die JIT-Compiler angreift. Betroffen sind CPUs von Intel, AMD und Arm.

Neue Spectre-v2-Variante trifft Intel und AMD

Forscher der Gruppe VUSec an der Vrije Universiteit Amsterdam und der Scuola Superiore Sant’Anna in Pisa haben eine neue Variante des Spectre-v2-Angriffs veröffentlicht. Sie trägt den Namen Branch Target Reuse (BTR) und zielt auf Just-in-Time-Compiler (JIT), die Betriebssystemkerne, Webbrowser und Laufzeitumgebungen nutzen. Das zugrundeliegende Verhalten haben die Forscher auf allen getesteten Prozessoren von Intel, AMD und Arm bestätigt.

Spectre: Veraltete Sprungvorhersagen bleiben erhalten

Anzeige

BTR nutzt aus, wie Prozessoren mit Code umgehen, der sich zur Laufzeit ändert. Moderne CPUs stellen nach einer solchen Änderung zwar die Konsistenz des Codes wieder her, verwerfen dabei aber nicht zwingend veraltete Einträge der Vorhersage für indirekte Sprünge. In JIT-Engines können diese Einträge den Code überdauern, für den sie angelegt wurden, und später wiederverwendet werden, wenn neuer Code an dieselbe Speicherstelle geschrieben wird. Ein Angreifer kann so die spekulative Ausführung auf veraltete Adressen im neuen Code umlenken. Die Forscher sprechen von einem spekulativen Execute-after-free.

„Keine aktuelle CPU verfügt über einen Mechanismus, um beides synchron zu halten. Solange die Hersteller keinen einbauen, ist Ihre CPU verwundbar.“

Forscher der Gruppe VUSec an der Vrije Universiteit Amsterdam und der Scuola Superiore Sant’Anna in Pisa

Anzeige

Root-Passwort-Hash aus dem Linux-Kernel

Die Forscher entwickelten zwei vollständige Exploits gegen den Linux-Kernel. Sie missbrauchen Classic BPF (cBPF), das auch Programme ohne Sonderrechte nutzen können und das etwa bei Seccomp, Socket-Filtern und in Docker und Chrome zum Einsatz kommt. Auf aktuellen Intel-CPUs liest der Exploit beliebigen Speicher aus und umgeht alle aktivierten Schutzmaßnahmen, auch auf vollständig aktualisierten Systemen mit Standardeinstellungen. Die Rate liegt bei 8 Byte pro Sekunde. In einer Demonstration extrahierten die Forscher den Hash des Root-Passworts. Voraussetzung ist, dass der Angreifer Code auf dem System ausführen kann.

Browser und GraalVM ebenfalls betroffen

In Firefox wäre ein Angriff über eine präparierte Website mit JavaScript denkbar. Da Mozilla die Site Isolation noch nicht vollständig umgesetzt hat, könnten auch Inhalte anderer Tabs im selben Adressraum liegen. Ein vollständiger Browser-Exploit existiert noch nicht, die Forscher schätzen die mögliche Rate auf Dutzende Byte pro Sekunde. In Oracles Laufzeitumgebung GraalVM ließ sich die Speichermaskierung des strengsten Sandbox-Modus spekulativ überspringen, ein funktionierender Angriff gelang bisher aber nicht.

Korrekturen liegen bei der Software

Die CPU-Hersteller verweisen auf bestehende Mechanismen wie die Indirect Branch Prediction Barrier (IBPB). Die Korrekturen müssten in der Software erfolgen. Die Linux-Entwickler haben für x86 eine Schutzmaßnahme eingeführt, die auf allen Kernen eine IBPB auslöst, wenn ein cBPF-Programm in einem bereits von BPF-Code genutzten Speicherbereich abgelegt wird. Oracle hat erste Maßnahmen umgesetzt, Mozilla priorisiert den Abschluss der Site Isolation.

Hardware-Schutzfunktionen wie Intels IBT und Arms BTI erschweren Angriffe, verhindern sie aber nicht vollständig. Als frühe Intel-Generation ohne die ausnutzbare Race Condition nennen die Forscher Lion Cove. AMD erklärte gegenüber SecurityWeek, die Arbeit zeige keine neue Schwachstelle in seinen Produkten, die Technik werde durch bestehende Empfehlungen gegen Spectre v2 abgedeckt. Intel und Arm äußerten sich bislang nicht.

(red)

Anzeige