“Meltdown” und “Spectre” unter Windows

Seit gestern geht es im Netz ja drunter und drüber, nachdem über zwei massive Sicherheitslücken berichtet wird, welche in Prozessoren stecken.

Die heftigere Lücke, “Meltdown” genannt, steckt ausschließlich in nahezu allen Intel CPUs des letzten Jahrzehnts. Sie lässt sich vergleichsweise einfach ausnutzen, aber wohl nicht ohne einen Tausch der CPU vollständig beseitigen. Fehlerfreie CPUs von Intel gibt es momentan aber gar nicht, so dass die Lücke per Software umgangen werden muss.

Die zweite Lücke mit Namen “Spectre” ist wohl deutlich schwerer auszunutzen, aber wohl auch deutlich schwerer zu umgehen. Dafür taucht sie nicht nur in Intel CPUs auf, sondern auch bei AMD und selbst auf der ARM Plattform.

Konkrete Infos zu beiden Lücken finden sich auf einer eigens dafür eingerichteten Webseite: https://meltdownattack.com/

Intel hat zudem eine Liste online gestellt, in der man die betroffenen CPU Modelle nennt: https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00088&languageid=en-fr
Interessanterweise wird auch dort wieder sehr häufig auf andere CPU Hersteller verwiesen, obwohl diese zumindest mit “Meltdown” nichts zu tun haben. Vermutlich ist das wohl ein Versuch der Schadensbegrenzung, indem man den Anschein erweckt, die Probleme würden generell andere Hersteller auch betreffen.

Microsoft liefert seit heute Patches für Windows 7, 8.1 und 10 sowie die Server 2012 R2 und 2016. Die Updates ändern einige Systemfunktionen signifikant, was Probleme mit mancher Antivirensoftware verursachen kann. Die Updates werden daher nicht installiert, solange der Hersteller der genutzten Antivirensoftware nicht die Funktion geprüft und einen Registry-Key gesetzt hat.

Interessanterweise wird zumindest hier momentan noch der Key auch dann nicht gesetzt, wenn man den mitgelieferten Windows Defender nutzt. Da der eigentliche Microsoft Patch-Day erst am kommenden Dienstag stattfindet und normalerweise die Updates planmäßig auch erst zu diesem Zeitpunkt erscheinen sollten, kann gut sein, dass man dies erst zu jenem Termin nachholt.

Die Engine-Updates für Windows Defender setzen den Key ebenfalls.

Dieser Key kann auch manuell gesetzt werden – was allerdings nur passieren sollte, wenn der Hersteller der AV Software dies ausdrücklich so genannt hat oder gar keine AV Software verwendet wird. Überprüft wird ein DWORD (32-bit) mit Namen cadca5fe-87d3-4b96-b7fb-a231484277cc und dem Wert 0  an dieser Stelle:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\QualityCompat

Wenn der Key “QualityCompat” nicht existiert, ist er ebenfalls anzulegen. Erst dann kommen bei der nächsten Updatesuche die neuen Updates. Dies gilt auch für Systeme, die über einen WSUS updaten.

Der Key kann bei allen oben genannten Systemen gesetzt werden. Wer mit einer Domäne arbeitet, sollte ihn per GPO an alle Systeme verteilen.

meld0

Details dazu finden sich direkt bei Microsoft: https://support.microsoft.com/en-us/help/4072699/important-information-regarding-the-windows-security-updates-released

Um gegen „Spectre“ geschützt zu sein, sind außerdem zwingend BIOS Updates notwendig, die die aktuellen Microcodes der Hersteller mitbringen. Solange diese nicht eingespielt wurden – bzw. nicht verfügbar sind – sind die Lücken je nach CPU weiterhin ausnutzbar.

Erste Hersteller verteilen schon BIOS-Updates für ihre Geräte. Leider werden damit je nach Hersteller auch wieder nur relativ aktuelle Geräte versorgt. Microsoft verteilt Updates für neuere Surface Modelle, Lenovo z.B. für ThinkPads ab den 2013er Modellen. Ältere Geräte gehen momentan leer aus.

Und auch hier finden sich bei Microsoft noch weiterführende Details: https://support.microsoft.com/en-us/help/4073119/windows-client-guidance-for-it-pros-to-protect-against-speculative-exe

