Aktivieren des virtualisierungsbasierten Schutzes der Codeintegrität

Die Speicherintegrität ist ein virtualisierungsbasiertes Sicherheitsfeature (VBS), das in Windows verfügbar ist. Speicherintegrität und VBS verbessern das Bedrohungsmodell von Windows und bieten einen stärkeren Schutz vor Schadsoftware, die versucht, den Windows-Kernel auszunutzen. VBS verwendet den Windows-Hypervisor, um eine isolierte virtuelle Umgebung zu erstellen, die zum Vertrauensstamm des Betriebssystems wird, das davon ausgeht, dass der Kernel kompromittiert werden kann. Die Speicherintegrität ist eine wichtige Komponente, die Windows schützt und härtet, indem codeintegrität im Kernelmodus in der isolierten virtuellen Umgebung von VBS ausgeführt wird. Die Speicherintegrität schränkt auch Kernelspeicherbelegungen ein, die verwendet werden können, um das System zu kompromittieren.

Hinweis

  • Die Speicherintegrität wird manchmal als hypervisorgeschützte Codeintegrität (Hypervisor-Protected Code Integrity, HVCI) oder durch Hypervisor erzwungene Codeintegrität bezeichnet und wurde ursprünglich als Teil von Device Guard veröffentlicht. Device Guard wird nicht mehr verwendet, außer um speicherintegritäts- und VBS-Einstellungen in Gruppenrichtlinie oder der Windows-Registrierung zu suchen.
  • Die Speicherintegrität funktioniert besser mit Intel Kabylake-Prozessoren und höheren Prozessoren mit der modusbasierten Ausführungssteuerung und AMD Zen 2 und höher mit Gastmodus-Execute Trap-Funktionen . Ältere Prozessoren basieren auf einer Emulation dieser Features, die als eingeschränkter Benutzermodus bezeichnet werden, und haben einen größeren Einfluss auf die Leistung. Wenn die geschachtelte Virtualisierung aktiviert ist, funktioniert die Speicherintegrität besser, wenn die VM version >= 9.3 ist.

Warnung

Einige Anwendungen und Hardwaregerätetreiber sind möglicherweise nicht mit der Speicherintegrität kompatibel. Diese Inkompatibilität kann dazu führen, dass Geräte oder Software fehlschlagen und in seltenen Fällen zu einem Startfehler (Bluescreen) führen kann. Solche Probleme können auftreten, nachdem die Speicherintegrität aktiviert wurde oder während des Aktivierungsprozesses selbst. Wenn Kompatibilitätsprobleme auftreten, finden Sie Unter Problembehandlungsschritte .

Arbeitsspeicherintegritätsfeatures

  • Schützt die Änderung der CFG-Bitmap (Control Flow Guard) für Kernelmodustreiber.
  • Schützt den Codeintegritätsprozess im Kernelmodus, der sicherstellt, dass andere vertrauenswürdige Kernelprozesse über ein gültiges Zertifikat verfügen.

Aktivieren der Speicherintegrität

Um die Speicherintegrität auf Windows-Geräten mit unterstützender Hardware in einem Unternehmen zu aktivieren, verwenden Sie eine der folgenden Optionen:

Windows-Sicherheit

Die Speicherintegrität kann in Windows-Sicherheit Einstellungen aktiviert werden und finden Sie unter Windows-Sicherheit>Gerätesicherheit> Details zurSpeicherintegritätder Kernisolation>. Weitere Informationen finden Sie unter Geräteschutz in Windows-Sicherheit.

Ab Windows 11 22H2 zeigt Windows-Sicherheit eine Warnung an, wenn die Speicherintegrität deaktiviert ist. Die Warnungsanzeige wird auch auf dem Windows-Sicherheit-Symbol in der Windows-Taskleiste und im Windows-Benachrichtigungscenter angezeigt. Der Benutzer kann die Warnung innerhalb von Windows-Sicherheit schließen.

Aktivieren der Speicherintegrität mithilfe von Intune

Verwenden Sie die Einstellung Durch Virtualisierungsbasierte Technologie>Hypervisor erzwungene Codeintegrität mithilfe des Einstellungskatalogs , um die Speicherintegrität zu aktivieren. Sie können auch den Knoten HypervisorEnforcedCodeIntegrity im VirtualizationBasedTechnology-CSP verwenden.

