Schützen von virtuellen Gastcomputern vor CVE 2017 5715 (Branch Target Injection)

Diese Seite enthält zusätzlichen Details zum Schutz von virtuellen Computern auf Hyper-V-Hosts gegen CVE 2017 5715 (Branch Target Injection). Eine allgemeine Anleitung für Windows Server finden Sie auf dieser Seite.

Die folgenden Schritte sind erforderlich, um sicherzustellen, dass die virtuellen Computer geschützt sind:

  1. Aktualisieren Sie das Hostbetriebssystem.
  2. Stellen Sie sicher, dass der Virtualisierungshost auf die Firmware aktualisiert wurde, die Updates gegen CVE-2017-5715 enthält.
  3. Stellen Sie sicher, dass Hyper-V so konfiguriert ist, dass die neuen Prozessorfunktionen den virtuellen Gastcomputern zur Verfügung stehen.
  4. Aktualisieren Sie das Gastbetriebssystem.
  5. Führen Sie einen Kaltstart der virtuellen Gastcomputer aus.

Hostbetriebssystem aktualisieren

Wenden Sie das Update für das Windows-Betriebssystem auf den Virtualisierungshost an. Informationen zur Aktivierung dieses Updates finden Sie im Microsoft Knowledge Base-Artikel 4072699.

Virtualisierungshost auf Firmware aktualisieren, die Updates gegen CVE-2017-5715 enthält

Firmwareupdates von Ihrem OEM enthalten möglicherweise neue Prozessorfunktionen, die vor CVE-2017-5715 schützen (IBRS, STIBP, IBPB). Nachdem die Firmware des Virtualisierungshosts aktualisiert wurde, kann der Hypervisor diese zusätzlichen Funktionen für virtuelle Gastcomputer bereitstellen, nachdem die folgenden Schritte ausgeführt wurden.

Hyper-V so konfigurieren, dass die neuen Prozessorfunktionen virtuellen Gastcomputern zur Verfügung stehen

Stellen Sie sicher, dass Hyper-V so konfiguriert ist, dass die neuen Prozessorfunktionen auf virtuellen Gastcomputern verfügbar gemacht werden. Diese Konfiguration basiert auf der VM-Version der virtuellen Gastcomputer.

Wenn alle virtuellen Computer auf dem Host mindestens die VM-Version 8.0 nutzen, ist keine Konfiguration erforderlich. Diese virtuellen Computer erkennen die neuen Prozessorfunktionen nach einem Kaltstart.

Wenn virtuelle Computer mit einer VM-Version unter 8.0 vorhanden sind, müssen Sie einen bestimmten Registrierungswert auf dem Hostbetriebssystem festlegen. Dadurch wird Hyper-V so konfiguriert, dass die neuen Prozessorfunktionen virtuellen Gastcomputern mit kleineren VM-Versionsnummern zur Verfügung stehen.

Der Registrierungswert ist MinVmVersionForCpuBasedMitigations unter HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization. Der Wert sollte im Format „Größe.Kleinste” auf die kleinste VM-Versionsnummer festgelegt werden, die Zugriff auf die aktualisierten Firmwarefunktionen benötigt. Führen Sie den folgenden Befehl auf dem Host aus, um die Firmware für alle virtuellen Computer auf dem Host verfügbar zu machen (d.h. ab Version 1.0):

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f

VM Version 8.0 wurde mit Windows Server 2016 und dem Windows 10 Anniversary Update eingeführt. Hosts, die Windows Server 2012 R2 und darunter ausführen, müssen den Registrierungswert festlegen*

Die Livemigration schlägt zwischen Hosts mit der aktualisierten Firmware und Hosts ohne die aktualisierte Firmware fehl. Der Startvorgang schlägt im gespeicherten Zustand fehl. Weitere Informationen finden Sie in den häufig gestellten Fragen (FAQ) am Ende dieses Artikels.

Optional: Konfigurieren von Vor-Skylake Intel-Systemen für die Verwendung von Retpoline

Das Konfigurieren von VMs auf Pre-Skylake Intel-Hosts für Retpoline blockiert die Livemigration zu neueren Hosts (d. h. Skylake und darüber hinaus).

Standardmäßig werden virtuelle Computer, die auf Vor-Skylake-Systemen ausgeführt werden, an der Verwendung von Retpoline gehindert. Legen Sie unter HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization1auf festRetsPredictedFromRsbOnly, damit diese Systeme retpolinebasierte Abhilfemaßnahmen nutzen können.

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization" /v RetsPredictedFromRsbOnly /t REG_DWORD /d 1 /f

Um diese Konfiguration umzukehren (d. h. zu verhindern, dass virtuelle Computer Retpoline nutzen), legen Sie auf 0festRetsPredictedFromRsbOnly.

Gastbetriebssystem aktualisieren

Um den Schutz vor CVE-2017-5715 auf diesen virtuellen Computern zu vervollständigen, muss das Gastbetriebssystem aktualisiert und so konfiguriert werden, dass es diese neuen Funktionen nutzen kann. Für Microsoft-Betriebssysteme befolgen Sie beim Aktualisieren bitte die Anleitung in diesem Artikel.

