frank
Goto Top

Sicherheitslücke Spectre und Meltdown: Status prüfen

article-picture
Nach all den Updates der letzten Woche sollte man unbedingt auch den Status prüfen, ob die Sicherheitslücken Spectre, Meltdown und ihre Varianten wirklich geschlossen sind.

Die Prüfung kann man unter der PowerShell recht einfach machen. Die PowerShell gibt es mittlerweile für fast alle Systeme, neben Windows auch für Linux und für macOS. Wie genau man die PowerShell dort installiert, wird hier von Microsoft direkt erklärt.

Das PowerShell-Script "Get-SpeculationControlSettings" gibt Informationen zu Spectre "Variant 2" bzw. "CVE-2017-5715 [branch target injection]" und zu Meltdown "Variant 3" bzw. "CVE-2017-5754 [rogue data cache load]" aus. "Variant 1" kann das Script nicht prüfen, da, so wie ich das verstanden habe, der Fehler in jeder betroffenen Anwendung selbst behoben werden muss.

Achtung: Es muss mindestens die Version 3 der PowerShell installiert sein!

Schritt 1)

Man öffnet die PowerShell (per Rechtsklick auf das Windows Logo links unten) -> "Als Administrator ausführen". Jetzt installiert man das Modul SpeculationControl mit:
PS > Install-Module SpeculationControl

Jetzt wird man gefragt, ob der User einem "Nicht vertrauenswürdiges Repository" zustimmen willst. Was soll ich sagen, das ist Microsofts Sicherheitspolitik live face-smile. Nach einem "Ja" wird das Modul installiert.

Schritt 2)

Nun kann man den Bericht aufrufen:
PS  > Get-SpeculationControlSettings


Schritt 3) Tritt ein Fehler auf

Sollte ein Fehler wie dieser hier erscheinen:
Get-SpeculationControlSettings : Der Befehl "Get-SpeculationControlSettings" wurde im Modul "SpeculationControl" gefunden, das Modul konnte aber nicht geladen werden. Wenn Sie weitere Informationen wünschen, führen Sie "Import-Module SpeculationControl" aus.

Muss man noch folgenden Befehl ausführen:
PS > Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Jetzt muss man noch dem "nicht vertrauenswürdigen Skripts" mit "ja" vertrauen (omg!) und danach sollte der Befehl "Get-SpeculationControlSettings", wie oben beschrieben sauber funktionieren.

Get-SpeculationControlSettings Ausgabe

Da es für mein alten Intel i7 3770 und dem Board dazu noch keinen Patch gibt, erscheint in roter Farbe neben anderen Meldungen:
Hardware support for branch target injection mitigation is present: False

Das Windows Update ist schon eingespielt. Das erkennt man an dem Eintrag:
Windows OS support for branch target injection mitigation is present: True

Anbei ein Screenshot (mein Ablauf), wo der Patch zwar im Windows System installiert ist, die Hardware aber noch kein Bios-Update bzw. Microcode-Update bekommen hat:

screenshot (228)

Ist ein Bios/Microcode-Update und das Windows Update vorhanden, sollten alle Zeilen im Bericht grün sein und folgendes erscheinen:
Windows OS support for branch target injection mitigation is enabled: True

Auf AMD-Systemen gibt das Script "Hardware requires kernel VA shadowing: False" aus. Hier ist der Meltdown-Patch nicht erforderlich und damit auch nicht aktiv.

Viel Glück!

Weitere Details und Infos dazu findet ihr unter:
https://support.microsoft.com/en-us/help/4073119/protect-against-specula ...

Content-ID: 361334

Url: https://administrator.de/contentid/361334

Ausgedruckt am: 21.11.2024 um 11:11 Uhr

sabines
sabines 17.01.2018 um 08:12:54 Uhr
Goto Top
Hallo Frank,

das PS Script kann nicht immer automatisch installiert werden (W7/W2008).
In diesen Fällen dann einfach per copy paste ausführen und danach aufrufen.
Damit kann auch Set-ExecutionPolicy -ExecutionPolicy RemoteSigned entfallen.

Gruss
DerWoWusste
DerWoWusste 17.01.2018 aktualisiert um 12:09:08 Uhr
Goto Top
Ich möchte noch etwas hinzufügen, nämlich wie man ein System prüft, welches keinen Internetzugang hat (dieser ist nämlich zur Prüfung nötig, da von nuget Pakete geladen werden)

Man gehe auf einen Rechner mit Internetzugang und führe dort die beiden Kommandos
Install-Module SpeculationControl
und
Get-SpeculationControlSettings
aus. Danach besorge man sich von diesem PC die
C:\Program Files\PackageManagement\ProviderAssemblies\nuget\2.8.5.208\Microsoft.PackageManagement.NuGetProvider-2.8.5.208.dll
sowie den Ordner C:\Program Files\WindowsPowerShell\Modules\Speculation Control und kopiere diese beim offline-System an die selben Orte. Den Ordner C:\Program Files\PackageManagement\ProviderAssemblies\nuget\2.8.5.208\ muss man zuvor manuell anlegen. Danach kann man die cmdlets wie von Frank beschrieben benutzen.
Looser27
Looser27 23.01.2018 um 09:35:32 Uhr
Goto Top
Gestern noch diese Variante gefunden, mit der die Prüfung mit einem Click erledigt werden kann (zumindest bei Insprecte).

Gruß

Looser