Aktivieren der Speicherintegrität mithilfe von Gruppenrichtlinie

  1. Verwenden Sie Gruppenrichtlinie Editor (gpedit.msc), um entweder ein vorhandenes Gruppenrichtlinienobjekt zu bearbeiten oder ein neues gruppenrichtlinienobjekt zu erstellen.
  2. Navigieren Sie zu Computerkonfiguration>Administrative Vorlagen>System>Device Guard.
  3. Doppelklicken Sie auf Virtualisierungsbasierte Sicherheit aktivieren.
  4. Wählen Sie Aktiviert und unter Virtualisierungsbasierter Schutz der Codeintegrität die Option Ohne UEFI-Sperre aktiviert aus. Wählen Sie Mit UEFI-Sperre aktiviert aus, wenn Sie verhindern möchten, dass die Speicherintegrität remote oder durch Richtlinienaktualisierung deaktiviert wird. Nach dem Aktivieren der UEFI-Sperre benötigen Sie Zugriff auf das UEFI-BIOS-Menü, um den sicheren Start zu deaktivieren, wenn Sie die Speicherintegrität deaktivieren möchten. Aktivieren Sie die Speicherintegrität mithilfe von Gruppenrichtlinie.
  5. Wählen Sie OK aus, um den Editor zu schließen.

Um die neue Richtlinie auf einen in die Domäne eingebundenen Computer anzuwenden, starten Sie entweder neu oder führen Sie sie an einer Eingabeaufforderung mit erhöhten Rechten aus gpupdate /force .

Verwenden von Registrierungsschlüsseln zum Aktivieren der Speicherintegrität

Legen Sie die folgenden Registrierungsschlüssel fest, um die Speicherintegrität zu aktivieren. Diese Schlüssel bieten genau denselben Satz von Konfigurationsoptionen, die von Gruppenrichtlinie bereitgestellt werden.

Wichtig

  • Aus den folgenden Befehlen können Sie Einstellungen für Sicherer Start und Sicherer Start und DMA-Schutz wählen. In den meisten Fällen wird die Auswahl von Sicherer Start empfohlen. Diese Option bietet den sicheren Start mit so viel Schutz, wie von der Hardware eines bestimmten Computers unterstützt wird. Auf einem Computer mit Speicherverwaltungseinheiten für die Ein- und Ausgabe (Input/Output Memory Management Units, IOMMUs) ist der sichere Start mit DMA-Schutz verfügbar. Auf einem Computer ohne IOMMUs ist einfach der sichere Start aktiviert.

  • Wenn Sie Sicherer Start mit DMA auswählen, werden die Speicherintegrität und die anderen VBS-Features nur für Computer aktiviert, die DMA unterstützen. Dies gilt nur für Computer mit IOMMUs. Computer ohne IOMMUs verfügen nicht über VBS- oder Speicherintegritätsschutz.

  • Alle Treiber auf dem System müssen mit dem virtualisierungsbasierten Schutz der Codeintegrität kompatibel sein. Ansonsten treten auf dem System möglicherweise Fehler auf. Es wird empfohlen, diese Features für eine Gruppe von Testcomputern zu aktivieren, bevor Sie sie auf den Computern der Benutzer aktivieren.

Empfohlene Einstellungen (zum Aktivieren der Speicherintegrität ohne UEFI-Sperre):

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f

Wenn Sie die oben empfohlenen Einstellungen anpassen möchten, verwenden Sie die folgenden Registrierungsschlüssel.

So aktivieren Sie nur VBS (keine Speicherintegrität)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f

So aktivieren Sie VBS und legen nur den sicheren Start als erforderlich fest (Wert 1)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f

So aktivieren Sie VBS mit sicherem Start und DMA (Wert 3)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 3 /f

So aktivieren Sie VBS ohne UEFI-Sperre (Wert 0)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 0 /f

So aktivieren Sie VBS mit UEFI-Sperre (Wert 1)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 1 /f

So aktivieren Sie die Speicherintegrität

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f

So aktivieren Sie die Speicherintegrität ohne UEFI-Sperre (Wert 0)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f

So aktivieren Sie die Speicherintegrität mit UEFI-Sperre (Wert 1)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 1 /f

So grauen Sie die Benutzeroberfläche für die Speicherintegrität aus, und zeigen Sie die Meldung "Diese Einstellung wird von Ihrem Administrator verwaltet" an.

reg delete HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity /v "WasEnabledBy" /f

Damit sich die Benutzeroberfläche für die Speicherintegrität normal verhält (nicht abgeblendet)

reg add HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity /v "WasEnabledBy" /t REG_DWORD /d 2 /f

Aktivieren der Speicherintegrität mit Windows Defender Application Control (WDAC)

