Linux: Kernel und Distributionen schützen vor Prozessorlücke Foreshadow/L1TF

Mit neuen Kernel-Updates kann man sich vor den als Foreshadow oder L1TF genannten Prozessorlücken schützen, die viele moderne Intel-Prozessoren betreffen.

In Pocket speichern vorlesen Druckansicht 68 Kommentare lesen
Sicherheitslücken Meltdown und Spectre
Lesezeit: 5 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Der Hauptentwicklungszweig des Linux-Kernels und erste Linux-Distributionen schützen bereits vor der Foreshadow oder L1 Terminal Fault (L1TF) genannten Lücke, die am Dienstagabend bekannt wurde. Sie betrifft viele moderne Intel-Prozessoren.

Cloud-Anbieter und Admins von Systemen, bei denen Nutzer in virtuellen Maschinen eigene Betriebssysteme oder Kernel einspielen können, müssen für den Schutz nicht nur die Updates einspielen, sondern auch HyperThreading (HT) deaktivieren. Beim Betrieb von VMs können die Gegenmaßnahmen zu einem Performance-Verlust von bis zu fünfzig Prozent führen, heißt es in Linux-Kreisen. Wer keine virtuellen Maschinen einsetzt, braucht indes keinen Geschwindigkeitsverlust fürchten. Prozessoren anderer Hersteller sind nicht von der Lücke betroffen.

Die Gegenmaßnahmen für L1TF hat Linus Torvalds am Dienstagabend um 19 Uhr (MESZ) ungefähr zu der Zeit integriert, als die Entdecker, Intel und andere die als CVE-2018-3615, CVE-2018-3620 und CVE-2018-3646 geführte Lücken veröffentlicht haben.

Torvalds hat die unter Verschwiegenheitsabkommen in den vergangenen Monaten entwickelten Gegenmaßnahmen in den Hauptentwicklerzweig von Linux eingepflegt, aus dem Mitte Oktober Linux 4.19 hervorgeht. Bereits eine Viertelstunde später veröffentlichte der Betreuer der wichtigsten Stable- und Longterm-Kernel auch Vorabversionen der Linux-Versionen 4.18.1, 4.17.15, 4.14.63, 4.9.120 und 4.4.148, die den Schutz aufgegriffen haben.

Wie üblich gibt es bei solchen Versionen eine mindestens 48 Stunden dauernde Test- und Begutachtungsphase, bevor diese freigegeben werden. Wer bis Donnerstagabend nicht warten will, kann die Vorabversionen einsetzen; die Gefahr von Problemen ist gering, denn abgesehen von den Gegenmaßnahmen enthalten die neuen Linux-Kernel nur kleine und eher ungefährliche Änderungen. [Update 2018-08-15 18:30] Die genannten Stable- und Longterm-Kernel sind gerade erschienen und stehen auf Kernel.org zum Herunterladen bereit. Anders als angekündigt hat die Begutachtungsphase damit nicht mindestens zwei, sondern nur knapp einen Tag gedauert; letztlich haben die Kernel.org-Entwickler damit keine 24 Stunden gebraucht, um die Gegenmaßnahmen für die Lücken in die gängigsten Stable- und Longterm-Kernel-Reihen zu integrieren. [/Update]

Zum Bekanntwerden der Lücke haben die großen Linux-Distributionen auch gleich Updates veröffentlicht, mit denen sich Anwender schützen können. Diese nutzen die in den Hauptentwicklungszweig von Linux eingezogenen Quellcodeanpassungen oder damit verwandte Anpassungen.

Red Hat hat eine ausführliche Webseite zu L1TF eingerichtet, die Hintergründe zu den Lücken, den betroffenen Red-Hat-Produkten und den zum Schutz erforderlichen Schritten bündelt. Suse hat eine ähnliche, aber etwas knappere Seite zu L1TF publiziert. Wenig später hat dann auch Ubuntu die Infos auf einer Wiki-Seite gebündelt. Das Debian-Projekt hat bislang keine Updates veröffentlicht, arbeitet aber offenbar daran, die erwähnten Stable- und Longterm-Kernel aufzugreifen.

Für einen umfassenden Schutz müssen Linux-Anwender nicht nur den Linux-Kernel aktualisieren, sondern sich auch Microcode-Updates für ihren Prozessor beschaffen: Wie schon bei den Maßnahmen gegen Spectre v2 rüsten diese Funktionen nach, auf die Linux zum Schutz zurückgreift. Die meisten Distributionen liefern diese Updates selbst aus; bei einigen muss man das aber explizit konfigurieren oder BIOS-Updates einspielen, die die neuen Microcodes mitbringen.

Neue Kernel-Parameter beeinflussen, was Linux alles zum Schutz vor L1TF tut.

(Bild: Screenshot des Linux-Commits d90a7a0ec83f )

Beim Direktbetrieb auf der Hardware sollen die Gegenmaßnahmen keinen nennenswerten Einfluss auf die Performance haben, da die Entwickler hier einen Trick nutzen, der kaum Overhead hat. Beim Virtualisieren mit dem Linux-eigenen Hypervisor sieht das anders aus, denn der Kernel leert jetzt jedes Mal den wichtigsten Zwischenspeicher für Arbeitsspeicherinhalte, wenn er die VM auszuführen beginnt oder wieder zum Host zurückspringt. Laut den derzeit kursierenden Informationen soll der Flush des L1-Cache die Performance je nach Workload um 15 bis 50 Prozent senken. Das kann man mit einem der neuen Kernel-Parameter vermeiden, die das Verhalten der Schutzfunktion beeinflussen.

Über die neuen Parameter kann man den Linux-Kernel auch gleich anweisen, das typischerweise auch im BIOS-Setup abschaltbare HyperThreading zu deaktivieren, denn das bietet einen Angriffsvektor, den Linux nicht so leicht abfangen kann. Standardmäßig bleibt HyperThreading aber an, denn der Schutz vor diesem Angriffsweg ist vorwiegend für Anbieter wichtig, wo eine virtuelle Maschine womöglich parallel mit einer böswilligen auf demselben CPU-Kern läuft.

Viele weitere Details und Hintergründe liefern die oben genannten Webseiten der Distributoren und ein Dokument zu L1 Terminal Fault, das die Linux-Entwickler in die Dokumentation ihres Kernels integriert haben. Red Hat hat zudem ein kürzeres und ein längeres Video veröffentlicht, die einige der wichtigsten Informationen zu Foreshadow/L1 Terminal Fault nennen.

(thl)