Meltdown/Spectre Powershell Verifikation Windows 7

Complicated

Grand Admiral Special
Mitglied seit
08.10.2010
Beiträge
4.949
Renomée
441
Nachdem nun Microsoft einen Patch zur Verfügung gestellt hat zur Behebung oder Abmilderung (Mitigation) des Meltdown und des Spectre Bugs, suchen vor allem viele AMD User nach einer Möglichkeit zu überprüfen ob sie überhaupt von dem Bug betroffen sind und ob der Patch bei Ihnen installiert wurde und eventuell ebenfalls die Performance reduziert, obwohl AMD CPUs von Meltdown z.B. gar nicht betroffen sind.

Hier nochmals der Verweis auf den hervorragenden Artikel von Nero24 und auf die umfangreiche Link Sammlung von errate zu dem Thema

Microsoft hat eine "Client Guidance" für den Patch zusammengestellt, doch die dort beschriebene Verifizierung des Patches mittels Powershell funktioniert lediglich auf Windows 10 ohne weitere Umstände. Um den dort beschriebenen Befehl der Powershell auch unter Windows 7 (als Administrator öffnen!):
Code:
PS > Install-Module SpeculationControl
ausführen zu können, muss auch die neueste Powershell installiert sein. Die meisten Windows 7 Nutzer werden hier vermutlich mit der Version 2.0 noch eine veraltete Version besitzen und müssen ein Update durchführen. Die Version der Powershell ermittelt man mit folgendem Befehl:
Code:
PS > $PSVersionTable.PSVersion
und erhält eine Ausgabe in Form von
attachment.php


Update Verson 5.1:
Aktuell ist die Version 5.1, welche auch die Funktion für "Install-Module" beinhaltet. Die aktuelle Version von Powershell bietet Microsoft als Bestandteil des Windows Management Framework 5.1 hier zum Download an:
https://www.microsoft.com/en-us/download/details.aspx?id=54616
Für Windows 7 x64 ist die Datei Win7AndW2K8R2-KB3191566-x64.zip herunter zu laden. Der Download hat auch eine KB-Nummer (KB3191566) und ist im Update-Katalog nicht als Download verfügbar. Die Zip-Datei beinhaltet zur Installation eine klassische msu-Datei und eine Powershell-Script-Datei als Alternative.
Für die Version Windows Server 2012 (KB3191564): https://www.catalog.update.microsoft.com/Search.aspx?q=kb3191564
Für die Version Windows 8.1 (KB3191565): https://www.catalog.update.microsoft.com/Search.aspx?q=KB3191565

http://www.catalog.update.microsoft.com/Search.aspx?q=KB3134760

Sollte der Download und die Installation erfolgreich durchgeführt worden sein, liefert der Befehl
Code:
PS > Install-Module SpeculationControl
oft dennoch eine Fehlermeldung zurück. Hier ist es nötig die Rechte dafür erst zu aktivieren. Die Überprüfung welche Rechte derzeit vergeben sind erfolgt mit dem Befehl:
Code:
Get-ExecutionPolicy
Und sollte hier als Ausgabe "Restricted" erfolgen, dann muss dies geändert werden mit folgendem Befehl:
Code:
Set-ExecutionPolicy   RemoteSigned -Scope CurrentUser -Confirm
Nachdem die Sicherheitsabfragen bestätigt wurden, sollte nun der Befehl zur Installierung des Moduls SpeculationControl funktionieren. Die Lockerung der Berechtigung erfolgte eingeschränkt nur für diesen aktiven User.

Das ganze sollte so aussehen bis dahin, nachdem man nun die Settings erneut überprüft hat und als Ergebnis "RemoteSigned" erhält:
attachment.php


Nun sollte sich das Modul installieren lassen:
Code:
PS > Install-Module SpeculationControl
Und nach der Installation mittels dem Befehl
Code:
PS > Get-SpeculationControlSettings
erfolgt auf AMD Systemen nach dem Patch eine Ausgabe wie diese hier (Das System hat einen Phenom II unter Windows 7 x64)

attachment.php


Hier lassen sich nun die Meldungen des OS für zwei Sicherheitslücken auslesen.
Meldungen zu Spectre sind unter CVE-2017-5715 [branch target injection] zu finden.
Meldungen zu Meltdown sind im Abschnitt CVE-2017-5754 [rogue data cache load] enthalten.

Wie nun hier aus dem Screenshot zu entnehmen ist, zeigt die grüne Zeile an, dass der Support für die "Mitigation" (Abschwächung) von Spectre seitens des Windows OS vorhanden ist - Patch ist installiert.
Die Zeile darüber zeigt in rot die Meldung, dass der Hardware Support für die Mitigation nicht vorhanden ist.
Daraus ergibt sich in der dritten Zeile, dass der Windows OS Support für die Mitigation nicht aktiviert wurde, was nochmals in der fünften Zeile bestätigt wird als Ursache der Deaktivierung.