Sie können die WDAC-Richtlinie verwenden, um die Speicherintegrität mit einer der folgenden Techniken zu aktivieren:

  1. Verwenden Sie den WDAC-Assistenten , um Ihre WDAC-Richtlinie zu erstellen oder zu bearbeiten, und wählen Sie die Option Hypervisorgeschützte Codeintegrität auf der Seite Richtlinienregeln des Assistenten aus.
  2. Verwenden Sie das PowerShell-Cmdlet Set-HVCIOptions .
  3. Bearbeiten Sie die XML-Datei der WDAC-Richtlinie, und ändern Sie den Wertsatz für das <HVCIOptions> -Element.

Hinweis

Wenn Ihre WDAC-Richtlinie so festgelegt ist, dass die Speicherintegrität aktiviert wird, wird sie auch dann aktiviert, wenn sich die Richtlinie im Überwachungsmodus befindet.

Überprüfen aktivierter VBS- und Speicherintegritätsfeatures

Verwenden Win32_DeviceGuard WMI-Klasse

Windows 10, Windows 11 und Windows Server 2016 und höher verfügen über eine WMI-Klasse für VBS-bezogene Eigenschaften und Features: Win32_DeviceGuard. Diese Klasse kann in einer Windows PowerShell-Sitzung mit erhöhten Rechten mithilfe des folgenden Befehls abgerufen werden:

Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard

Hinweis

Die Eigenschaft "Modusbasierte Ausführungssteuerung" wird nur ab Windows 10 Version 1803 und Windows 11 Version 21H2 als verfügbar aufgeführt. Dieser Wert wird sowohl für die Modus-basierte Ausführungssteuerung von Intel als auch für die AmDs Gastmodus-Ausführung trap-Funktionen gemeldet.

Die Ausgabe dieses Befehls enthält Details zu den verfügbaren hardwarebasierten Sicherheitsfeatures und den features, die derzeit aktiviert sind.

AvailableSecurityProperties

Dieses Feld hilft beim Aufzählen und Melden des Zustands der relevanten Sicherheitseigenschaften für VBS und Speicherintegrität.

Wert Beschreibung
0 Wenn vorhanden, sind auf dem Gerät keine relevanten Eigenschaften vorhanden.
1 Wenn vorhanden, ist die Hypervisor-Unterstützung verfügbar.
2 Wenn vorhanden, ist „Sicherer Start“ verfügbar.
3 Wenn vorhanden, ist der DMA-Schutz verfügbar.
4 Wenn vorhanden, ist die Überschreibung des sicheren Speichers verfügbar.
5 Wenn vorhanden, sind NX-Schutzmaßnahmen verfügbar.
6 Wenn vorhanden, sind SMM-Gegenmaßnahmen verfügbar.
7 Falls vorhanden, ist MBEC/GMET verfügbar.
8 Falls vorhanden, ist die APIC-Virtualisierung verfügbar.
InstanceIdentifier

Eine Zeichenfolge, die für ein bestimmtes Gerät eindeutig ist und von WMI festgelegt wird.

RequiredSecurityProperties

In diesem Feld werden die erforderlichen Sicherheitseigenschaften zum Aktivieren von VBS beschrieben.

Wert Beschreibung
0 Nichts ist erforderlich.
1 Wenn vorhanden, ist die Hypervisor-Unterstützung erforderlich.
2 Wenn vorhanden, ist „Sicherer Start“ erforderlich.
3 Wenn vorhanden, ist der DMA-Schutz erforderlich.
4 Wenn vorhanden, ist die Überschreibung des sicheren Speichers erforderlich.
5 Wenn vorhanden, sind NX-Schutzmaßnahmen erforderlich.
6 Wenn vorhanden, sind SMM-Gegenmaßnahmen erforderlich.
7 Falls vorhanden, wird MBEC/GMET benötigt.
SecurityServicesConfigured

Dieses Feld gibt an, ob Credential Guard oder die Speicherintegrität konfiguriert ist.

Wert Beschreibung
0 Es sind keine Dienste konfiguriert.
1 Wenn vorhanden, ist Credential Guard konfiguriert.
2 Falls vorhanden, wird die Speicherintegrität konfiguriert.
3 Falls vorhanden, wird Systemüberwachung Sicherer Start konfiguriert.
4 Falls vorhanden, ist die SMM-Firmwaremessung konfiguriert.
SecurityServicesRunning

Dieses Feld gibt an, ob Credential Guard oder die Speicherintegrität ausgeführt wird.

Wert Beschreibung
0 Es werden keine Dienste ausgeführt.
1 Wenn vorhanden, wird Credential Guard ausgeführt.
2 Falls vorhanden, wird die Speicherintegrität ausgeführt.
3 Falls vorhanden, wird Systemüberwachung Sicherer Start ausgeführt.
4 Falls vorhanden, wird die SMM-Firmwaremessung ausgeführt.
Version

