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.
- Christof Windeck
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.
Hauptziel SGX
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.
VM-Attacken
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.
Intel-Infos
[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.
1 VM pro (physischem) Kern
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)