Forscherinnen und Forscher haben eine neue Technik entdeckt, mit der bestehende Hardware-Schutzmaßnahmen in modernen Prozessoren von Intel und Arm umgangen werden können und spekulative Ausführungsangriffe wie Spectre inszeniert werden können, um sensible Informationen aus dem Host-Speicher auszulesen.

Angriffe wie Spectre zielen darauf ab, die Isolierung zwischen verschiedenen Anwendungen zu durchbrechen, indem sie eine Optimierungstechnik namens spekulative Ausführung in CPU-Hardware-Implementierungen ausnutzen, um Programme dazu zu bringen, auf beliebige Speicherplätze zuzugreifen und so ihre Geheimnisse zu verraten.

Während die Chip-Hersteller sowohl Software- als auch Hardware-Schutzmechanismen wie Retpoline und Schutzmechanismen wie Enhanced Indirect Branch Restricted Speculation (eIBRS) und Arm CSV2 eingebaut haben, zielt die neueste von den VUSec-Forschern vorgestellte Methode darauf ab, all diese Schutzmechanismen zu umgehen.

Die sogenannte Branch History Injection (BHI oder Spectre-BHB) ist eine neue Variante des Spectre-V2-Angriffs (verfolgt als CVE-2017-5715), die sowohl eIBRS als auch CSV2 umgeht. Die Forscher beschreiben sie als einen „sauberen End-to-End-Exploit“, der auf modernen Intel-CPUs beliebigen Kernel-Speicher ausspäht.

„Die Hardware-Abschwächungen verhindern, dass unberechtigte Angreifer Prädiktor-Einträge für den Kernel einschleusen können“, erklären die Forscher.

„Der Prädiktor verlässt sich jedoch auf eine globale Historie, um die Zieleinträge für die spekulative Ausführung auszuwählen. Und der Angreifer kann diese Historie vom Benutzerland aus vergiften, um den Kernel zu zwingen, „interessantere“ Kernel-Ziele (z. B. Gadgets) zu wählen, die Daten ausspähen“, fügte die Systems and Network Security Group der Vrije Universiteit Amsterdam hinzu.

Anders ausgedrückt: Ein bösartiger Code kann die gemeinsam genutzte Verzweigungshistorie, die im CPU Branch History Buffer (BHB) gespeichert ist, nutzen, um falsch vorhergesagte Verzweigungen im Hardwarekontext des Opfers zu beeinflussen, was zu einer spekulativen Ausführung führt, die dann genutzt werden kann, um Informationen abzuleiten, die sonst unzugänglich sein sollten.

BHI betrifft wahrscheinlich alle Intel- und Arm-CPUs, die zuvor von Spectre-V2 betroffen waren, was beide Unternehmen dazu veranlasst hat, Software-Updates zu veröffentlichen, um das Problem zu beheben. Chipsätze von AMD sind jedoch nicht von der Schwachstelle betroffen.

Intel empfiehlt seinen Kunden außerdem, die unprivilegierten erweiterten Berkeley Packet Filter (eBPF) von Linux zu deaktivieren, sowohl eIBRS als auch Supervisor-Mode Execution Prevention (SMEP) zu aktivieren und „LFENCE zu bestimmten identifizierten Gadgets hinzuzufügen, die sich als ausnutzbar erwiesen haben.“

„Die Abhilfemaßnahmen [Intel eIBRS und Arm CSV2] funktionieren wie beabsichtigt, aber die verbleibende Angriffsfläche ist viel größer, als die Hersteller ursprünglich angenommen haben“, so die Forscher.

„Dennoch ist es schwieriger als zuvor, ausnutzbare Gadgets zu finden, da der Angreifer keine direkten Prädiktoren über Privilegiengrenzen hinweg einschleusen kann. Das heißt, der Kernel wird nicht spekulativ zu beliebigen, vom Angreifer bereitgestellten Zielen springen, sondern nur spekulativ gültige Codeschnipsel ausführen, die er bereits in der Vergangenheit ausgeführt hat.“