Hinweis: Die Aktualisierung des Gastbetriebssystems kann in diesem Prozess jederzeit erfolgen. Sie kann vor dem Aktualisieren der Hostfirmware oder nach dem Kaltstart des virtuellen Gastcomputers vorgenommen werden.

Kaltstart des Gastcomputers ausführen

Nach Abschluss der ersten drei Schritte muss für virtuelle Computer ein Kaltstart ausgeführt werden, damit sie die neuen Prozessorfunktionen erkennen. Dies bedeutet, dass die laufenden VMs vollständig ausgeschaltet werden müssen, bevor sie erneut gestartet werden. Ein Neustart aus dem Gastbetriebssystem heraus ist nicht ausreichend.

Häufig gestellte Fragen

Wie wirkt sich dies auf Livemigration aus?

Die Livemigration eines virtuellen Computers mit den neuen Prozessorfunktionen schlägt fehl, wenn auf Hyper-V-Hosts ohne aktualisierte Firmware umgestellt wird. Um Livemigration auf einen Host ohne aktualisierte Firmware zu ermöglichen, dürfen Sie diesem virtuellen Gastcomputer die aktualisierten Prozessorfunktionen nicht mehr verfügbar machen. Die einfachste Möglichkeit dafür ist, MinVmVersionForCpuBasedMitigations auf eine VM-Versionsnummer festzulegen, die größer ist als die des virtuellen Computers, der migriert werden soll, und einen Kaltstart des virtuellen Computers auszuführen.

Die Migration virtueller Computer ohne die neuen Prozessorfunktionen wird erfolgreich durchgeführt, wenn auf Hyper-V-Hosts mit aktualisierter Firmware umgestellt wird. Für diese Gastcomputer ist jedoch ein Kaltstart erforderlich, damit sie die aktualisierten Firmwarefunktionen erkennen.

Virtuelle Computer, die für die Verwendung von Retpoline auf Vor-Skylake Intel-Systemen konfiguriert sind, können nicht zu neueren Prozessorfamilien (d. h. Skylake und neuer) migriert werden.

Was ist bei der Livemigration von virtuellen Computern der Version 5.0 zwischen Windows Server 2012R2 und Windows Server 2016 zu bedenken?

Um den Erfolg für dieses Szenario sicherzustellen, muss der Registrierungswert sowohl auf dem Windows Server 2012R2-System als auch auf dem Windows Server 2016-System festgelegt werden. Nach der Migration auf Windows Server 2016 hat die VM-Version weiterhin die Nummer 5.0, und daher ist der Registrierungsschlüssel erforderlich, um die neuen Prozessorfunktionen für den virtuellen Computer verfügbar zu machen.

Gilt diese Anleitung für virtuelle Maschinen, die unter VMWare ausgeführt werden?

Nein, diese Anleitung gilt speziell für virtuelle Computer auf Hyper-V-Hosts.

Gilt diese Anleitung für Hyper-V unter Windows 10?

Ja, für virtuelle Computer, die auf Windows Server und Client ausgeführt werden, gelten die gleichen Schritte.

Muss ich die Firmwareupdates vor einem Kaltstart der virtuellen Computer installieren?

Ja, Sie müssen Betriebssystem und Firmware des Hosts aktualisieren, bevor Sie Ihre virtuellen Computer neu starten.

Was kann ich tun, wenn mein OEM noch keine aktualisierte Firmware anbietet?

Lesen Sie den Artikel Alternativer Schutz für Windows Server 2016 Hyper-V-Hosts gegen spekulative Seitenkanalangriffe (Speculative Execution Side-Channel-Angriffe).

Wie kann ich die VM-Version meiner virtuellen Computer feststellen?

Führen Sie auf dem Hyper-V-Host den folgenden PowerShell-Befehl aus.

Get-VM * | Format-Table Name, Version  

Muss ich andere Maßnahmen ergreifen, um virtuelle Computer zu schützen, die im „Prozessorkompatibilitätsmodus” ausgeführt werden?

Nein. Nachdem Sie alle Anweisungen auf dieser Seite befolgt haben, sind die neuen Prozessorfunktionen auch für virtuelle Computer verfügbar, die im Prozessorkompatibilitätsmodus gestartet wurden.

Was ist, wenn nur die Hälfte der Computer im Cluster ein Firmwareupdate erhalten haben?

Dies wirkt sich auf die Livemigration innerhalb des Clusters aus. Für virtuelle Computer mit den neuen Prozessorfunktionen ist eine Livemigration auf Hosts ohne aktualisiert Firmware nicht möglich.

Wie kann ich überprüfen, ob der virtuelle Computer Zugriff auf die neuen Prozessorfeatures hat?

Verwenden Sie das PowerShell-Modul/Skript „Speculation Control”. Detaillierte Informationen dazu finden Sie auf dieser Seite.

Wie wirkt sich dies auf den Startvorgang auf einem virtuellen Computer mit Speicherstatus aus?

Der Startvorgang schlägt fehl. Die einfachste Möglichkeit dafür ist, MinVmVersionForCpuBasedMitigations auf eine VM-Versionsnummer festzulegen, die größer ist als die des virtuellen Computers, der migriert werden soll, und einen Kaltstart des virtuellen Computers auszuführen.