Wie geht es weiter im CPU-Geschäft nach Meltdown & Spectre?

Sonntag, 28. Januar 2018
 / von Leonidas
 

Die CPU-Sicherheitslücken Meltdown & Spectre stellen augenscheinlich einen erheblichen Bremsklotz beim CPU-Neukauf bzw. der Planung dessen dar, da insbesondere in vielen Foren generell das Abwarten auf entsprechend "Meltdown/Spectre-freie CPUs" empfohlen wird. Allerdings fliegen hierzu auch (nicht unerwartet angesichts der mangelhaften Informations-Politik der Hersteller) reihenweise sehr wackelige Aussagen und Annahmen durch die Botanik. Selbige wurden erst kürzlich durch Intel höchstselbst befeuert, als man bei der Bekanntgabe der Quartalszahlen erwähnte, an Hardware-mäßig von Meltdown & Spectre freien CPUs zu arbeiten und jene bereits im Jahr 2018 an den Start bringen zu können. Je nachdem wie genau man dies betrachtet, könnte sich dies entweder als Nebelkerze oder aber pures Wunschdenken herausstellen – denn ein was muß klar sein: Schnell passiert in einer CPU-Entwicklung überhaupt nichts.

Allein die Zeitspanne von Designfertigstellung über Tape-Out und anschließender Evaluierung bis zur Marktreife dauert bei CPUs regelmäßig vier bis fünf Quartale, dies ist deutlich mehr als bei Grafikchips (zwei bis vier Quartale). Selbst einen einfachen Hardware-Fix unterzubringen, setzt normalerweise ein neues Stück Silizium voraus, was selbst bei einer schon evaluierten CPU noch einmal mindestens ein halbes Jahr zusätzlicher Zeit benötigt. Für eine echte Überarbeitung der Architektur bzw. Teile dieser muß man dagegen richtiggehend zurück in die Design-Anteilung, was nachfolgend den kompletten Weg von Tape-Out über Evaluierung bis zur Marktreife erneut notwendig macht. Eingedenk der Zeit, welche die Design-Abteilung für ihre Arbeit benötigt, kann man in diesem Fall von einem insgesamten Zeitbedarf nicht unter anderthalb Jahren (!) ausgehen – bei Schwierigkeiten mit den Designänderungen sogar noch mehr. Und man sollte an dieser Stelle einrechnen, das hierbei mit der Sprungvorhersage an einem der heikelsten Teile der gesamten CPU-Architektur herumgebastelt wird.

Dies ist mit Intels Ansage, noch dieses Jahr Hardware-mäßig Meltdown/Spectre-freie CPUs bringen zu wollen, nahezu unmöglich zu vereinbaren – und wird noch unwahrscheinlicher angesichts des Punkt, wie Hühnerhaufen-mäßig die CPU-Entwickler derzeit auf diese Sicherheitslücken schon bei ihren aktuellen Prozessoren reagieren. Zudem spricht die Art der Spectre-Sicherheitslücke gegen schnelle Fixes, die umgehend alles abdichten (wie dies bei Meltdown mittels der entsprechenden Betriebssysten-Patches bereits der Fall ist). Denn sofern man den eher vorsichtigen Stimmen glaubt, ist noch nicht einmal ganz offenbart, auf welchen Wegen Spectre insgesamt alles nutzbar ist. Gut möglich, das die Hersteller also auch in Zukunft noch ihre Spectre-Patches nachbessern müssen, sofern neue Angriffsvektoren oder aber Möglichkeiten zur Überwindung in den bisherigen Fixes gefunden werden.

betroffen Gegenmaßnahmen Lösungschance
Meltdown nur Intel Windows-Patch mittels Windows-Patch nach bekanntem Wissen zu 100% erledigt
Spectre 1 AMD & Intel Windows-Patch sowie weitere Fixes in zahlreicher Anwendungssoftware (gerade Browser) die Fixes in der Anwendungsoftware werden Zeit benötigen, daher kann eine Immunität gegen Spectre 1 nur mit der Zeit aufgebaut werden; ein 100%iger Schutz ist jedoch nur mit (wirklich) neuer Hardware möglich
Spectre 2 AMD & Intel Windows-Patch samt BIOS-Update nach den Patches sehr wesentlich erschwert; ein 100%iger Schutz ist jedoch nur mit (wirklich) neuer Hardware möglich