In diesem Feld wird die Version dieser WMI-Klasse ausgeführt. Der derzeit einzig gültige Wert lautet 1.0.

VirtualizationBasedSecurityStatus

Dieses Feld gibt an, ob VBS aktiviert ist und ausgeführt wird.

Wert Beschreibung
0 VBS ist nicht aktiviert.
1 VBS ist aktiviert, wird jedoch nicht ausgeführt.
2 VBS ist aktiviert und wird ausgeführt.
PSComputerName

In diesem Feld wird der Computername aufgeführt. Alle gültigen Werte für den Computernamen.

Verwenden von msinfo32.exe

Eine weitere Methode zum Ermitteln der verfügbaren und aktivierten VBS-Features besteht darin, msinfo32.exe aus einer PowerShell-Sitzung mit erhöhten Rechten auszuführen. Wenn Sie dieses Programm ausführen, werden die VBS-Features unten im Abschnitt Systemzusammenfassung angezeigt.

Virtualisierungsbasierte Sicherheitsfeatures in der Systemzusammenfassung der Systeminformationen.

Problembehandlung

  • Wenn ein Gerätetreiber zur Laufzeit nicht geladen werden kann oder abstürzt, können Sie den Treiber möglicherweise mithilfe von Geräte-Manager aktualisieren.
  • Wenn beim Start ein kritischer Fehler auftritt oder Ihr System nach dem Aktivieren der Speicherintegrität instabil ist, können Sie die Wiederherstellung mithilfe der Windows-Wiederherstellungsumgebung (Windows RE) durchführen.
    1. Deaktivieren Sie zunächst alle Richtlinien, die verwendet werden, um VBS und Speicherintegrität zu aktivieren, z. B. Gruppenrichtlinie.

    2. Starten Sie dann auf Windows RE auf dem betroffenen Computer. Weitere Informationen finden Sie unter Windows RE Technische Referenz.

    3. Legen Sie nach der Anmeldung bei Windows RE den Registrierungsschlüssel für die Speicherintegrität auf Aus fest:

      reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 0 /f
      
    4. Starten Sie schließlich Ihr Gerät neu.

Hinweis

Wenn Sie die Speicherintegrität mit UEFI-Sperre aktiviert haben, müssen Sie den sicheren Start deaktivieren, um die Windows RE Wiederherstellungsschritte abzuschließen.

Bereitstellung der Speicherintegrität auf virtuellen Computern

Die Arbeitsspeicherintegrität kann einen virtuellen Hyper-V-Computer genauso schützen wie ein physischer Computer. Die Schritte zum Aktivieren der Speicherintegrität innerhalb des virtuellen Computers sind identisch.

Die Speicherintegrität schützt vor Schadsoftware, die auf dem virtuellen Gastcomputer ausgeführt wird. Es bietet keinen zusätzlichen Schutz durch den Hostadministrator. Auf dem Host können Sie die Speicherintegrität für einen virtuellen Computer deaktivieren:

Set-VMSecurity -VMName <VMName> -VirtualizationBasedSecurityOptOut $true

Anforderungen für die Ausführung der Arbeitsspeicherintegrität auf virtuellen Hyper-V-Computern

  • Auf dem Hyper-V-Host muss mindestens Windows Server 2016 oder Windows 10, Version 1607, ausgeführt werden.
  • Beim virtuellen Hyper-V-Computer muss es sich um einen Computer der 2. Generation handeln, auf dem mindestens Windows Server 2016 oder Windows 10 ausgeführt werden.
  • Speicherintegrität und geschachtelte Virtualisierung können gleichzeitig aktiviert werden. Um die Hyper-V-Rolle auf dem virtuellen Computer zu aktivieren, müssen Sie zuerst die Hyper-V-Rolle in einer geschachtelten Windows-Virtualisierungsumgebung installieren.
  • virtueller Fibre Channel Adapter sind nicht mit der Speicherintegrität kompatibel. Bevor Sie einen virtuellen Fibre Channel-Adapter an einen virtuellen Computer anfügen, müssen Sie zunächst die virtualisierungsbasierte Sicherheit mit Set-VMSecuritydeaktivieren.
  • Die Option AllowFullSCSICommandSet für Passthrough-Datenträger ist nicht mit der Speicherintegrität kompatibel. Bevor Sie einen Passthrough-Datenträger mit AllowFullSCSICommandSet konfigurieren, müssen Sie zunächst die virtualisierungsbasierte Sicherheit mit Set-VMSecuritydeaktivieren.