Spectre-Lücke: Microcode-Updates nun doch als Windows Update
So wie einige Linux-Distributionen (re-)aktiviert Microsoft die Möglichkeit, Microcode-Updates mit IBC-Patches gegen Spectre als Update des Betriebssystems einzuspielen – vorerst nur für Core i-6000 (Skylake).
Obwohl schon ältere Windows-Versionen Microcode-Updates für Prozessoren per Windows Update beziehen konnten, hatte Microsoft diese Funktion für Patches gegen die Sicherheitslücke Spectre V2 (CVE-2017-5017) bisher nicht genutzt. Stattdessen zwang Microsoft die Besitzer betroffener Systeme, die Microcode-Updates per BIOS-Update einzuspielen. Das ist viel aufwendiger als ein Windows-Update, ganz abgesehen davon, dass nicht alle Hersteller betroffener Systeme überhaupt BIOS-Updates bereitstellen, insbesondere nicht für ältere Rechner oder wenn der Hersteller gar nicht mehr exisitiert.
Nun stellt Microsoft das optionale Update KB4090007 in Version V1.001 per Microsoft Update Catalog bereit, welches die Intel Microcode Update Revision 0xC2 für Prozessoren vom Typ Intel Core i-6000 (Skylake) enthält.
[Update:] Der Download der .msu-Dateien mit den eigentlichen Updates kann dabei derzeit nur über eine ungesicherte http-Verbindung erfolgen.
µCode-Updates für mehr CPUs
Microsoft verspricht auf der Support-Webseite zu KB4090007, dass später auch Microcode-(µCode-)Updates für andere Prozessortypen folgen sollen. Mittlerweile hat Intel nach dem Rückzug der ersten Updates am 22. Januar auch wieder neue Microcode-Updates für die wichtigsten Prozessor-Baureihen seit 2013 freigegeben – allerdings bisher nur für PC-Hersteller.
Die neuen Microcode-Updates rüsten bei den betroffenen Prozessoren die drei Funktionen Indirect Branch Prediction Barrier (IBPB), Indirect Branch Restricted Speculation (IBRS) und Single Thread Indirect Branch Predictor (STIBP) nach. Diese nutzt Windows mit den Updates von Anfang Januar für Indirect Branch Control (IBC) als Schutz gegen Branch Target Injection (BTI), also Spectre V2.
Aus unerfindlichen Gründen hat Intel die Microcode-Updates bisher nicht in das Linux Processor Microcode Data File integriert, welches einige Linux-Distributionen für Microcode Updates nutzen.
Wer einen PC mit Intel-Prozessor hat, der nicht zur Skylake-Familie gehört, ist also bislang weiter auf BIOS-Updates angewiesen. Die sind ausgerechnet für Skylake-Rechner bei vielen Firmen schon verfügbar, mittlerweile sind auch die ersten BIOS-Updates für Kaby-Lake-Rechner aufgetaucht.
Informationslücken
Weshalb Microsoft die Microcode-Updates gegen BTI bei Windows 10 nicht von Anfang an wie früher per Windows Update eingespielt hat, ist unklar. Möglicherweise hängt es mit Schutzfunktionen wie Early Launch Anti-Malware (ELAM) zusammen, die schon vor dem eigentlichen Start von Windows loslegen. Wenn die CPU zu diesem Zeitpunkt noch kein Microcode-Update hat, dann sind auch die Anti-BTI-Funktionen nicht nutzbar.
AMD hat sich bisher nicht weiter dazu geäußert, wann die angekündigten Microcode-Updates für IBC kommen. In den jüngsten Ryzen-2000G-APUs ist wohl nur die Funktion IBPB aktiviert.
Für Verwirrung hatte auch das optionale Windows-Update KB4078130 gesorgt, welches den Spectre-Schutz abschaltet: Dieses Update wurde nicht automatisch per Windows Update eingespielt, sondern war als Problemlöser für Systeme gedacht, bei denen IBC Probleme machte. Das sollte mit Intels neuen Microcode-Updates nicht mehr vorkommen – genau wegen der erwähnten Probleme hatte Intel am 22. Januar ja die ersten Microcode-Updates zurückgezogen.
Dass nun gerade das Skylake-Update als erstes wieder erscheint, ist dabei kein Zufall: Dieses Update hat Intel nicht überarbeitet, sondern nur nochmals überprüft. Sprich: Es ist dasselbe CPU Microcode Update 0xC2 wie vor dem 22. Januar.
Microcode-Updates mit IBC gegen Spectre V2 für Intel-Prozessoren (Auswahl) | ||||
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 | Beta |
Core i3/i5/i7-2000 | 2. Generation | Sandy Bridge | 2011 | Beta |
Core i3-300/i5-500/i7-600 | 1. Generation | Arrandale, Clarkdale | Pre-Beta | |
Core 2 Duo, Quad | -- | Penryn, Wolfdale, Arrandale | in Planung | |
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 |
Unser Hotline-Tipp erklärt die Identifikation von Intel-Prozessoren anhand der Typenbezeichnung.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmmung wird hier ein externes Video (Kaltura Inc.) geladen.
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Kaltura Inc.) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmmung wird hier ein externes Video (Kaltura Inc.) geladen.
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Kaltura Inc.) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.
(ciw)