5

Intel bietet durchgängigen Schutz vor Spectre 2 nunmehr erst ab der Sandy-Bridge-Generation an

Laut einem aktualisierten Support-Dokument (PDF) hat Intel seine Arbeiten an Microcode-Fixes gegen Spectre 2 nunmehr finalisiert – und hat dabei überraschenderweise einige frühere CPU-Generationen von diesem Schutz ausgenommen, welche selbigen eigentlich noch erhalten sollten. Denn laut früherer Intel-Ankündigung sollten eigentlich alle Intel-Prozessoren ab den 45nm-basierten Core-2-Prozessoren noch gegenüber Spectre 2 abgesichert werden – dies trifft nun in voller Breite nur noch ab der Intel-Generation "Sandy Bridge" zu. Die 45nm-basierten Core-2-Prozessoren erhalten leider gar nichts mehr an den (eigentlich versprochenen) Fixes, die nachfolgende Nehalem-Generation wird dagegen nur noch teilweise bedient: Microcode-Fixes gegen Spectre 2 gibt es bei der originalen Nehalem-Architektur (im Desktop-Bereich) nur noch für den Lynnfield-Core.

Jener wurde seinerzeit für beliebte Vierkern-Modelle (mit DualChannel-Speicherinterface) verwendet, sprich Core i5-750/760 und Core i7-860/870/875K/880. Dabei wird der vorher herausgekommene Nehalem-Core "Bloomfield" (Vierkern-Prozessoren Core i7-920/930/940/950/960/965/975 mit TripleChannel-Speicherinterface) jedoch nicht mehr mit entsprechenden Microcode-Fixes unterstützt. Sehr irritierend ist an dieser Stelle, das die Lynnfield-Abwandlungen "Clarksfield" (Mobile) und "Jasper Forest" (Server) keine Microcode-Fixes mehr erhalten, die Bloomfield-Abwandlung "Gainestown" (Server) hingegen doch noch – trotz jeweils absolut identischem Prozessoren-Die. Woran sich dieser höchst selektive Support begründet, ist schwer nachzuvollziehen: Zwar sind diverse technische Differenzen bei (einzelnen) dieser Modelle vorhanden, jene sind aber kaum auf der Ebene der CPU-Architektur zu suchen. Gut möglich, das sich Intel hierbei allein daran entschieden hat, was für es noch einen (angemeldeten) Bedarf gegeben hat – sprich, möglicherweise hat schlicht einer der Intel-Abnehmer signalisiert, das man noch eine erkleckliche Anzahl an Lynnfield-Prozessoren im realen Einsatz hat.

Daneben gibt es auch keine Microcode-Fixes gegen Spectre 2 bei den Sofia-SoCs – obwohl andere Atom/Silvermont-basierte SoCs jenen weiterhin erhalten werden. Auch hier dürften vermutlich Kosten/Nutzen-Erwägungen eine größere Rolle bei dieser Entscheidung gespielt haben. Ganz generell fixt Intel somit nur das an seiner "Altware", was noch eine gewisse Chance auf einen Praxiseinsatz hat – und sicherlich ist alles unterhalb der Sandy-Bridge-Generation (welche wie gesagt durchgehend mit Fixes bedient wird) diesbezüglich nicht mehr von größerer Bedeutung. Dennoch läßt man damit erhebliche Teile seines früheren Prozessoren-Portfolios bewußt ohne Schutz vor Spectre 2 – und dies ist ja mehr als nur die erwähnte Nehalem-Generation sowie der Core 2, die Problematik geht schließlich auf die ersten Intel-Prozessoren mit Out-of-Order-Architektur zurück, sprich den Pentium Pro aus dem Jahr 1995. Zumindest bei Core 2 sowie Nehalem/Westmere dürfte es zudem noch einige Systeme im Produktiveinsatz geben – und nur was davor liegt, arbeitet dann wohl nur noch im Rahmen von Retrosystemen.

Als Gegenargument kann man anbringen, das Virenschreiber kaum für solch alte und kaum noch vorhandenen Systeme noch eine Extrawurst braten, gerade wenn die neuen Systeme erwartbar allesamt abgesichert sind (bedingt natürlich das praktische Einspielen der Microcode-Fixes durch Windows oder von BIOS-Updates durch den PC-Nutzer). Sofern Spectre 2 aber mal den Weg in die typischen Exploit-Baukästen gefunden hat, wonach das ganze dann maschinell ausgeführt wird, könnte diese These auch wieder Essig sein – und dann sind sogar alle Uraltsysteme potentiell noch betroffen, für welche Intel noch nie irgendwelche Fixes angekündigt hatte. Gänzlich zufriedenstellend ist diese Patch-Strategie seitens Intel damit also nicht – im Normalfall hätte man erwarten können, das wenigstens ab dem originalen Core 2 noch wirklich alles entsprechend gefixt wird.

