Aktivieren des virtualisierungsbasierten Schutzes der Codeintegrität
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 .
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.
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:
Aktivieren der Speicherintegrität mithilfe von 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.
Ü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.
InstanceIdentifier: Eine Zeichenfolge, die für ein bestimmtes Gerät eindeutig ist und von WMI festgelegt wird.
Version: In diesem Feld wird die Version dieser WMI-Klasse aufgeführt. Der derzeit einzig gültige Wert lautet 1.0.
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. CodeIntegrityPolicyEnforcementStatus: Dieses Feld gibt die Erzwingung der Codeintegritätsrichtlinie status an.
Wert Beschreibung 0 Aus 1 Überwachung: 2 Erzwungen. 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. 5 Falls vorhanden, wird der durch die Kernelmodushardware erzwungene Stapelschutz konfiguriert. 6 Falls vorhanden, wird der hardwaregestützte Stapelschutz im Kernelmodus im Überwachungsmodus konfiguriert. 7 Falls vorhanden, wird Hypervisor-Enforced Pagingübersetzung 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. 5 Falls vorhanden, wird der hardwaregestützte Stapelschutz im Kernelmodus ausgeführt. 6 Falls vorhanden, wird der hardwaregestützte Stapelschutz im Kernelmodus im Überwachungsmodus ausgeführt. 7 Falls vorhanden, wird Hypervisor-Enforced PagingÜbersetzung ausgeführt. SmmIsolationLevel: Dieses Feld gibt die SMM-Isolationsstufe an.
UsermodeCodeIntegrityPolicyEnforcementStatus: Dieses Feld gibt die Erzwingung der Codeintegritätsrichtlinie im Benutzermodus status an.
Wert Beschreibung 0 Deaktiviert 1 Überwachung: 2 Erzwungen. 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. VirtualMachineIsolation: Dieses Feld gibt an, ob die Vm-Isolation aktiviert ist.
VirtualMachineIsolationProperties: Dieses Feld gibt die verfügbaren Isolationseigenschaften für virtuelle Computer an.
Wert Beschreibung 1 AMD SEV-SNP 2 Virtualisierungsbasierte Sicherheit 3 Intel TDX
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.
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.
Deaktivieren Sie zunächst alle Richtlinien, die verwendet werden, um VBS und Speicherintegrität zu aktivieren, z. B. Gruppenrichtlinie.
Starten Sie dann auf Windows RE auf dem betroffenen Computer. Weitere Informationen finden Sie unter Windows RE Technische Referenz.
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
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-VMSecurity
deaktivieren. - 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-VMSecurity
deaktivieren.