Damit ist allerdings auf Windows Servern noch nicht genug! Die reine Installation der Updates reicht dort nicht aus, um die Schutzfunktionen auch vollständig zu aktivieren. Damit die zusätzlichen “Mitigations” der neuen Updates auch aktiv werden, sind zwei weitere Registry-Keys notwendig. Diese stehen ab Windows Server 2012 R2 zur Verfügung.

Der entsprechende Artikel bei Microsoft findet sich hier: https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution

Die beiden DWORD (32-bit) namens FeatureSettingsOverride und FeatureSettingsOverrideMask  müssen unter folgendem Key angelegt werden:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

Als Wert bekommt FeatureSettingsOverride dann 0 und FeatureSettingsOverrideMask den Wert 3

Wer die Einträge per GPO verteilen will, sollte dafür eine eigene Gruppenrichtlinie anlegen, sie z.B. “Meltdown-Mitigation” nennen und per WMI Filter auf die genannten Systeme begrenzen. Da WMI einen String als “Version” zurückliefert, kann nicht auf ein “größer gleich 6.3” überprüft werden.

SELECT Version FROM Win32_OperatingSystem WHERE Version like „6.3%“ OR Version like „10%“

Wer ganz nach Microsofts Vorgabe die Verteilung der Einträge nur auf Server begrenzen will, sollte den String dementsprechend abändern.

SELECT * FROM Win32_OperatingSystem WHERE (ProductType = 2 OR ProductType = 3) AND (Version like „6.3%“ OR Version like „10%“)

melt1 melt2

Falls man die Einstellungen wieder rückgängig machen will, können die Einträge einfach gelöscht werden. Auch das geht natürlich über die gleiche GPO.

Im obigen Microsoft Artikel findet sich auch ein Script zur Überprüfung der Einstellungen. Je nach verwendeter CPU sind hier mehr oder weniger Einträge grün. So fehlt z.B. auf älteren CPUs die PCID Funktion. Das Script vorher und nachher aufgerufen führt hier zu folgenden Ergebnissen:

melt3 melt4

Microsoft verweist auch auf BIOS- bzw. Firmware-Updates. Ob es solche geben wird, für welche Systeme damit zu rechnen ist, all das ist momentan noch sehr offen. Ich gehe davon aus, dass alle Systeme, die aus dem Garantiezeitraum ihres Herstellers raus sind, keine solchen Updates bekommen werden. Hier bleiben die Lösungen per Software die einzige Möglichkeit.

Ein vollständig gepatchtes System mit aktuellen Windows- und Firmware-Updates sollte dann zu dieser Anzeige führen:

Unbenannt

Update 2017-01-04, 21:20 – Hinweis auf Microsoft Artikel bezüglich Clients ergänzt
Update 2017-01-06, 18:05 Überarbeitung mit Hinweisen auf weitere CPU Hersteller und notwendige Firmware-Updates
Update 2017-01-09, 20:19 – Überarbeitung, da Microsoft mittlerweile konkret den Grund für die beim Server notwendigen Registry-Keys nennt.

Advertisements
Dieser Beitrag wurde unter Allgemein veröffentlicht. Setze ein Lesezeichen auf den Permalink.

3 Antworten zu “Meltdown” und “Spectre” unter Windows

  1. Pingback: “Meltdown” und “Spectre” unter Windows | Ingos Blog | Michael-Floessel.de – Blog

  2. Nils schreibt:

    Die beiden Keys FeatureSettingsOverride und FeatureSettingsOverrideMask sind nur auf Server Systemen notwendig. Und natürlich sind von der Spectre Lücke andere Prozessoren außer Intel betroffen. AMD und AMR haben das Problem z.B. genauso. Nicht umsonst hat auch Google bereits Updates für Android und Apple für seine iPhones veröffentlicht.

    • Ingo schreibt:

      Ich hab nirgendwo behauptet, dass von „Spectre“ nur Intel Systeme betroffen seien. Ich schrieb ausdrücklich, dass sich „Meltdown“ nur auf Intel Systeme bezieht. Ich werde den Text bezüglich Spectre aber noch etwas verdeutlichen.
      Zu den beiden Registry-Keys gibt es momentan leider wenig Dokumentation. Microsoft erwähnt sie nur im Zusammenhang mit den Servern, was ich ja auch schrieb. Warum sie nur dort notwendig sind, lässt sich momentan nirgendwo finden.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s