Wie sieht es eigentlich Ende Januar 2018 in Sachen Testtools für Meltdown und Spectre unter Windows aus? Im Blog-Beitrag werfe ich einen Blick auf die Situation und stelle zwei neue Test-Tools aus deutschen Landen vor.
Anzeige
Es ist nun fast einen Monat her, dass die Angriffsmethoden Spectre und Meltdown öffentlich wurden. Über diese Sicherheitslücken können Angreifen Informationen aus den Systemen abgreifen.
Während sich Meltdown auf Intel-CPUs bezieht, funktionieren die Angriffsmethoden Spectre 1 und Spectre 2 wohl mit einer Vielzahl von CPUs verschiedenster Hersteller, u.a. AMD, ARM, IBM, Intel, MIPS etc. Bisher sind zwar keine Angriffe bekannt. Microsoft und Konsorten haben aber Updates für Windows, für das BIOS und für die Browser ausgerollt. Wie schaut es jetzt eigentlich in Sachen Tools zum Testen der System auf die Angriffsmethoden Spectre und Meltdown aus? Hier ein kurzer Überblick, was mir bisher bekannt ist.
Test mit PowerShell
Microsoft hat für Windows ein PowerShell cmdlet bereitgestellt, mit dem man überprüfen kann, ob Maßnahmen durchzuführen sind. Im Blog-Beitrag Meltdown und Spectre: Was Windows-Nutzer wissen müssen hatte ich eine Lösung von Microsoft mittels PowerShell skizziert. Hier eine Ausgabe in der Kommandozeile.
Anzeige
Aber diese Lösung ist nur etwas für Cracks – und auf meiner Windows 7 SP1-Plattform bekomme ich das Cmdlet schon nicht geladen. Irgend etwas fehlt in der PowerShell-Umgebungen. Auch sind die ausgegebenen Werte recht kryptisch, wenn auch die PowerShell Hinweise auf Maßnahmen in der Ausgabe liefert.
Der Ashampoo Spectre Meltdown CPU-Checker
Der Hersteller Ashampoo brachte Anfang Januar 2018 den Spectre Meltdown CPU-Checker heraus. Das Tool kann unter Windows ausgeführt werden, und liefert in einer 'Schwarz-Weiß'-Entscheidung Hinweise, ob das System verwundbar ist (siehe folgender Screenshot).
Ich hatte zu diesem Tool den Blog-Beitrag Tipp: Test mit dem Ashampoo Spectre Meltdown CPU-Checker veröffentlicht. In den Kommentaren kam ja die Rückmeldung, dass das Tool einmal nur ein Schätzeisen sei. Egal was man für Patches installiert oder nicht, es würde 'nicht verwundbar' angezeigt.
Dann hat mich Blog-Leser Ulrich H angemailt und auf eine Diskussion zu Meltdown/Spectre bei Intel hingewiesen. Er schrieb in seiner Mail:
Gestern ist mir etwas unter die Augen gekommen, was ich nicht verstehe. Vielleicht wissen Sie weiter.
Ich benutze einen Intel NUC D34010WYK mit Windows 7 Home Edition, 64 bit mit den aktuellen Updates und MSE als Virenprogramm.
Bezüglich Specte/Meltdown habe ich ein BIOS Update auf Version 46 gemacht, was ein Microcode Update zu der Misere enthält. Im Anschluss wurde dann über Powershell das Script " Speculationcontrol " ausgeführt. Das Ergebnis ist als jpg-Datei beigefügt. Müsste hier nicht bei der Branche Target Injection alles grün und auf true sein ?
Obwohl die Leute BIOS-Updates installiert haben, wird das System als angreifbar ausgewiesen. Er schrieb mir in einer zweiten Mail:
Der Test mit Ashampoo verlief auf dem NUC mit neuestem Update ebenso negativ wie das cmdlet Speculationcontrol über die Powershell. Wie ich soeben im Intel Forum gesehen habe, bin ich nicht allein:
Siehe Post Nr 5.
Aber das ist nur eine Randnotiz. Könnte auch auf ein Problem mit dem Patch hinweisen. Andererseits hat mich Blog-Leser Christop W. per Mail auf folgendes Problem aufmerksam gemacht:
Sie hatten neulich das Tool von Ashampoo vorgestellt…
Leider funktioniert das inzwischen nicht, auch wenn man die geforderte Software von MS installiert:
Nach 2 Updates und Neustarts kommt weiterhin die Fehlermeldung:
Das ist natürlich übel. Auf meinem System habe ich diese Fehlermeldungen zwar nicht bekommen. Wer aber die Meldung erhält, dürfte mit dem Tool, aus welchen Gründen auch immer, scheitern. Fazit: Nicht wirklich brauchbar.
Testtool InSpectre
Dann gibt es von Gibson Research Corporation, dessen Gründer Steve Gibson ist, das Tool InSpectre. Ich hatte es im Blog-Beitrag Vorsicht vor Spectre/Meltdown-Test InSpectre vorgestellt. Als dieser Blog-Beitrag entstand, hatte ich das Tool auf Virustotal hochgeladen und erhielt bei vielen Virenscannern die Anzeige, dass es einen Trojaner enthalte. Ich ging zwar von einem falschen Alarm aus, warnte aber vorerst vor dessen Einsatz. Inzwischen ist das Ganze entschärft, Steve Gibson hat das Tool überarbeitet und Virustotal sieht es als sicher an.
Das Tool InSpectre gibt es für Windows zum kostenlosen Download auf dieser Webseite. Das Programme ist nur 160 KByte groß und muss nicht installiert werden. Wer nur die Ergebnisse angezeigt haben will, kann das Tool ohne Administratorrechte ausführen (siehe obiges Bild).
Genial finde ich, dass man, sofern das Tool mit Administratorberechtigungen ausführt, den Schutz vor Meltdown und Spectre, sofern vorhanden abschalten kann. Aber: Dieses Tool liefert mir quasi auch nur eine Schwarzweiß-Aufnahme meines Systems.
Ergänzung: Auf Grund des nachfolgenden Kommentars habe ich die Version vom 31. Januar 2018 heruntergeladen. Über das Systemmenü kann man nun in der Tat über den Befehl Show System Summary technische Details anzeigen lassen (siehe obiges Bild).
SpecuCheck von Alex Inonescu
Alex Ionescu hat ebenfalls ein kleines Tool mit dem Namen SpecuCheck veröffentlicht. Der Quellcode ist auf Github abrufbar und man kann sich seine eigene Version compilieren.
Obiger Screenshot zeigt ein Ergebnis eines solchen Tests, welches einerseits in der Eingabeaufforderung erscheint und andererseits für meinen Geschmack etwas kryptisch ist. Für die breite Masse wird es eher nichts sein.
Meltdown-/Spectre-Check von Stefan Kanthak
Im Artikel zum Ashampoo-Tool hatte ich mich in einem Kommentar, was die Frage, ob Prüfsoftware Administratorrechte braucht, etwas weit aus dem Fenster gelehnt. Natürlich sollte die Prüfung ohne Administratorrechte auskommen. Aber Provokation gehört zum Blog und ich kann nicht alles wissen bzw. bedenken. Meine Leser fangen mich dann schon ein, es wird korrigiert und alle haben was davon.
Vor einigen Tagen schlug dann eine Mail von Stefan Kanthak ein, der mich darauf hin wies, dass für einen Meltdown-/Spectre-Check keine administrativen Berechtigungen erforderlich seien. Stefan hatte für mich ein Tool verlinkt, welches mit normalen Benutzerrechten läuft und die Prüfung durchführte. Er schrieb dazu 'die verwendeten Funktionen des Win32-API gibt's ab NT 3.1, d.h. das Programm kann auf ALLEN Versionen von NT laufen!'.
Ok, wieder was gelernt. Ist dein Ruf erst ruiniert, bloggt's sich gänzlich ungeniert. Im nix wissen bin ich halt gut dabei .
Noch ein Wörtchen zu Stefan Kanthak – irgendwo klingelte bei mir was, schwirren doch zwei Namen (Christoph Schneegans und Stefan Kanthak) im Hinterkopf, wenn es um Windows-Absicherung geht (siehe auch Was schützt vor Locky und anderer Ransomware?). Dann gibt es noch die Top 100 MSRC 2017 wo Stefan Kanthak auftaucht.
Ich hatte mir das sehr schlanke Programm (erinnerungsmäßig unter 2 KByte) angesehen, aber es lieferte nur Flags mit Statusinformationen. Auf meinen Einwand, 'Was fängt ein normaler Benutzer, der wissen will, ob sein System für Spectre und Meltdown anfällig ist, mit den Ausgaben an?', hat Stefan die explizite Angabe, ob die Gegenmaßahme aktiv ist oder nicht, ergänzt. Herausgekommen sind zwei Programme zum Testen auf die Angriffe mit Meltdown und Spectre.
Testet man die beiden .exe-Dateien in virustotal.com, liefert nur Baidu einen falschen Alarm.
Nachfolgend sind die beiden Dialogfelder, die die zwei Programme nach einer Prüfung ausgeben.
Die Programme geben neben dem Hinweis, ob ein Schutz gegen Meltdown und Spectre gefunden wurde auch die Detailinformationen, was von der CPU an SpeculationControl an Flags unterstützt wird an. Für den normalen Nutzer heißt dies: Er sieht auf den ersten Blick, ob ein Schutz gegen die Angriffe installiert ist. Wer tiefergehende Informationen benötigt, schaut sich die Werte für KVAShadowFlags und SpeculationControlFlags an. Mit den Werten 1 bzw. 0 wird angezeigt, ob das betreffende Flag (im von Windows zurückgegebenen Status-Wort) gesetzt ist oder nicht.
Wer sich für die Flags bzw. CPU-Optionen interessiert, kann sich ggf. in diesem Intel-Dokument oder im nachfolgend erwähnten Quellcode der Tools schlau machen. Zu den Programmen selbst schreibt mir Stefan folgendes:
Alex Ionescus SpecuCheck.exe laeuft ebenfalls ohne Administratorrechte,
ist aber WESENTLICH fetter als meine 4 KB oder 6,5 KB kleinen Progrämmchen. Dummerweise missbraucht er anstelle der Win32-Funktion wsprintf() die [MSV]CRT-Funktion swprintf() und somit die MSVCRT, die ich in allen meinen Programmen vermeide bzw. durch meine eigene NOMSVCRT (siehe) ersetze.
Zu den beiden oben verlinkten Testprogrammen gibt Stefan Kanthak an, dass diese ohne Zugriff auf das Win32-API auskommen, d.h. sie haben keine Referenz auf KERNEL32.DLL und USER32.DLL mehr. Sie nutzen nur noch das (undokumentierte) NT-API alias "native" API, dessen NtQuerySystemInformation() die alleinige Quelle für die benötigten Informationen ist, und brauchen weiterhin keine Administratorrechte. Zudem bietet Stefan Kanthak folgendes an:
Wer sie selbst genauso (nach)bauen will holt sich das "makefile" (hier), dazu die beiden Icons (meltdownattack.com-Icon, spectreattack.com-Icon) die er als MELTDOWN.ICO und SPECTRE.ICO im selben Verzeichnis wie GIMMICK.MAK speichert, startet die Eingabeaufforderung (s)einer Windows-Entwicklungsumgebung (beispielsweise das "Platform SDK" von) und führt dann NMAKE.exe /F GIMMICK.MAK aus.
Stefan stellt auf dieser Webseite noch ein Programm bereit, welche beide Tests auf Meltdown und Spectre durchführt und die Ergebnisse in zwei separaten Dialogfeldern ausgibt. Dort nutzt er das Win32-API und zeigt in den Dialogfeldern jeweils das passende Icon an. Zum Selbstbau von BTI_RDCL.EXE gibt es die Datei BTI_RDCL.MAK.
PS: Schlägt bei euch während des Besuchs der Webseiten von Stefan Kanthak der Virenscanner an? Auch das ist erklärbar. Stefan bietet auf einer Seiten das Eicar-Test-Virus in einer DATA-URL an. Manche Browser (z.B. Chrome) laden diese Inhalte und die Virenscanner schlagen an.
An dieser Stelle mein Dank an Stefan Kanthak für die beiden Tools und die zusätzlichen Erläuterungen. Vielleicht helfen die Tools ja dem einen oder anderen Admin oder Blog-Leser, der tiefer in die Thematik einsteigen will. Im Quellcode sind die Flags übrigens auch dokumentiert.
Unter dem Strich zeigt der Beitrag aber, dass die gesamte Situation sehr unübersichtlich ist. Wir haben fast eine Hand voll an Tools, wobei einige ganz schöne Mucken aufweisen. Bezüglich der Updates für Meltdown und Spectre sieht es leider nicht besser aus.
Ähnliche Artikel
Sicherheitslücke: Bug in Intel CPUs bedroht Betriebssysteme
Meltdown und Spectre: Was Windows-Nutzer wissen müssen
Infos zu Meltdown und Spectre: Was man wissen sollte – Teil 1
Infos zu Meltdown und Spectre: Was man wissen sollte – Teil 2
Vorsicht vor Spectre/Meltdown-Test InSpectre
Tipp: Test mit dem Ashampoo Spectre Meltdown CPU-Checker
Spectre/Meltdown-Check in Linux
Test: Ist mein Browser durch Spectre angreifbar?
Anzeige
Wegen der vielen Probleme, der Unklarheiten und der zurückgezogenen Updates habe ich im Januar weder ein neues BIOS, noch ein Microsoft-KB-Update noch sonst irgend etwas im Zusammenhang mit Spectre und Meltdown installiert.
(Bei Ask Woody wird diese Vorgehensweise zur Zeit wegen der Unklarheiten favorisiert.)
Wie sollte man denn jetzt verfahren?
Im Einsatz sind Windows 7 und 8.1 sowie Ubuntu-LTS.
P.S. Danke für diesen Blog, der Licht in das Microsoft-Dunkel bringt.
Ich würde ebenfalls abwarten. Wenn es wirklich Angriffe gibt, bekomme ich das höchstwahrscheinlich mit und es wird Beiträge geben.
glaube aber auch kaum, dass iwelche "Angriffe" bei Normalo-Würsten ;) wie unsereins auch nur ansatzweise vor der Tür stehen.
Nimmt man die Äußerungen zum Thema von z.B. c't-Andreas Stiller sowie den c't-Podcast "c't uplink 20.6 Meltdown und Spectre – Details, Funktionsweise, Folgen" vom 20.01. als Grundlage, ist die ganze Materie derart kompliziert – und das gilt nat. auch für pot. Angriffe -, dass es ohne sehr viel know-how und viel man-power im Hintergrund kaum irgendeinen wie auch immer gearteten Angriff geben wird, das ganze ist überhaupt nicht trivial. Also die Komplexität des ganzen als mit bester Schutz. Für den Privatanwender.
Wenn es Ziele gibt, dann wirklich große. Und die sind nicht Schulze, Mayer, Müller…
Moin Herr Born!
Das Tool Meltdown-/Spectre-Check funzt unter Windows 7 SP1 64x einwandfrei.
Ab Release #3 kann man sich auch unter dem Tool InSpectre weitere technische Details anzeigen lassen. Dazu auf das kleine Spectre-Symbol klicken und den Menüpunkt "Show Tech Details" auswählen.
"…auf meiner Windows 7 SP1-Plattform bekomme ich das Cmdlet schon nicht geladen."
Auf meiner Windows 7 Plattform ist die Windows PowerShell in der Version 5.1.14409.1012 installiert. Damit lässt sich das Meltdown-/Spectre-Test-Cmdlet laden und starten. Die dafür benötigten Befehle habe ich von dieser Microsoft-Supportseite:
https://support.microsoft.com/en-us/help/4073119/protect-against-speculative-execution-side-channel-vulnerabilities-in
@Trillian
Gibt es eine WIRKLICH gute Einführung in die PowerShell? Als Buch, pdf oder Youtube-Video?
Oder mindestens eine vollständige Übersicht über die Befehle?
Bin nicht mehr auf dem neusten Stand, aber schau dir mal 'Mastering PowerShell' von MVP-Kollege Dr. Tobias Weltner aus 2012 an. Gibt es als PDF-Dokument, da Tobis das m.W. frei verfügbar bereitgestellt hat. Ist aber in English und aus dem Jahr 2012.
Hier mal ein Link, wo zumindest die Mirrors noch funktionieren.
Ansonsten gibt es PowerShell 5.0 von Tobias Weltner bei O'Reilly – schau mal bei Amazon.de und suche nach seinem Namen. Weltner weiß, wovon er schreibt, obwohl ich den deutschsprachigen Titel nicht kenne. Vielleicht hilft es weiter.
Weiterhin hat MVP-Kollege Holger Schwichtenberg bei Hansa was zur PowerShell 5.0 veröffentlicht. Aber ich kenne das Werk persönlich nicht.
@ Cmd.Data
Bin jetzt nicht wirklich ein PowerShell-Spezialist…. ^^ Benutze dieses Tool in der Regel nur wenn ein schwerwiegendes Problem auf der Windows Maschine am Start ist und ein PowerShell-Script zur Analyse/Behebung dieses Problems angeboten wird.
Eine vollständige Übersicht der Functionen und Cmdlet's (=Befehle) kannst Du Dir in der PowerShell direkt durch Eingabe des Befehls Get-Command (ohne zusätzliche Parameter) auflisten lassen. Mit Get-Help rufst Du das Hilfesystem der PowerShell auf. Eine dazu erklärende Einleitung mit Beispielen kannst Du z.B. hier finden: http://www.powershellpraxis.de/index.php/die-drei-wichtigsten-cmdlets
@Günter Born: "Während sich Meltdown auf Intel-CPUs bezieht"
ist ein windows-artikel, daher ist die aussage schon ok. der vollstaendigkeit halber sei aber noch angemerkt, dass meltdown jenseits des wintel-aequators auch noch andere prozessoren betrifft (z.b. arm cortex-a75 und darauf basierende mikroarchitekturen wie den snapdragon 845 von qualcomm):
https://en.wikipedia.org/wiki/Meltdown_(security_vulnerability)#Affected_hardware
Du hast Recht – trifft bald auf die ARM-Geschichte mit Windows 10 zu …
"Genial finde ich, dass man, sofern das Tool mit Administratorberechtigungen ausführt, den Schutz vor Meltdown und Spectre, sofern vorhanden abschalten kann. "
Öhm… ich finde es eigentlich weniger genial, wenn man mit einem Softwareschalter "sowas" wieder abschalten kann, ohne das es eine Möglichkeit gibt, das zu erkennen.
Oder meldet sich dann der Windows Defender / anderes Virenprogramm?
Was hindert sonst Schadware genau diesen Schalter zu nutzen?
Nebenher wäre nur interessant ob damit die mögliche Tempobremse dann auch wieder gelöst werden kann, zum Beispiel um mal zu testen, ob es überhaupt eine Bremswirkung am System hat?
@Tim: "Was hindert sonst Schadware genau diesen Schalter zu nutzen?"
administratorrechte (wegen HKLM) und neustart erforderlich: daher auch nie in der gleichen session ausnutzbar.
Das Microsoft-Tool fragt:
"Möchten Sie die Ausführungsrichtlinie ändern?"
Welche Sicherheitsrisiken birgt denn das?
Ist die Änderung dauerhaft?
@ Cmd.Data
Um das Script zum Laufen zu bringen, muss die ExecutionPolicy geändert werden. Also Ja/Yes anwählen. Mit folgender Befehlskette wird diese Änderung zum Schluss wieder rückgängig gemacht:
* PowerShell als Admin starten
* PS> Install-Module SpeculationControl
* PS> $SaveExecutionPolicy = Get-ExecutionPolicy
* PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser
* PS> Import-Module SpeculationControl
* PS> Get-SpeculationControlSettings
* PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser
* PS> Exit
Bei dieser Vorgehensweise wird 2x abgefragt, ob die Ausführungsrichtlinie geändert werden soll. 2x Ja/Yes anwählen…
Quelle: https://support.microsoft.com/en-us/help/4073119/protect-against-speculative-execution-side-channel-vulnerabilities-in
Nachtrag: Aber warum sich mit kryptischen Befehlen "quälen"? Die 2x von Herrn Born vorgestellten Tools "InSpectre" und "Meltdown-/Spectre-Check" sind mehr als ausreichend um ein System schnell zu checken…
Außer InSpectre funktioniert bei mir KEIN EINZIGES der anderen Programme!
SpectreMeltdownCheck.exe öffnet nach Klick auf "Test starten" selbständig mehrere kleine Fenster der Eingabeaufforderung (mit Administrator in der Titelleiste!) und bricht dann ab mit "Fehler. Konnte die Powershell Anwendung nicht finden. Schließen"
SPECTRE.EXE und MELTDOWN.EXE machen nach Doppelklick REIN GAR NICHTS! Es geht überhaupt kein Fenster und nix auf. Auch als Administrator nicht. Beide Programme laufen dann aber im Taskmanager, lassen sich aber nicht beenden – nur nach Windows 7 Neustart nicht mehr im Taskmanager!
Du hast den Autor beider Programme informiert?
Was sagte er?
Du hast die im Artikel verlinkte Seite https://skanthak.homepage.t-online.de/gimmick.html#spectre gelesen?