c't 19/2018
S. 18
News
Spectre-Lücke L1 Terminal Fault
Aufmacherbild

Angriff auf die Cloud

Neue Spectre-NG-Lücke in Intel-Prozessoren

Es ist die bislang gefährlichste der Spectre-NG-Lücken: L1 Terminal Fault bedroht virtuelle Maschinen auf Cloud-Servern.

Ein Team aus zehn Wissenschaftlern von vier Universitäten war nötig, um die Sicherheitslücke L1 Terminal Fault zu enttarnen. Die Experten veröffentlichten dazu anlässlich der Usenix Security ’18 am 14. August mehr als 20 Seiten Material. Der schiere Umfang der Informationen zeigt schon, dass sich L1TF alias Foreshadow nicht so leicht für praktische Angriffe nutzen lässt. Gleichwohl handelt es sich um die bisher schwerwiegendste der Prozessorschwachstellen, die c’t als Spectre Next Generation (Spectre-NG) Anfang Mai ankündigte. Betroffen von L1TF sind sämtliche Core-i-Prozessoren und verwandte Xeons, aber keine Atoms. Nach derzeitigem Kenntnisstand sind Prozessoren von AMD und mit ARM-Technik nicht betroffen.

L1TF ist gefährlich, weil damit Angriffe aus einer virtuellen Maschine (VM) heraus auf eine zweite VM möglich sind, die auf demselben Server läuft – und auf den Host selbst. Durch Ausnutzen von L1TF lässt sich der vermeintlich geschützte Arbeitsspeicher lesen, den eine VM gerade benutzt. Besonders Cloud-Dienstleister müssen Schutzmaßnahmen ergreifen: Sie vermieten VMs an jedermann per Web und können deshalb kaum verhindern, dass darin bösartiger Code ausgeführt wird, der andere Kunden ausspioniert.

Abhilfe

Gegen L1TF gibt es Patches für alle gängigen Betriebssysteme, sie kommen über automatische Updates. Detaillierte Informationen einzelner Hersteller finden Sie über ct.de/yky8. Beispielsweise haben Intel, Microsoft, Red Hat, Suse, Cisco, NetApp und VMware Security Advisories herausgebracht. In bereits ausgelieferte Microcode-Updates, die Schutzfunktionen gegen älteren Spectre-Lücken enthalten, hat Intel auch schon welche gegen L1TF eingebaut. Solche Microcode-Updates bekommt man außer per BIOS-Update auch mit Updates für Windows und für Linux-Distributionen.

Die Gefahr von L1TF-Attacken lässt sich aber auch eindämmen, indem jede VM auf einem eigenen physischen CPU-Kern läuft, also indem man Hyper-Threading (HT) deaktiviert. Das ist einer der Gründe, weshalb OpenBSD HT jetzt standardmäßig abschaltet.

Ziel SGX

Das erwähnte Team aus Forschern der KU Leuven (Belgien), von Technion (Israel) sowie von den Unis Michigan (USA) und Adelaide (Australien) zielte mit seinen Untersuchungen eigentlich auf die Sicherheitsfunktion Software Guard Extensions (SGX) in aktuellen Intel-Prozessoren. SGX ist vor allem dazu gedacht, dass Nutzer von Cloud-VMs nicht mehr dem jeweiligen Cloud-Anbieter vertrauen müssen, sondern nur noch Intel. Mit SGX lassen sich Informationen sogar vor den Administratoren der Cloud-Server verstecken. Letztlich gelang es aber, über L1TF die sogenannten Attestation Keys auszulesen. Diese kryptografischen Schlüssel sollen sicherstellen, dass die verschlüsselte SGX-Enklave wie erwartet arbeitet.

Bei eigenen Untersuchungen von L1TF stellte Intel dann fest, dass die Sicherheitslücke auch den Speicher von VMs zugänglich machen kann sowie Speicher in geschützten Adressbereichen des Betriebssystem-(OS-)Kernels sowie des System Management Mode (SMM).

Die Schutzmaßnahmen gegen L1TF hängen vom jeweiligen Einsatzbereich ab, also VM, OS oder SMM. Meistens sind dabei Updates des Hypervisors (VM), des Betriebssystem (OS) und des BIOS (SMM) nötig plus die erwähnten Microcode-Updates. Kommende Xeon-Prozessoren sollen nicht mehr gegen L1TF empfindlich sein.

Leistungsverluste

Tabelle
Tabelle: Die CPU-Sicherheitslücken Meltdown und Spectre(-NG)

Intel hat selbst einige Messungen an Systemen mit und ohne Schutz gegen L1TF durchgeführt (siehe ct.de/yky8). Deutliche Einbußen der Performance gibt es demnach nur, wenn man Hyper-Threading abschaltet. Das ist aber erstens nur bei Prozessoren mit HT nötig und zweitens auch nur bei Cloud-Dienstleistern, die befürchten, dass bösartige VMs auf ihren Systemen laufen können.

Mit L1TF sind nun sechs Spectre-NG-Lücken bekannt – aber die Spectre-NG-Familie wächst von acht auf neun Mitglieder, weil Intel L1TF-VM nun separat ausweist. Nach unserer Kenntnis sind noch zwei weniger schwerwiegende Lücken zu erwarten. Wir werden der koordinierten Veröffentlichung weiterhin nicht vorgreifen – es zeigt sich ja am Beispiel von L1TF, dass es sinnvoll ist, wenn zum Zeitpunkt der Veröffentlichung schon Patches bereitstehen.

Die Klasse der Spectre-artige Lücken ist enorm angewachsen, was die Einschätzung bestätigt, dass alle Hersteller bei der Prozessorarchitektur umdenken müssen. Das passiert auch, wie die CPU-Entwicklerkonferenz Hot Chips 2018 zeigt (siehe S. 16). Intel kündigte dort auch die ersten Hardware-Maßnahmen gegen Spectre in kommenden Xeons an.

Die Patches gegen L1TF senken die Performance wenig – außer, man schaltet auch Hyper-Threading ab.

Allerdings darf man die Gefahren einiger Spectre-Lücken nicht überbewerten, denn manche sind nur Varianten bekannter Angriffe, die nur funktionieren, wenn man bereits verfügbare Patches weglässt – etwa NetSpectre. Einige der Lücken haben nicht einmal CVE-Nummern, wurden also nicht in die Datenbank der Common Vulnerabilities and Exploits aufgenommen.

Die Fülle der Spectre-Varianten resultiert auch aus intensiver Forschung zu Seitenkanalattacken an Universitäten, teils mit öffentlichen Fördermitteln. Mancher Experte schielt zudem auf die Belohnungen für nachgewiesene Bugs (Bug Bounties), die über 1 Million US-Dollar betragen können.

Bisher sind keine praktischen Angriffe mit L1TF und anderen Spectre-Versionen bekannt. Bei privat genutzten Computern wiegen andere Sicherheitsrisiken weiterhin schwerer als die Spectre-Lücken – aber das kann sich ändern, daher sind regelmäßige Updates ratsam. (ciw@ct.de)