Spectre-Lücke: AMD-Prozessoren unter Windows bislang ungeschützt
AMD erklärt, dass Schutz vor der Sicherheitslücke Spectre V2 unter Windows BIOS-Updates erfordert, die aber nicht alle AMD-Chips bekommen können; doch es sei für Angreifer schwierig, Spectre V2 auf AMD-Prozessoren zu nutzen.
In einem achtseitigen Whitepaper hat AMD nun viele neue Details zu den Schutzmaßnahmen gegen die Sicherheitslücken Spectre Variante 1 und 2 veröffentlicht. Demnach sind Windows-Computer mit AMD-Prozessoren zurzeit gegen Spectre Variante 2 (CVE-2017-5715, Branch Target Injection/BTI) nicht geschützt. AMD "glaubt" allerdings weiter, dass es die "Architektur der AMD-Prozessoren schwierig macht, Spectre Variante 2 [für Angriffe] auszunutzen". Bisher wurde noch kein erfolgreicher Angriff darüber auf AMD-Prozessoren demonstriert.
In dem Whitepaper "Software Techniques for managing Speculation on AMD Processors" werden mehrere Schutzmöglichkeiten vor Malware-Angriffen erläutert, welche die Sprungvorhersageeinheiten (Branch Predictors) und die spekulative Ausführung (Speculative Execution) von AMD-Prozessoren missbrauchen. Gegen Spectre Variante 2 beschreibt AMD dort gleich vier denkbare Schutzmaßnahmen, unter denen vor allem V2-1 und V2-4 Bedeutung haben.
Bei V2-1 geht es um das von Google vorgeschlagene und auch im Linux-Kernel umgesetzte Verfahren Retpoline, das mit allen AMD-Prozessoren möglich ist.
Indirect Branch Control
V2-4 hingegen erläutert Indirect Branch Control (IBC), das Microsoft in WIndows 10 (sowie 7 und 8) verwendet. IBC arbeitet mit den neuen Befehlen Indirect Branch Prediction Barrier (IBPB), Indirect Branch Restricted Speculation (IBRS) und Single Thread Indirect Branch Predictors (STIBP). Diese Funktionen kann das Betriebssystem über Machine-Specific Registers (MSRs) nutzen und über (neue) CPUID-Einträge teilen die Prozessoren dem Betriebssystem mit, ob sie IBPB, IBRS und STIBP beherrschen.
Die Sache hat allerdings zwei Haken: Genau wie Intel-Prozessoren benötigen auch AMD-Prozessoren ein Microcode-Update, welches IBPB, IBRS, STIBP sowie die CPUID-Erweiterungen nachrüstet. Und laut AMD sei IBC außerdem "nur bei einer begrenzten Anzahl aktueller AMD-Prozessoren" verfügbar. Welche das sind, erklärt AMD nicht, der einzige Verweis auf ein Datenblatt im Whitepaper bezieht sich aber auf Ryzen und Epyc.
Klar ist aber die Schlussfolgerung: Weil Windows zum Schutz gegen BTI auf IBC setzt und dazu sowohl die bereits verteilten Windows-Updates nötig sind als auch CPU-Microcode-Updates, sind Windows-Rechner mit AMD-Prozessoren ohne BIOS-/Microcode-Update gegen BTI ungeschützt.
Offene Fragen
Unverständlich ist derzeit, weshalb Microsoft sich beim Schutz gegen BTI für IBC und gegen Retpoline entschieden hat, wenn letzteres ohne CPU-Microcode-Updates auskommt. Außerdem bleibt offen, weshalb Microsoft diese Microcode-Updates bei Windows 10 nicht wie bei früheren Windows-Versionen mit Windows Update auf die Systeme bringt, sondern auf BIOS-Updates vertraut, die schwieriger ins System zu bringen sind.
Zudem stellt sich die Frage, wie sich IBC bei Windows-Systemen mit AMD-Prozessoren auf die Performance auswirkt. Da es bisher anscheinend noch keine BIOS-Updates mit CPU-Microcode-Updates für AMD-Prozessoren gibt, lässt sich das auch nicht nachmessen. Die spannende Frage lautet, ob sich IBC bei AMD-Prozessoren ähnlich stark auf die I/O- und vor allem SSD-Performance auswirkt wie bei Intel-Prozessoren.
Mangelhafte Kommunikation
AMD wagt bisher keine konkrete Einschätzung, was der fehlende Schutz gegen Spectre V2 für die Besitzer von Windows-Systemen mit AMD-Prozessoren bedeutet.
Der bisherige Verlauf der öffentlichen Kommunikation seitens AMD ist unbefriedigend: Anfang Januar, also vor dem eigentlich abgesprochenen Veröffentlichungstermin am 9. Januar, hatte AMD in Bezug auf Spectre Variante 2 von einem "Risiko nahe Null" gesprochen. Am 11. Januar hatte AMD-CTO Papermaster dann klar gesagt, Spectre Variante 2 "is applicable to AMD Processors", aber mit der oben genannten Einschränkung "we believe that AMD’s Processor Architectures make it difficult to exploit Variant 2".
Doch bisher verkündet AMD nicht genau, welche Prozessor-Generationen außer Ryzen/Epyc noch Microcode-Updates bekommen sollen und welche nicht. Außerdem gibt es anscheinend keine klaren Zeitpläne. Somit ist die Situation ähnlich wie bei Intel.
Intel, AMD, IBM und ARM haben aber immerhin Webseiten mit Informationen zu Meltdown (davon ist AMD nicht betroffen) und Spectre eingerichtet. Viele Hersteller von ARM-SoCs leisten nicht einmal das.
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)