Warum das so ist, kann man im Abschnitt "Suggested actions" weiter unten lesen, wo das installieren eines BIOS zur Aktivierung des Hardware Supports gefordert wird. Daraus geht hervor, dass hier auch die Mainboard-Hersteller mittels BIOS Update ebenfalls aktiv werden müssen damit der Patch überhaupt aktiv geschaltet wird von Windows - daher sind Benchmarks in diesem Zustand (viele sind da schon mit Aussagen im Umlauf) noch völlig sinnlos.

Im Abschnitt zu Meltdown wird deutlich, dass Microsoft nach einer Prüfung meldet, dass die Hardware keinen Patch für "Kernel VA shadowing" benötigt, wie Meltdown in Redmond genannt wird. Somit ist klar, dass AMD auch bei Windows, ebenso wie bei Linux, keinen Patch benötigt für Meltdown und Microsoft dies berücksichtigt. Somit wird es auch keine Performance-Penaltys geben auf AMD Systemen und man kann das Update beruhigt einspielen, da es nur aktiv wird wenn nötig.

Welche Aktivitäten seitens der Mainboard/CPU-Hersteller nötig sind um den Patch für Spectre aktiv zu schalten ist bisher noch unklar. Ich interpretiere aus AMDs Statement, dass der Mainboard-Hersteller noch ein BIOS-Update zur Verfügung stellen muss um den Hardware-Support für den Patch zu aktivieren:

amd-spectre-meltdown.png

Allerdings ist AMD von dieser Variante 2 kaum bedroht, so dass hier offensichtlich noch genügend Zeit ist das auszuliefern.

Was allerdings auch ersichtlich wird ist, dass das Update von Windows die Variante 1 überhaupt nicht angeht oder auch nur erwähnt wird von dem Microsoft Tool. Diese noch fehlende
- Variant 1 „Spectre 1” : bounds check bypass (CVE-2017-5753)
ist allerdings die einzige, welche AMD CPUs überhaupt betreffen kann unter spezifischen Umständen, wie Nero24 in seinem umfangreichen Artikel ausführt:
Spectre 1. Bei Google hat man in diesem Zusammenhang einen AMD PRO A8-9600 als betroffen identifiziert, allerdings nur bei non-Default-Einstellungen (eBPF JIT is on; siehe Google-Dokument). Salopp gesprochen muss man den Bug durch Änderung der Standardeinstellungen mutwillig aktivieren.
Update:
Mit wenigen ergänzenden Massnahmen lässt sich die Anleitung auch für Windows Server nutzen.

Zum aktivieren der Mitigations
Code:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session  Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0  /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session  Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD  /d 3 /f

Zum Windows Server Guide
 

Anhänge

  • PS_Version.JPG
    PS_Version.JPG
    18,8 KB · Aufrufe: 1.815
  • PS_ExecutionPolicy.JPG
    PS_ExecutionPolicy.JPG
    64,2 KB · Aufrufe: 1.765
  • SpecContrlSettings.JPG
    SpecContrlSettings.JPG
    123,3 KB · Aufrufe: 1.810
Zuletzt bearbeitet:
Bei mir sieht es genau so aus. Zuerst musste ich PowerShell auf 5.0 bringen und die Rechte lockern.
Dank der guten Anleitung gelang das auch wunderbar.



Athlon 5350/Asrock AM1H-ITX/W7x64




Asus E35M1-I Deluxe (E-350)/W10x64

Beide sind gepatched.
 
Zuletzt bearbeitet:
Was allerdings auch ersichtlich wird ist, dass das Update von Windows die Variante 1 überhaupt nicht angeht oder auch nur erwähnt wird von dem Microsoft Tool

So wie ich es verstehe finden sich die ersten Maßnahmen gegen Variante 1 in dem Update auch Edge und den IE11 updatet sprich in Fixes in den Browsern.

Zum vergleichen:

R7 1700x/C6H/W10



