Testet AMD Microcode-Updates gegen Spectre im Insider-Programm? (Update 2)
Update vom 05.04.2018
Mit dem Windows 10 Release RS4 17133.1 meldet nun auch der AMD Epyc “Naples” einen aktivierten Spectre-Schutz. Das ist aber auch nachvollziehbar, denn wie berichtet hat das System via BIOS-Update ein Microcode-Update erhalten. Trotzdem war der Spectre-Schutz mit der “alten” Windows-10-Version 1709 selbst auf neuestem Patchlevel nicht aktiv. Mit dem voraussichtlich am 10.04.2018 erscheinenden “Spring Creators Update” Version 1803 nun jedoch schon.
Update vom 22.03.2018
Inzwischen, 2 Wochen später, haben wir von AMD leider immer noch keine Info dazu erhalten, weshalb das Ryzen-System mit dem Insider-Preview RS5 von Windows 10 plötzlich einen aktivierten Schutz gegen Spectre meldete. Sicher ist, dass die Version Microcode-Updates für Intel-CPUs nachlädt und zwar out-of-the-box, also ohne Verbindung ins Internet. Bei den Ryzen-CPUs dagegen konnten wir wie geschildert keine geänderte Microcode-Version feststellen. Damit konnte nicht geklärt werden, wo der plötzlich aktivierte Schutz herkam. Die andere mögliche Erklärung, dass Microsoft in der Preview eine Art Retpoline for Windows testet, kann auch nur halb erklären was hier passiert ist, denn auf älteren Systemen wie AMD Phenom II X4 gab es trotz der Insider-Preview Redstone 5 keinen Spectre-Schutz.
Heute nun ist für die demnächst erscheinende Windows-10-Version Redstone 4 ein neuer Release-Candidate 17127.1 erschienen. Und wie unserem Forumsbesucher Blutengel aufgefallen ist, zeigt sein Ryzen-System nun auch hier plötzlich einen aktivierten Spectre-Schutz an.
Auffällig: wieder ist es dieses ASRock-Mainboard mit BIOS 4.7, das den AGESA-Code PinnaclePI-AM4_1.0.0.1a enthält. Das allein kann es aber nicht sein, denn noch vor ein paar Tagen zeigte auch sein System noch Spectre-Schutz “No”, obwohl auch zu dieser Zeit schon BIOS 4.7 geflasht war. Womöglich also eine Kombination aus BIOS und neuer Windows-Version? Es bleibt spannend.
Originalartikel vom 08.03.2018
Kurz nach Bekanntwerden der Sicherheitslücken Meltdown und Spectre in modernen Prozessoren Anfang Januar 2018 veröffentlichte Intel erste Microcode-Updates für seine Prozessoren, um die Gegenmaßnahmen auf Softwareseite mit neuen Hardware-Befehlen zu unterstützen. Doch schon wenige Tage später musste Intel die Microcode-Updates wieder zurückziehen, da es Meldungen über Instabilitäten nach den Updates gab. Mittlerweile sind die ersten, verbesserten Versionen für Intel Skylake wieder online und werden sogar über das Windows-Update ausgerollt, müssen also nicht zwingend von den Mainboard-Herstellern in Form neuer BIOS-Versionen veröffentlicht und von Anwendern manuell eingespielt werden.
Mit anderen Worten: es tut sich etwas bei Intel, was aber auch dringend notwendig ist, da Intel von allen drei Varianten der Lücken betroffen ist, mit der Skylake-Architektur sogar in einer Form, die Googles Retpoline-Gegenmaßnahme ins Leere laufen lässt. Daher konzentrierte sich Intel vermutlich zuerst auf diese Architektur. Andere sollen folgen, bis zurück zum Core 2 “Penryn”.
Bei AMD dagegen ist es immer noch verdächtig ruhig was Microcode-Updates betrifft. Zwar hat AMD eingeräumt, auch von Spectre v2 betroffen zu sein, jedoch nur mit einem Risiko “nahe Null”. Zudem sähe man Spectre v2 gerne mit jener Gegenmaßnahme bekämpft, die unter Linux gewählt wurde, da AMD so völlig ohne Microcode-Updates auskäme. Microsoft jedoch hat sich für den anderen Weg über Indirect Branch Restricted Speculation (IBRS), Single Thread Indirect Branch Predictors (STIBP) und Indirect Branch Predictor Barrier (IBPB) entschieden, wodurch auch für AMD-Prozessoren Microcode-Updates notwendig werden. Wann die kommen werden und für welche Architekturen, hat AMD noch nicht kommuniziert.
Heute jedoch haben Besucher unseres Forums eine interessante Entdeckung im Rahmen unserer Meldung zum Tool InSpectre gemacht. Das Tool wertet unter Windows Hard- und Software aus und meldet, ob das verbaute System gegen Meltdown und Spectre geschützt ist oder nicht. Bei einem AMD Ryzen “Summit Ridge” sieht das unter Windows 10 v1709 normalerweise so aus:
Geschützt vor Meltdown (da AMD-Prozessoren nicht betroffen sind), nicht geschützt vor Spectre, da es noch kein Microcode-Update von AMD gibt, und folglich auch keine Performance-Einbußen. So weit, so normal.
User ThePowerOfDream hat bei seinem Ryzen-System jedoch folgenden Status:
Hier meldet InSpectre völlig überraschend, dass das System gegen Spectre gepatcht sei:
This system’s AMD processor is not affected by the Meltdown vulnerability and it has been updated with new features required to allow its operating system to eliminate the Spectre vulnerabilities and/or to minimize their impact upon the system’s performance.
Zunächst einmal fiel der Verdacht auf das Mainboard-BIOS. Der User hat die neueste Version 4.70 des ASRock AB350M-Pro4 installiert, das bereits AGESA PinnaclePI-AM4_1.0.0.1a enthält. Allerdings zeigte ein Gegentest im Forum, dass ein anderer User mit dem gleichen AGESA-Code und gleicher BIOS-Version beim Spectre-Fix den Wert No! stehen hat. Oder auf einen Blick:
User ThePowerOfDream:
User LordNord:
Gleicher Mainboard-Hersteller, gleicher Chipsatz, gleiche BIOS-Version, gleicher AGESA-Code, gleiche Prozessor-Familie. Der einzige Unterschied: LordNord ist ganz normal mit Windows 10 v1709 und aktuellem Mainstream Build 16299.251 unterwegs, wohingegen User ThePowerOfDream am Insider-Programm teilnimmt und sich derzeit auf Stand Windows 10 “Redstone 5” Build 17618.1000 befindet. Es sieht demnach so aus, als würde AMD hier seine Microcode-Updates fernab der breiten Masse testen. Interessant ist lediglich, dass HWiNFO64 für beide Systeme die gleiche Microcode-Version ausliest; µCU 8001136. Falls Windows hier aktuelleren Microcode nachlädt, kriegt es HWiNFO64 jedenfalls nicht mit.
Die andere mögliche Erklärung wäre, dass Microsoft in Redstone 5 – immerhin erst die übernächste Windows-10-Version – soetwas wie “Retpoline for Windows” testet, wodurch die AMD-Prozessoren auch ohne Microcode-Update geschützt wären, und die Tools deswegen darauf anspringen.
Ein zunächst vermuteter Auslesefehler des Tools InSpectre scheint unwahrscheinlich, denn das Microsoft-eigene Powershell-Skript kennzeichnet den Ryzen “Summit Ridge” unter der Windows 10 RS5-Preview ebenfalls als gepatcht und geschützt vor Spectre. Müssten sich dann schon zwei Tools irren. Wir bleiben diesbezüglich am Ball…
Danke ThePowerOfDream und LordNord für’s gegentesten!
Links zum Thema:
- Testet AMD Microcode-Updates gegen Spectre im Insider-Programm? (Update) ()
- Intel legt mit Microcode-Updates vor – AMD beginnt mit Epyc ()
- AMD Epyc verliert kaum Leistung durch Spectre-v2-Fix Retpoline ()
- InSpectre Release #7 mit CPUID veröffentlicht ()
- Spectre Firmware-Updates: Mainboard-Hersteller warten auf AMD ()
- AMD gibt Programmierleitfaden gegen Spectre heraus ()
- Microsoft bringt kumulatives Update KB4073290 mit AMD-Patch ()
- AMD stellt klar: MS-Patch nur gegen Spectre auf AMD-Hardware ()
- Microsoft zieht Meltdown-Patch für AMD-Systeme zurück ()
- Massive Sicherheitslücke in Intel-CPUs (Update: AMD, ARM, Bugfixes) ()