Spectre-NG: "Foreshadow" gefährdet Intel-Prozessoren

Auf der Usenix Security '18 hat ein Team internationaler Experten die Sicherheitslücke Foreshadow erläutert; eine Variante davon gefährdet virtuelle Maschinen.

In Pocket speichern vorlesen Druckansicht 263 Kommentare lesen
Sicherheitslücken Meltdown und Spectre
Lesezeit: 2 Min.
Inhaltsverzeichnis

Forscher veröffentlichen drei weitere Spectre-NG-Sicherheitslücken, darunter eine besonders gravierende: Malware, die Foreshadow alias L1 Terminal Fault ausnutzt, kann aus einer virtuellen Maschine (VM) heraus den vermeintlich geschützten Speicher einer anderen VM lesen, die parallel auf demselben Computer läuft. Das ist vor allem für Cloud-Server kritisch.

Das internationale Forscherteam von vier Universitäten in Belgien, Israel, Australien und den USA war auf die Sicherheitslücke gestoßen. Eigentlich ging es ihnen dabei um die Spezialfunktion Software Guard Extensions (SGX), die sichere "Enklaven", also geschützte Speicherbereiche, auf Cloud-Servern und Client-PCs einrichtet. Dabei entdeckten sie eine Möglichkeit, durch transiente Out-of-Order-Ausführung bestimmter Befehlen Zugriff auf bestimmte SGX-Schlüssel (Attestation Keys) zu bekommen.

Intel fand später heraus, dass sich das Verfahren auch eignet, um die Grenzen der Speicherbereiche von Prozessen und auch VMs zu überwinden; auch RAM des System Management Mode (SMM) ist erreichbar, wo Funktionen mit höchsten Privilegien arbeiten.

Die Webseite foreshadowattack.eu erläutert die SGX-Attacke (CVE-2018-3615), welche das Forscherteam am Mittwoch auf der Usenix Security '18 präsentiert.

[Update:] Zu den drei Varianten von L1 Terminal Fault (L1TF) hat Intel den Security Alert INTEL-SA-00161 veröffentlicht. Das Risiko wird als "hoch" eingestuft. In einem begleitenden Whitepaper zu L1TF verlinkt Intel weitere Informationen.

Von L1TF sind fast alle Intel-Prozessoren seit der ersten Core-i-Generation betroffen. Für viele davon hat Intel bereits Microcode-Updates veröffentlicht – die Risiken sind ja bereits seit Monaten bekannt. Diese Microcode-Updates gelangen über BIOS-Updates und über Updates des Betriebssystems (Windows 10/Linux) auf die Systeme.

Einige der Angriffsmöglichkeiten setzen voraus, dass die Malware auf demselben CPU-Kern läuft wie die angegriffene VM oder SGX-Enklave. Daraus lässt sich schließen, dass Systeme sicherer sind, die jeder VM genau einen oder mehrere "ganze" physische Kerne zuordnen. Möglicherweise ist das auch der Grund, weshalb die OpenBSD-Entwickler derzeit Hyper-Threading standardmäßig abschalten.

Die CPU-Sicherheitslücken Meltdown und Spectre
(Google-)Name Kurzbezeichnung CVE-Nummer
Spectre V1 Bounds Check Bypass CVE-2017-5753
Spectre V1.1 Bounds Check Bypass Store CVE-2018-3693
Spectre V1.2 Read-only Protection Bypass k.A.
Spectre V2 Branch Target Injection (BTI) CVE-2017-5715
Meltdown (GPZ V3) Rogue Data Cache Load CVE-2017-5754
Spectre-NG:
Spectre V3a Rogue System Register Read (RSRE) CVE-2018-3640
Spectre V4 Speculative Store Bypass (SSB) CVE-2018-3639
k.A. Lazy FP State Restore CVE-2018-3665
k.A. Foreshadow (L1 Terminal Fault - SGX) CVE-2018-3615
k.A. L1 Terminal Fault - OS Kernel, SMM CVE-2018-3620
k.A. L1 Terminal Fault - Virtual Machines CVE-2018-3646
Spectre-Varianten via Return Stack Buffer (RSB)
"Spectre v5" ret2spec k.A.
k.A. SpectreRSB k.A.
sonstige
k.A. BranchScope CVE-2018-9056
k.A. SGXPectre k.A.
k.A. NetSpectre k.A.
zu drei weiteren Spectre-NG-Lücken fehlen noch Informationen
GPZ steht für Google Project Zero, Spectre V1 und V2 werden auch GPZ V1 und GPZ V2 genannt

(ciw)