All dies legt letztlich die These nahe, das Intel mit der (angeblichen) Spectre-Unanfälligkeit bei kommenden Intel-Prozessoren mehr oder weniger nur eine Hardware-mäßige Integration der Spectre-Fixes für die aktuellen Intel-Prozessoren meint – nicht aber einen Architektur-Umbau der Intel-Prozessoren, damit jene ganz generell vor Spectre-Attacken sicher sind. Grob gesagt dürfte Intel seine kommenden CPUs einfach bereits mit einem integrierten BIOS-Update gegen Spectre ausliefern (im genauen wird der CPU-Microcode entsprechend angepasst) – was allerdings nur der Patch-Maßnahme bei den aktuellen Intel-Prozessoren entspricht. Trifft diese These zu, wäre der Spectre-Schutz der kommenden Intel-Prozessoren zwar vom ersten Tag an garantiert, würde genauso aber auch nur der technologischen Güteklasse des Spectre-Schutzes der aktuellen Intel-Prozessoren entsprechen.

An dieser Stelle von einem "Hardware-Fix" oder gar "Meltdown/Spectre-freien CPUs" zu sprechen, erscheint uns etwas vermessen. Denn der hierbei alleinig veränderte Microcode zählt eher denn zur Firmware der Prozessoren, nicht direkt zur Hardware – genauso auch wie diese Art von Fix auch weiterhin die Chance offenläßt, das neue Wege des Spectre-Angriffes entdeckt werden, welche dann nachfolgend erneut mittels Microcode-Updates (oder anderen Patches) auch bei diesen kommenden neuen Intel-Prozessoren geschlossen werden müssen. 100%ig wäre diese Methode also mitnichten – und genau das würde man sich aber unter einer "Meltdown/Spectre-freien CPU" vorstellen. Aktuell zählen darunter beispielsweise alle im In-Order-Prinzip arbeitenden CPUs, dies sind bei Intel beispielsweise die früheren Atom-Prozessoren (vor der Silvermont-Generation) – hier fehlt schlicht das ausnutzbare CPU-Feature, ergo können bei diesen Prozessoren auch weitere Entwicklungen und Entdeckungen keine neue Verwundbarkeit hervorfördern.

Andererseits sind die Microcode-Updates ab Werk aber auch der einzige Weg, alsbald entsprechend (weitgehend) bereinigte Produkte anbieten zu können – echte Änderungen an der Sprungvorhersage der Intel-Prozessoren sind wie gesagt kaum unterhalb eines Zeitrahmen von anderthalb Jahren zu realisieren. Intel steht damit auch nicht allein da, sondern alle betroffenen CPU-Entwickler von ARM über AMD, IBM, Oracle bis hin zu Zhaoxin stehen hier vor der exakt derselben Problematik. Der Weg zu Meltdown/Spectre-freien CPU-Architekturen wird lang und steinig, womöglich sogar nicht einmal im ersten Versuch zu 100% erfolgreich sein, womöglich daher immer wieder mit zusätzlichen Microcode-Updates für neu gefundene Angriffswege verbunden sein. Sofern die CPU-Entwickler dies ohne größere Performance-Verluste realisieren können, ist dies auch nicht ganz so tragisch. Immerhin muß man zur Ehrenrettung insbesondere von Intel anführen, das Meltdown & Spectre nur zusammen mit dem Angriffsweg der "Seitenkanalattacke" funktionieren – und jene zu Zeiten der ersten Out-of-Order-Architekturen reinste Theorie waren sowie erst in den letzten Jahren praktisch realisierbar wurden.

Für denjenigen PC-Nutzer, welche derzeit oder absehbar eine neue CPU kaufen wollen, sind dies zugegeben nur schwache Trostpunkte – relevant ist an dieser Stelle, was die CPU-Entwickler im PC-Bereich demnächst an Fix-Stufen zu bieten haben werden. Gemäß der vorstehenden Ausführungen läßt sich dies in drei Schutzklassen an möglichen Fixes seitens der CPU-Entwickler einteilen. Deren Aufgabe liegt natürlich primär in Maßnahmen gegenüber Spectre, da Meltdown wie bekannt mittels der schnellen Betriebssystem-Updates für Linux und Windows inzwischen eine faktisch erledigte Angelegenheit darstellt:

