AMD: Spectre-Microcode-Fix nur für Windows erforderlich?

Interessanter Fundsplitter, auf den ich da gestoßen bin. Um AMD-Systeme gegen Spectre-Angriffe abzusichern, werden Microcode-Updates benötigt. Heißt es jedenfalls häufiger. Diese Updates scheint es aber nur für bestimmte CPUs zu geben und werden wohl nur für Windows benötigt. Bei Linux sind diese Microcode-Updates nicht erforderlich.


Anzeige

Im Januar 2018 gibt es eine sehr interessante Entwicklung zu beobachten. Seit die Sicherheitslücken in aktuellen Prozessoren und die Angriffsmethoden Meltdown und Spectre bekannt sind, versuchen die Hersteller mit Patches dagegen zu halten. Während Meltdown auf Intel-CPUs begrenzt ist, wirkt Spectre auf fast jeder CPU.

Microsoft geht mit Windows aber im Hinblick auf Updates eigene Wege, im Vergleich mit Linux. Bei Linux will man die von Google entwickelte Retpoline-Technik verwenden, um die Angriffsmethoden abzuschwächen. Microsoft setzt auf Microcode-Patches für die CPU.

Mainboard
(Quelle: Pexels Fancycrave CC0 License)

AMD hat vor einigen Tagen ein PDF-Dokument mit dem Titel SOFTWARE TECHNIQUES FOR MANAGING SPECULATION ON AMD PROCESSORS für Entwickler freigegeben. In diesem Dokument werden 10 verschiedene Ansätze beschrieben, um Angriffe über Spectre abzuschwächen. Das nachfolgend beschriebene Verfahren dürfte der von Google entwickelte Retpoline-Ansatz sein.

MITIGATION V2-1 Description: Convert indirect branches into a “retpoline”. Retpoline sequences are a software construct which allows indirect branches to be isolated from speculative execution. It uses properties of the return stack buffer (RSB) to control speculation. The RSB can be filled with safe targets on entry to a privileged mode and is per thread for SMT processors.

Dieser funktioniert auf allen AMD-CPUs. Microsoft setzt bei Windows offenbar auf folgenden Ansatz:

MITIGATION V2-4 Description: An architectural mechanism, Indirect Branch Control (IBC), is being added to the x86 ISA to help software control branch prediction of jmp near indirect and call near indirect instructions. It consists of 3 features: Indirect Branch Prediction Barrier (IBPB), Indirect Branch Restricted Speculation (IBRS) and Single Thread Indirect Branch Predictors (STIBP). Effect: These features give software another mechanism through architectural MSRs to provide mitigation for different variant 2 exploits. IBPB – Places a barrier such that indirect branch predictions from earlier execution cannot influence execution after the barrier. IBRS – Restricts indirect branch speculation when set. STIBP – Provides sibling thread protection on processors that require sibling indirect branch prediction protection Applicability: As a new feature, these mechanism are available in only a limited number of current AMD processors and require a microcode patch. These 3 features are individually enumerated through CPUID and all processors do not support all features. These features also require software updates to write the MSR where appropriate.

PC Games Hardware hat sich dieses Dokument genauer angeschaut und die Schlussfolgerungen in diesem Artikel publiziert. Ein ähnlicher Beitrag findet sich hier bei heise.de. Die für Windows gegen Spectre 2 eingeführte Lösung V2-4 benötigt zwingend ein Microcode-Update, welches aber nur für eine eingeschränkte Anzahl an AMD-CPUs zur Verfügung stehen wird. Bei Linux kommt das von Google entwickelte Retpoline zum Ansatz. Dabei lässt sich auf Microcode-Updates verzichten. Könnte also sein, dass AMD-Systeme mit Linux besser fahren.


Anzeige

Dieser Beitrag wurde unter Sicherheit, Windows abgelegt und mit AMD, Sicherheit, Windows verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.