Windows-Patch & Microcode: AMD und Microsoft liefern Schutz gegen Spectre V2 aus

Update 2 Jan-Frederik Timm
171 Kommentare
Windows-Patch & Microcode: AMD und Microsoft liefern Schutz gegen Spectre V2 aus

Der Patchday April 2018 bringt Nutzern der aktuellen Windows-10-Version 1709 „Fall Creators Update“ jetzt auch für viele CPUs von AMD eine Gegenmaßnahme gegen die Sicherheitslücke Spectre Variante 2. Auch sie setzt neuen CPU-Microcode voraus, den AMD parallel an OEMs verteilt. Und Anwender müssen sie manuell aktivieren.

Dass auch CPUs von AMD wie die von Intel neuen Microcode mit neuen CPU-Befehlen unter Windows benötigen, um das vom Hersteller als „Near-Zero Risk“ bezeichnete Restrisiko aus der Sicherheitslücke Spectre Variante 2 auszulöschen, ist schon länger bekannt. Wann das passieren sollte, war allerdings offen.

Neuer Microcode bis zurück zu Bulldozer (2011)

Das Update KB4093112, vorerst exklusiv für Windows 10 Version 1709, enthält jetzt die Option, den neuen CPU-Befehl Indirect Branch Prediction Barrier (IBPB) zu nutzen, mit dem gegen Spectre Variante 2 vorgegangen werden kann. Damit er genutzt werden kann, muss die CPU diesen Befehl aber erst beigebracht bekommen. Wie bei Intel geschieht das auch bei AMD über neuen CPU-Microcode, den der Hersteller mit dem heutigen Tag für alle CPUs bis zurück zu den ersten Bulldozer-Prozessoren aus dem Jahr 2011 an OEMs verteilt hat. Endkunden sollen ihn also in Kürze über BIOS- und Firmware-Updates erhalten – zumindest in der Theorie.

In der Praxis lehrt die Erfahrung mit BIOS- und Firmware-Updates für Systeme mit Intel-CPU allerdings, dass nur wenige OEMs und nicht alle Mainboard-Hersteller die Verteilung bisher zufriedenstellend vorangetrieben haben. Zumindest für Inhaber der neuesten Architekturen vom Typ Intel Skylake, Kaby Lake und Coffee Lake waren vor diesem Hintergrund Microcode-Updates für Windows 10 von Microsoft hilfreich, die den neuen Microcode am BIOS vorbei rechtzeitig laden. Inhaber älterer Architekturen oder der Betriebssysteme Windows 7 und Windows 8.1 gehen aber auch hier noch leer aus. Ob oder wann Microsoft den von AMD freigegebenen Microcode ebenfalls per Windows-Update verteilen wird, darüber gibt es bisher keine Auskunft.

Erste Hersteller dürften bei AMD immerhin bereits mit der Implementierung und Verteilung begonnen haben, darauf deuteten schon vor Wochen erste Hinweise hin.

Anwender müssen den Schutz manuell aktivieren

Anwender erhalten den Schutz bei AMD allerdings nicht automatisch, wenn sie das Windows-Update und neuen Microcode erhalten haben. Im Gegensatz zur Gegenmaßnahme für Intel-Systeme müssen sie den neuen CPU-Befehl erst über die Eingabeaufforderung aktivieren (als Administrator ausführen).

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 64 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Interessant ist, dass die in Windows 10 implementierten Gegenmaßnahmen für CPUs von AMD nicht den bisher für Intel implementierten entsprechen. AMD hatte das allerdings Ende Januar in Aussicht gestellt. Mit Indirect Branch Predictor Barrier (IBPB) setzt AMDs Gegenmaßnahme nur auf einen der drei von Intel bekannten Befehle, Indirect Branch Restricted Speculation (IBRS) und Single Thread Indirect Branch Predictors (STIBP) bleiben außen vor. In einem Whitepaper (PDF) erklärt AMD, die beiden anderen Befehle derzeit nicht als performante Gegenmaßnahme in Windows empfehlen zu können. Der Hersteller schließt also nicht aus, dass ihre Nutzung die CPUs noch besser schützen würde, sieht die jetzt ergriffene Gegenmaßnahme aber als ausreichend an.

Ryzen 2000 dürfte ab Start „sicher“ sein

Mit der Freigabe des neuen Microcodes und der Updates für Windows 10 1709 dürfte AMD dem Versprechen, die 2. Generation der Ryzen-Prozessoren vom Start gegen Spectre Variante 2 abzusichern, deutlich näher gekommen sein. Möglich, dass Ryzen 2000 mit aktiviertem Patch bereits heute den Status „abgesichert“ zurückgibt. Bisher wäre das nicht der Fall gewesen, weil der Patch für Intel, wie jetzt bekannt wurde, nicht der richtige gewesen ist. Ryzen 2000 wird für den 19. April erwartet.

Update

Ein erster Anwender berichtet davon, dass AMDs Ryzen-APU Raven Ridge in Form des Ryzen 5 2400G nach dem Windows-Update als gegen Spectre Variante 2 gesichert gemeldet wird. Die CPU kommt auf dem Fatal1ty AB350 Gaming-ITX/ac zum Einsatz, das bereits im März ein BIOS-Update mit AMDs AGESA 1.0.0.1a für Pinnacle Ridge, also Ryzen 2000, erhalten hat. Mittlerweile haben die Mainboard-Hersteller für die meisten AM4-Platinen der ersten Generation entsprechende Updates bereitgestellt, um die Platinen zu Ryzen 2000 kompatibel zu machen.

Die Wahrscheinlichkeit ist hoch, dass AMD den neuen CPU-Befehl schon in diesem Update verteilt hat, um Ryzen 2000 wie versprochen zum Start gegen Spectre Variante 2 abzusichern – zumindest für die neuen CPU-Generationen. Entsprechende Rückmeldungen von Lesern in den Kommentaren sind willkommen.

Update

ComputerBase hat das Windows-Update auf einem System mit Asus X370 Crosshair VI installiert, auf dem das aktuelle BIOS 6001 vom 12. Februar 2018 installiert ist. Es unterstützt Ryzen 2000 a.k.a. Pinnacle Ridge mit Aufnahme von AGESA 1.0.0.0a bereits. Auch ohne manuell Anpassung der Registry meldet dieses System im inSpectre, gegen Spectre Variante 2 gesichert zu sein, wenn eine CPU/APU vom Typ Raven Ridge zum Einsatz kommt. Mit einem Ryzen der ersten Generation (Summit Ridge) ist das hingegen noch nicht der Fall.

Im Forum hat sich allerdings ein weiterer Leser zu Wort gemeldet, bei dem ist das auf einer anderen Platinen auch bereits für Summit Ridge der Fall. Die Platine von ASRock setzt offiziell allerdings bereits auf AGESA 1.0.0.1a.