Schutzklasse (1) – Nachträglich mittels Microcode-Update gefixte Prozessoren
Hierbei wird ein Microcode-Update angesetzt, welches neue CPU-Befehle mitbringt, die einen weitgehenden Spectre-Schutz bieten (Meltdown wird dabei mittels eines Betriebssystem-Updates unschädlich gemacht). Selbiges kostet etwas an Performance (bei älteren CPUs angeblich mehr als bei neueren), kann aber in vergleichsweise kurzer Zeit seitens der CPU-Entwickler und Mainboard-Hersteller zur Verfügung gestellt werden. Als Nachteil werden viele älteren CPUs (trotz technischer Möglichkeit) keinen solchen Fix mehr erhalten, da deren Support eingestellt wurde.
Schutzklasse (2) – Ab Werk mittels Microcode-Update gefixte Prozessoren
Hierbei wird wieder ein Microcode-Update angesetzt, welches neue CPU-Befehle mitbringt, die einen weitgehenden Spectre-Schutz bieten (Meltdown wird dabei mittels eines Betriebssystem-Updates unschädlich gemacht). Selbiges kostet etwas an Performance (bei neueren Prozessoren angeblich weniger als bei älteren) und ist vor allem bereits im Auslieferungszustand vorhanden, weswegen die CPU-Herstellern dann von "Meltdown/Spectre-freie Prozessoren" sprechen, obwohl es eigentlich keine Änderungen auf echter Hardware-Ebene gegeben hat. Dafür ist jene Methode bei jeder neu herauskommenden CPU-Generation ansetzbar und wird wohl genauso auch bei allen demnächst antretenden neuen CPUs realisiert werden.
Schutzklasse (3) – Meltdown/Spectre-freie CPU-Architekturen
Hierbei gibt es Änderungen an der CPU-Architektur selber, um Meltdown & Spectre auf grundsätzlicher Ebene bestmöglich zu verhindern. Bei guter Ausführung ist es sogar möglich, dies ohne den ansonsten üblichen Performance-Verlust durch die Meltdown/Spectre-Fixes zu realisieren. Dafür braucht dieser Weg entsprechend an Zeit, da in die CPU-Architektur selber in erheblichen Maßstab eingegriffen werden muß. Eine realistische Zeitschätzung hierfür liegt deshalb bei nicht unterhalb von anderthalb Jahren, je nach Höhe der konkreten Aufgabe bzw. dabei auftretenden Schwierigkeiten eventuell sogar noch mehr.

Davon ausgehend ist es schwerlich anzunehmen, das wir CPUs der Schutzklasse (3) mit also Meltdown/Spectre-freier CPU-Architektur alsbald sehen bzw. kaufen können. Die CPU-Käufer des Jahres 2018 werden sich wohl oder übel mit CPUs der Schutzklasse (2) zufriedengeben müssen – was technologisch nicht besser ist als bei CPUs der Schutzklasse (1), nur eben das der Spectre-Fix garantiert schon ab Werk dabei ist und man nicht mittels BIOS-Updates dem selber hinterherrennen muß. Intels Aussage der "Meltdown/Spectre-freien CPUs im Jahr 2018" darf man wohl unter dem Gesichtspunkt betrachten, das hierbei schlicht alle im Markt befindlichen CPUs ganz automatisch das Microcode-Update gegen Spectre tragen werden, man also nicht auf die gnädige Mithilfe der Mainboard- oder Notebook-Hersteller angewiesen ist. Dies ist natürlich auch ein Fortschritt – aber eben noch keine echte Hardware-Änderung gegenüber Meltdown & Spectre, selbiges kann es wohl erst nach dem Jahr 2018 geben.

Gut ist diese faktisch nicht vorhandene Differenz auf technologischer Ebene bei den Fällen von AMDs Raven-Ridge-APUs und Intels Coffee-Lake-Prozessoren zu sehen: Schließlich sind Teile dieser CPU-Generationen bereits im Markt, sollen aber in Kürze durch neue CPU-Modelle ergänzt werden – bei Raven Ridge die entsprechenden Desktop-Modelle, bei Coffee Lake die lange erwartete zweite Welle. In beiden Fällen dürfte AMD und Intel höchstmöglich darum bemüht sein, bereits Prozessoren mit Spectre-Fix auszuliefern, alles andere würde den CPU-Entwicklern speziell seitens der Mainstream-Presse glatt um die Ohren fliegen. Dafür hilft natürlich allein die Maßnahme eines Microcode-Updates direkt ab Werk, da Eingriffe in die CPU selber (selbst minimale) aufgrund des bereits feststehenden Stücks Silizium natürlich nicht mehr machbar sind (oder eine Verzögerung von nicht unter einem halben Jahr bedeuten). Die ersten Teile von Raven Ridge & Coffee Lake werden dann also ohne Spectre-Schutz ausgeliefert sein, die jeweils zweite Welle kommt dann mit Spectre-Fix ab Werk – und beides ist haargenau dasselbe Stück Silizium. So viel zum Thema eines "Hardware-Schutzes" gegenüber Spectre ...