i7 6850/X99-A II/W10 :(

 
So wie ich es verstehe finden sich die ersten Maßnahmen gegen Variante 1 in dem Update auch Edge und den IE11 updatet sprich in Fixes in den Browsern.
Ja. Die Variante 1 kann nur in der jeweiligen Software gefixt werden und nicht im OS. Deshalb gibt das Tool keine Infos zu Spectre 1 aus.
Danke für die Screenshots zum vergleichen, auch an PC_^_^ für den Screenshot ohne Patch.
 
Anleitung ist auch auf Windows Server 2008 R2 übertragbar:



Ausser das ich mit:

To enable the mitigations
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

es erst aktivieren musste:



Xeon E3-1245 V2 also Ivy Bridge :(

--- Update ---

Auch unter Windows 8.1 muss erst das Windows Management Framework 5.0 installiert werden da nur Version 4.0 aktiv ist.

Auch folgende Reihenfolge in der PowerShell nötig:

Install-Module SpeculationControl
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Get-SpeculationControlSettings

i7 4930k (Ivy Bridge-E), X79, W8.1 :


--- Update ---

AMD A10-7860k, A88, Win7, FM2+

 
Zuletzt bearbeitet:
Skylake i5 6500/W8.1



Wird dann interessant wie es nach dem microcode update aussieht bei Systemen wo es das dann gibt.
 
Zuletzt bearbeitet:
Vor allem wäre es interessant wenn wir uns jetzt auf ein paar einfache frei verfügbare Benchmarks einigen könnten die wir auf den Systemen jetzt und nach dem Microcode Update durchführen könnten. Könnte eine interessante Zusammenstellung ergeben. Wo sind unsere Benchmark Speziallisten? :D
 
Bei mir kommt da immer

PS : Es kann kein Prozess mit dem Namen "SpeculationControl" gefunden werden. Überprüfen Sie den Prozessnamen, und
rufen Sie das Cmdlet erneut auf.
In Zeile:1 Zeichen:1
+ PS > Install-Module SpeculationControl
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (SpeculationControl:String) [Get-Process], ProcessCommandException
+ FullyQualifiedErrorId : NoProcessFoundForGivenName,Microsoft.PowerShell.Commands.GetProcessCommand

Windows 10 Pro, alle Updates installiert!
 
Was gibt deine Versions Prüfung für Powershell aus?
 
Windows 10 KB4056892 ist installiert?

Die Rückmeldung hatte ich bisher noch nicht (blau).

i7 3930k (Sandy Bridge-E)/X79/Windows Server 2008 R2



Windows OS support for PCID performance optimization is enabled: False [not required for security]
 
Zuletzt bearbeitet:
Major 5
Minor 1
Build 16299
Revision 98

--- Update ---

Ja, das hab ich heute installiert.

Seit dem Neustart funktioniert die Asussoftware aber auch nicht mehr.
Clipboard02.jpg
 
Ich wollte es auch gerade testen, aber beim Install-Module SpeculationControl erhalte ich diverse Meldungen.
Erst "NuGet provider is required to continue...."
Da hab ich noch mit Y zugestimmt.
Dann kommt aber "Nicht vertrauenswürdiges Repository..."
(anderer Rechner, daher kein screenshot möglich)

Was ist da schief gelaufen? Oder sind diese Dinge nur nicht in der Anleitung oben erwähnt?

Irgendwelche unbekannten Scripte aus vertrauenslosen Quellen zu installieren, ist mir dann doch irgendwie zu merkwürdig.

Ich habe die Befehle wie oben beschrieben abgearbeitet, der Rechner ist ein E-350 mit Windows7home64
 
Zuletzt bearbeitet:
Diese 2. Abfrage hatte ich auch immer und auch mit Y beantwortet.

In Post eingefügt.
 
Zuletzt bearbeitet:
Was ist da schief gelaufen? Oder sind diese Dinge nur nicht in der Anleitung oben erwähnt?
Ja die Anleitung ist für Versionen vor Windows 10. Dort werden dann die nötigen Registrierungen automatisch mit gemacht :)
 
Was mache ich falsch?

Register-PSRepository : Verwenden Sie "Register-PSRepository -Default", um das PSGallery-Repository zu registrieren.
In Zeile:1 Zeichen:1
+ Register-PSRepository –Name PSGallery –SourceLocation "https://www.po ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (PSGallery:String) [Register-PSRepository], ArgumentException
+ FullyQualifiedErrorId : UseDefaultParameterSetOnRegisterPSRepository,Register-PSRepository
 
Zuletzt bearbeitet:
Der Downloadlink dort ist leider kaputt :( (Auch der zweite)

@Pinnacle
Hast du diese Syntax versucht?
Code:
Register-PSRepository –Name PSGallery –SourceLocation "https://www.powershellgallery.com/api/v2/" –InstallationPolicy Trusted
 
Zuletzt bearbeitet:
Huch, als ich mit Tippen angefangen habe, gab es nur 1/3 der Antworten...
Na gut, ich vertraue Euch dann mal und habe das unsichere Zeug installiert. ;)
Mal schauen, ob sich nach der update-Orgie was ändert.
 
Scroll mal bis zum letzten Post da ist ein Link und der Download funktioniert.
 
Sollte geplappt haben?

PackageManagement\Register-PackageSource : Die Paketquelle "PSGallery" ist vorhanden.
In C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:4211 Zeichen:17
+ ... $null = PackageManagement\Register-PackageSource @PSBoundParamete ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceExists: (Microsoft.Power...erPackageSource:RegisterPackageSource) [Register-Pack
ageSource], Exception
+ FullyQualifiedErrorId : PackageSourceExists,Microsoft.PowerShell.PackageManagement.Cmdlets.RegisterPackageSource

Bei
Install-Module SpeculationControl

passiert nichts, da kommt einfach eine neue Zeile.

Bei Get-SpeculationControlSettings fragt mich windows mit welchem Programm ich die Datei öffnen will

1.jpg2.jpg
 
Zuletzt bearbeitet:
Dann ist das Comandlet vorhanden.
Lass mal den Screenshot sehen wie die Frage aussieht.
 
Zuletzt bearbeitet:
in der powershell kommt garkeine frage.
da geht nur das standardfenster auf, wenn windows nicht weis mit was es etwas öffnen muß.

screenshot ist gepostet
 
Zurück
Oben Unten