CPU-Lücke Spectre V2: Microcode-Updates jetzt unter Windows 10 1803, unter Linux lückenhaft

Microcode-Updates für Intel-Prozessoren, die unter Windows zum Schutz vor der Sicherheitslücke Spectre V2 nötig sind, kommen nun auch per Windows Update für aktuelle Installationen; bei Linux gibt es aber noch Probleme.

In Pocket speichern vorlesen Druckansicht 26 Kommentare lesen
CPU-Lücke Spectre V2: Microcode-Updates jetzt unter Windows 10 1803

Microsofts PowerShell-Skript SpeculationControlSettings meldet mit KB4100347 Schutz vor Branch Target Injection (BTI).

Lesezeit: 2 Min.

Viele Windows-10-PCs sind künftig auch ohne BIOS-Updates gegen die Sicherheitslücke Spectre V2 alias Branch Target Injection (BTI, CVE-2017-5715) geschützt: Endlich steht ein Update-Paket mit den dazu nötigen Microcode-Updates für viele Intel-Prozessoren seit 2011 bereit, also für Core-i-Prozessoren ab der Generation Core i-2000 (Sandy Bridge).

Im Support-Artikel KB4100347 erklärt Microsoft, welche Microcode-Updates in dem neuen Update enthalten sind. Diese Updates sollen künftig automatisch auch per Windows Update verteilt und installiert werden – anders als das bei Windows 10 1709 der Fall war. Auf einem Testrechner mit Windows 10 1803 funktionierte die Automatik allerdings heute noch nicht.

CPU-Sicherheitslücken Meltdown und Spectre

Die Microcode-Updates lassen sich aber auch von Hand installieren, sie stehen für die 32- und 64-Bit-Versionen von Windows 10 1803 (April-Update) sowie für Windows Server 2016 im Microsoft Update Catalog bereit. Nach wie vor erfolgt der Download letztlich leider über eine ungesicherte http-Verbindung statt verschlüsselt per https. Weshalb Microsoft die Microcode-Updates nicht beim vergangenen Patchday verteilt hat, wird nicht erklärt.

Viele Linux-Distributionen versorgen sich selbst mit solchen Microcode-Updates, die Intel auch im sogenannten "Linux Processor Microcode Data File" bereitstellt. Das hat Intel zuletzt am 28. April aktualisiert (Version 20180425), dokumentiert es allerdings unzureichend. Denn man findet nur durch Analyse jedes einzelnen der zahlreichen enthaltenen Microcode-Updates heraus, auf welchem Stand sie jeweils sind.

Eine solche Analyse hat ein Blogger durchgeführt und dabei festgestellt, dass die erwähnte Version 20180425 des Linux Processor Microcode Data File zahlreiche der von Intel bereits Anfang April versprochenen Microcode-Updates gar nicht enthält, sondern stattdessen ältere Versionen. Betroffen sind demnach beispielsweise einige Xeon-Typen (Broadwell, Nehalem) sowie Atom-Chips und sogenannte Atom-Celerons (Bay Trail, Apollo Lake).

Somit sind Linux-Rechner mit solchen Prozessoren, für die es auch kein BIOS-Update mit den nötigen Microcode-Updates gibt, unter Umständen ungeschützt.

[Update:] Praktisch alle Linux-Distributionen verwenden allerdings Schutzverfahren wie Retpoline, die ohne Microcode-Updates auskommen oder sie nur verwenden, um den Schutz zu verbessern. [/Update]

(Ursprünglich stand hier, dass nur "manche" Linux-Distributionen Retpoline verwenden.)

Microcode-Updates mit IBC gegen Spectre V2 für Intel-Prozessoren (Auswahl, Stand 26.4.2018)
Prozessor-Familie Core-i-Generation Codename Einführungs-
Jahr
Version des Microcode-Update
Core i3/i5/i7-8000 8. Generation Coffee Lake 2017 0x84
Xeon E-2000 -- Coffee Lake 2018 0x84
Core i3/i5/i7-7000 7. Generation Kaby Lake 2016 0x84
Xeon-SP -- Skylake-SP 2017 0x2000043
Core i3/i5/i7-6000 6. Generation Skylake 2015 0xC2
Xeon E5-2000 v4 -- Broadwell-EP 2015 0xB00002A
Core i3/i5/i7-5000 5. Generation Broadwell-H 2014 0x1D
Core i3/i5/i7-5000U/Y 5. Generation Broadwell-U/Y 2014 0x2A
Xeon E5-2000 v3 -- Haswell-EP 2014 0x3C
Core i3/i5/i7-4000 4. Generation Haswell 2013 0x24
Core i3/i5/i7-3000 3. Generation Ivy Bridge 2012 0x1F
Core i3/i5/i7-2000 2. Generation Sandy Bridge 2011 0x2D
Core i3-300/i5-500/i7-600 1. Generation Arrandale, Clarkdale 0x6, 0x10
Core 2 Duo, Quad -- Penryn, Wolfdale, Arrandale kein Update
Pentium Silver N/J5000 -- Gemini Lake 2018 00000022
Celeron N/J4000 -- Gemini Lake 2018 00000022
Atom x5-E3900 -- Apollo Lake 2017 00000008, 000002E
Pentium N/J4200 -- Apollo Lake 2017 000002E
Celeron N/J3300 -- Apollo Lake 2017 000002E
Pentium N/J3000 -- Braswell 2015 00000410
Celeron N/J3000 -- Braswell 2015 00000410

(ciw)