Seite 7: 9. Update: Überprüfung der Mitigation gegen Spectre und Meltdown

Viele Nutzer fragen sich derzeit, wie sich die gegen Spectre und Meltdown absichern und überprüfen können, ob die bisher erhobenen Sicherheitsmaßnahmen auch greifen. Dazu sei zunächst noch einmal gesagt:

  • Meltdown ist die zunächst schwerwiegendste Sicherheitslücke, weil recht einfach ausnutzbar, die aber per Software geschlossen werden kann. Je nach Anwendung kann das Schließen der Sicherheitslücke aber einen Einfluss auf die Leistung haben.
  • Die beiden Spectre-Varianten sind schwerer in Form einen Angriffs umzusetzen, können aber per Software- und Firmware-Update auch nicht gänzlich geschlossen werden. Hier kann es den Angreifern theoretisch nur so schwer wie möglich macht werden. Bisher ist keine Methodik bekannt, welche die Lücke gänzlich schließt. Zudem muss die Variante 1 von Spectre explizit von jeder Anwendung geschlossen werden. Ein Patch auf Betriebssystem-Ebene wirkt hier nicht.
  • Alle modernen Prozessoren – egal ob von Intel, Qualcomm, Apple, AMD, IBM, NVIDIA (Tegra SoCs) und vielen anderen – sind betroffen. Die Out-of-Order-Architektur ist in gewisser Weise das Einfallstor für die Sicherheitslücken.

Da die meisten hier ein Windows einsetzen, wollen wir einmal erläutern, wie überprüft werden kann, ob und welche Patches bisher auf dem eigenen System funktionieren:

Microsoft beschreibt in einem Support-Dokument, wie via PowerShell-Skript eine Überprüfung stattfinden kann. Für Windows Server ist dies ebenfalls möglich. Das Skript funktioniert mit Windows 10 (RTM, 1511, 1607, 1703, 1709), Windows 8.1 und Windows 7 SP1. Zunächst muss die PowerShell installiert werden, danach sollte überprüft werden, um die letzten Updates für die Antiviren-Programm installiert sind, denn diese können Probleme machen. Am besten sollte diese zunächst deaktiviert werden.

Mittels PS > Install-Module SpeculationControl wird das von Microsoft erstellte Skript geladen. Danach kann mit PS > Get-SpeculationControlSettings das Skript gestartet werden. Es wird eine Log-Datei ausgegeben, wenn alle Lücken geschlossen wären wie folgt aussehen sollte:

Speculation control settings for CVE-2017-5715 [branch target injection]
Hardware support for branch target injection mitigation is present: True
Windows OS support for branch target injection mitigation is present: True
Windows OS support for branch target injection mitigation is enabled: True
Speculation control settings for CVE-2017-5754 [rogue data cache load]
Hardware requires kernel VA shadowing: True
Windows OS support for kernel VA shadow is present: True
Windows OS support for kernel VA shadow is enabled: True
Windows OS support for PCID optimization is enabled: True

Dies ist in der Praxis aber kaum der Fall, zumal das Skript nur Variante 2 von Spectre und die Meltdown-Sicherheitslücke überprüfen kann. Daher werden hier auch nur CVE-2017-5715 (Branch Target Injection) und CVE-2017-5754 (Rogue Data Cache Load) aufgeführt. Noch einmal: Spectre in der Variante 1 CVE-2017-5753 (Bounds Check Bypass) kann nur duch ein Update der jeweiligen Verwendung gepatcht werden.

Dennoch gibt das Skript eine eindeutige Auskunft über den Status des Systems für Spectre und Meltown. Es wird auch zwischen dem Schließen der Lücke auf Ebene des Betriebssystems und durch die Hardware in Form der Firmware der Prozessoren unterschieden.