Zu Gute rechnen kann man Intel dagegen, das nun jenes, was man sich an Fixes vorgenommen hatte, vollständig erledigt ist – man in der Spalte "geplante Updates" inzwischen nichts mehr stehen hat. Zudem sollen alle neu erscheinenden Intel-Prozessoren gleich mit Microcode-Fixes ab Werk herauskommen, wie soeben schon bei der zweiten Welle von Coffee Lake schon realisiert. AMD hingegen hinkt in all diesen Fragen noch maßgeblich hinterher: Es fehlen sowohl die Microcode-Fixes für die im Jahr 2017 herausgebrachten Ryzen- und Threadripper-Prozessoren, als auch für die erst im Jahr 2018 (nach der Entdeckung von Meltdown & Spectre) herausgebrachten Raven-Ridge-APUs. Dabei steht schon zur Mitte des Monats die nächste Produktvorstellung in Form der Pinnacle-Ridge-Prozessoren an – für welche AMD eigentlich versprochen hatte, jene gleich mit Microcode-Fixes ab Werk auszuliefern. AMD sollte sicherlich versuchen, dies einzuhalten – und nachfolgend schnellstmöglich die entsprechenden Fixes für Summit Ridge und Raven Ridge ausliefern.

Nachtrag vom 5. April 2018

Die kürzliche Meldung über den neu aufgestellten Spectre-2-Schutz bei Intel enthielt noch einen entscheidenden Fehler: Selbst innerhalb der Westmere-Generation wird nicht jeder Prozessor mit einem entsprechenden Microcode-Fix versehen, einen wirklich durchgängigen Schutz gibt es somit erst ab der Sandy-Bridge-Generation. Innerhalb der originalen Nehalem-Generation gibt es schon Teile mit/ohne Schutz, bei dessen Refresh in Form der Westmere-Generation trifft man dann denselben Mischmasch an: Der eigentlich wichtigste Part in Form der Gulftown-Modelle des Desktop-Bereichs (Core i7-970, -980, -980X, -990X) wird nun auch nicht mehr gefixt – während dagegen die auf dem gleichen Die basierenden, aber unter dem eigenen Codenamen "Westmere-EX" laufenden Server-Modelle doch noch mit Microcode-Fixes versehen werden. Eine solide Erklärung seitens Intel dafür, wieso 100%ig Architektur-gleiche Prozessoren auf der einen Seite Fixes bekommen, auf der anderen Seite jedoch nicht, würde an dieser Stelle durchaus interessieren.

Sei es, wie es ist – in jedem Fall geht die Trennlinie nunmehr quer durch die komplette Nehalem/Westmere-Architektur, durchgängig abgesichert wird somit erst ab der Sandy-Bridge-Architektur. Bei älteren Prozessoren als Nehalem braucht man wie schon ausgeführt generell nicht mehr mit Microcode-Fixes gegen Spectre 2 rechnen, bei Nehalem & Westmere kommt es dagegen konkret auf das einzelne Modell an, wie gemäß nachstehender Tabelle zu ermitteln. Das Übersichts-Diagramm wurde gemäß der vorstehenden Fehlerkorrektur ebenfalls angepasst, kann aber leider in Bezug auf die einzelnen Parts von Nehalem & Westmere keine wirkliche Genauigkeit bieten, da es hier einfach zu viele Varianten und kein erkennbares Schema seitens Intel gibt. Der Text der vorgenannten kürzlichen Meldung wurde ebenfalls bezüglich dieses Fehlers bei der Betrachtung der Westmere-Generation angepasst, für welchen wir hiermit (mit Dank an das korrigierend eingreifende Forum) um Entschuldigung bitten.

Mobile Desktop Server
Nehalem 8C - - Nehalem-EX (Beckton)
Nehalem 4C (3Ch.) - Bloomfield
(Core i7-920, -930, -940, -950, -960, -965 XE, -975 XE)
Nehalem-EP/-WS (Gainestown)
Nehalem 4C (2Ch.) Clarksfield
(Core i7-720QM, -740QM, -820QM, -840QM, -920XM, -940XM)
Lynnfield
(Core i5-750, -750S, -760, Core i7-860, -860S, -870, -870S, -875K, -880)
Jasper Forest
Westmere 10C - - Westmere-EX
Westmere 6C - Gulftown
(Core i7-970, -980, -980X, -990X)
Westmere-EP/-ES
Westmere 2C Arrandale
(Core i3-3xx, Core i5-4xx/5xx, Core i7-6xx)
Clarkdale
(Core i3-5xx, Core i5-6xx)
-
= Spectre-2-Schutz; = kein Spectre-2-Schutz; alle Angaben laut Intels Support-Dokument (PDF) mit Stand vom 2. April 2018