Jenen echten Hardware-Schutz vor Spectre werden wir erst bei Prozessoren mit Meltdown/Spectre-freier CPU-Architektur (Schutzklasse 3) sehen. Dies dürfte bei AMD nicht vor Ryzen 4 und bei Intel nicht vor Tiger Lake sein – beides Prozessoren-Generationen, welche erst für die Jahre 2019/2020 in den Roadmap der CPU-Entwickler stehen. Ryzen 3 auf Basis von Zen 2 dürfte leider auch noch etwas noch zu früh für echte Hardware-Fixes gegenüber Spectre kommen, da laut AMD das Design von Zen 2 bereits abgeschlossen ist. Die Hand ins Feuer können wir für diese Abschätzung allerdings nicht legen, dies ist nahezu nur laut gedacht und ergibt sich nur anhand von Überlegungen, nicht jedoch anhand von klaren Aussagen der CPU-Entwickler. Jene halten derzeit mit jeglichen konkreten Aussagen natürlich weit hinter dem Berg, insofern ist derzeit zur Einschätzung der Lage am CPU-Markt wirklich nur die nachfolgende (fehlbare) Abschätzung möglich:

Gegenmaßnahmen der CPU-Entwickler gegenüber Spectre
anfällig Gegenmaßnahme geplant verfügbar
AMD K5 bis Bulldozer/Vishera (inkl. APUs) wahrscheinlich 1 – nachträgliches Microcode-Update nichts geplant Nutzer werden im Regen stehen gelassen
AMD Ryzen & Raven Ridge (Mobile) ja 1 – nachträgliches Microcode-Update ja derzeit unbekannter Zeitpunkt
AMD Raven Ridge (Desktop) (Febr. 2018) ja 2 – Microcode-Update ab Werk ja ab Auslieferung
AMD Ryzen 2 (April 2018) ja 2 – Microcode-Update ab Werk ja ab Auslieferung
AMD Ryzen 3 (2019) ja 2 – Microcode-Update ab Werk ja ab Auslieferung
AMD Ryzen 4 (2020) vermutlich nein 3 – Meltdown/Spectre-freie Architektur Dies ist derzeit eine reine Vermutung!
Intel Pentium Pro bis Ivy Bridge wahrscheinlich 1 – nachträgliches Microcode-Update nichts geplant Nutzer werden im Regen stehen gelassen
Intel Haswell & Broadwell ja 1 – nachträgliches Microcode-Update ja zurückgezogen, vermutlich ab Febr. 2018
Intel Skylake, Kaby Lake & Coffee Lake ja 1 – nachträgliches Microcode-Update ja teilweise ja, Rest bis Ende Jan. 2018
Intel Coffee Lake (2. Welle) (Frühj. 2018) ja 2 – Microcode-Update ab Werk ja ab Auslieferung
Intel Cascade Lake (Q4/2018) ja 2 – Microcode-Update ab Werk ja ab Auslieferung
Intel Ice Lake (Ende 2018) ja 2 – Microcode-Update ab Werk ja ab Auslieferung
Intel Tiger Lake (Ende 2019) vermutlich nein 3 – Meltdown/Spectre-freie Architektur Dies ist derzeit eine reine Vermutung!

Wir würden gern besseres berichten – aber so ist die Situation, wie sich derzeit darstellt. Jene kann sich natürlich noch ändern – beispielsweise wird im Linux-Bereich derzeit darüber diskutiert, ob man weitgehend oder ganz ohne Microcode-Updates auskommen kann, was die Sache zumindest für die CPU-Entwickler unglaublich vereinfachen würde. Allerdings müsste dazu zum einen Microsoft seine bisherige Strategie zur Spectre-Bekämpfung grundsätzlich ändern (man müsste den sogenannten Retpoline-Ansatz von Google übernehmen), zum anderen müsste jener natürlich auch erst noch weiter erforscht und entwickelt werden, hierzu ist längst noch nicht alles eruiert worden.

Insofern sind derzeit noch viele Wege aus diesem Dilemma denkbar – was das halbwegs sicher anzunehmende Prozedere sein wird, ist vorstehend zusammengefasst. Die CPU-Entwickler dürfen uns natürlich gern der Schwarzmalerei überführen und ihre Hausaufgaben bezüglich wirklich Meltdown/Spectre-freier CPUs deutlich früher erledigen, alternativ dürfen auch gern grundsätzlich andere Wege zur Meltdown/Spectre-Bekämpfung gefunden werden. Sofern dies eintritt, wird dieser Artikel entsprechend mit Nachträgen versehen werden, so daß aus diesen Nachträgen der jeweils aktuelle Stand bezüglich Meltdown/Spectre-freier PC-Prozessoren abgelesen werden kann.