Arbeitsspeicherintegrität und VBS-Aktivierung

Die Speicherintegrität ist ein virtualisierungsbasiertes Sicherheitsfeature (VBS), das in Windows 10, Windows 11 und Windows Server 2016 oder höher verfügbar ist. Speicherintegrität und VBS verbessern das Bedrohungsmodell von Windows und bieten einen besseren 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 die 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önnten, um das System zu kompromittieren. So wird sichergestellt, dass Kernelspeicherseiten erst nach dem Bestehen von Codeintegritätsprüfungen innerhalb der sicheren Laufzeitumgebung ausführbare Dateien werden und ausführbare Seiten selbst nie beschreibbar sind.

Hinweis

Die Speicherintegrität wird manchmal auch 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 die Speicherintegrität und VBS-Einstellungen in Gruppenrichtlinie oder der Windows-Registrierung zu ermitteln.

Weitere Informationen zu diesen Schutzmaßnahmen finden Sie unter Virtualisierungsbasierter Sicherheitssystemressourcenschutz.

Standardaktivierung

Die Speicherintegrität ist standardmäßig für sauber Installationen von Windows 11 und zuvor nur für sauber Installationen von Windows 10 im S-Modus auf kompatibler Hardware aktiviert, wie in diesem Artikel beschrieben. Es ist auch standardmäßig auf allen PCs mit gesichertem Kern aktiviert. Auf anderen Systemen, die die Anforderungen für die automatische Aktivierung der Speicherintegrität nicht erfüllen, können Kunden eine der unter Aktivieren der Speicherintegrität beschriebenen Methoden verwenden. IT-Experten und Endbenutzer haben immer die endgültige Kontrolle darüber, ob die Speicherintegrität aktiviert ist.

Hardwarefeatures für die automatische Aktivierung

Die Speicherintegrität ist standardmäßig aktiviert, wenn ein PC die folgenden Mindesthardwarefunktionen erfüllt:

Komponente Detail
Prozessor
  • Intel 8. Generation oder höher ab Windows 11, Version 22H2 (Core-Prozessoren der 11. Generation und neuer nur für Windows 11, Version 21H2)
  • AMD Zen 2-Architektur und neuer
  • Qualcomm Snapdragon 8180 und neuer
RAM Mindestens 8 GB (gilt nur für x64-Prozessoren)
Speicher SSD mit einer Mindestgröße von 64 GB
Treiber Speicherintegritätskompatible Treiber müssen installiert sein. Weitere Informationen zu Treibern finden Sie unter Treiberkompatibilität mit Speicherintegrität .
BIOS Virtualisierung muss aktiviert sein

Wenn Sie ein Image erstellen, das die Speicherintegrität nicht automatisch aktiviert, können Sie Ihr Image trotzdem so konfigurieren, dass es standardmäßig aktiviert ist.

Hinweis

Die automatische Aktivierung gilt nur für Neuinstallationen, nicht auf Upgrades vorhandener Geräte.

Hinweis

Die Märkte China und Korea sind ausgeschlossen, um bekannte Kompatibilitätsprobleme mit Software zu vermeiden, die in diesen Regionen weit verbreitet sind.

Hinweis

Intel Core-Desktopprozessoren der 11. Generation sind nicht in der aktuellen Standardaktivierungslogik enthalten. Sie sind jedoch eine empfohlene Plattform für die Speicherintegrität und können vom OEM aktiviert werden.

Speicherintegrität und VBS-Steuerelemente

In diesem Abschnitt wird aufgezählt, wie Gerätehersteller und Endbenutzer mit Speicherintegrität und VBS interagieren können. Informationen zum Steuern des Speicherintegritätsstatus als Administrator finden Sie unter Aktivieren der Speicherintegrität.

Aktivieren der Speicherintegrität

Obwohl Windows die Speicherintegrität für die meisten Systeme standardmäßig aktiviert, gibt es mehrere Gründe, die dies verhindern können. Als OEM können Sie sicherstellen, dass die Speicherintegrität für Ihre Geräte aktiviert ist, indem Sie Registrierungsschlüssel im Betriebssystemimage konfigurieren.

Legen Sie die folgenden beiden Registrierungsschlüssel in Ihrem Image fest, um sicherzustellen, dass die Speicherintegrität aktiviert ist.

Registrierungsschlüssel Wert
HKLM\System\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity Enabled=1
HKLM\System\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity WasEnabledBy=1
HKLM\System\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity EnabledBootId=<Current BootId>

Die BootId ist ein Leistungsindikator, der bei jedem erfolgreichen Start inkrementiert und unter dem Registrierungsschlüssel zu finden ist: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\BootId Die Registrierungsschlüssel WasEnabledBy und EnabledBootId steuern eine Einstellung, die vor einem nicht startbaren Gerät schützt. Wenn dies festgelegt ist, deaktiviert das Gerät automatisch die Speicherintegrität, wenn das System während des Startvorgangs abstürzt, was möglicherweise durch die Speicherintegrität verursacht wird, die einen inkompatiblen, startkritischen Treiber blockiert. Dieses Feature zur automatischen Deaktivierung ist nur verfügbar, während BootId kleiner als EnabledBootId + 3 ist. In einigen Versionen von Windows ist die Automatische Deaktivierung so konzipiert, dass sie rückgängig machen, wenn die Startfehler auch nach dem Deaktivieren der Speicherintegrität fortgesetzt werden, was darauf hinweist, dass die Speicherintegrität nicht die Grundursache der Fehler war.

Hinweis

Für Hochsicherheitssysteme sollten WasEnabledBy und EnabledBootId NICHT festgelegt werden.

Problembehandlung

Identifizieren des Integritätszustands des Arbeitsspeichers

Der folgende flüchtige Registrierungsschlüssel gibt den Zustand der Speicherintegrität an:

Registrierungsschlüssel Wert
HKLM\System\CurrentControlSet\Control\CI\State HVCIEnabled

Andere Möglichkeiten zum Überprüfen des Speicherintegritätsstatus sind msInfo32 unter Virtualisierungsbasierte Sicherheitsdienste, die ausgeführt werden, oder auf der Seite Core-Isolationseinstellungen in der Windows-Sicherheit App den Wert der Speicherintegrität anzuzeigen. Es gibt auch eine WMI-Schnittstelle für die Überprüfung mithilfe von Verwaltungstools. Weitere Informationen finden Sie unter Überprüfen aktivierter VBS- und Speicherintegritätsfeatures.

Debuggen von Treiberproblemen

Überprüfen Sie die Codeintegritätsprotokolle, um festzustellen, ob das Laden von Treibern aufgrund der Speicherintegrität blockiert wurde. Dies befinden sich in Ereignisanzeige unter dem folgenden Pfad:

Applications and Service Logs\Microsoft\Windows\CodeIntegrity\Operational

Im Allgemeinen weisen Kompatibilitätsereignisse für die Speicherintegrität EventID=3087 auf.

Überprüfen der Ergebnisse der Standardaktivierung der Speicherintegrität

Um Details zu den Ergebnissen der Standardaktivierung der Speicherintegrität anzuzeigen, überprüfen Sie setupact.log , und suchen Sie nach HVCI. Sie sollten eines der folgenden Ergebnisprotokolleinträge sowie die erfolgreichen/fehlgeschlagenen Prüfungen sehen, die zur Aktivierungsentscheidung führen:

Aktivierte Speicherintegrität: SYSPRP HVCI: Enabling HVCI

Arbeitsspeicherintegrität nicht aktiviert: SYSPRP HVCI: OS does not meet HVCI auto-enablement requirements. Exiting now.

Wenn das Gerät die Aktivierung der Speicherintegrität über die zuvor beschriebene regkey-Methode deaktiviert hat, ist dies das einzige Protokoll aus dem Sysprep der Speicherintegrität. Wenn das Gerät ein Kompatibilitätsproblem hatte, sollte dies in den vorherigen Protokolleinträgen mit dieser Fehlermeldung identifiziert werden:

SYSPRP HVCI: Compatibility did not pass. VBS_COMPAT_ISSUES 0xXXXXXXXX

Im Folgenden ist eine Enumeration der potenziellen Probleme mit der VBS- oder Speicherintegritätskompat aufgeführt. Jedes Problem wird durch einen einzelnen Index in einem Bitarray dargestellt, und die Fehlermeldung gibt den Hexwert aus, der sich aus jedem vorhandenen Fehlerbit ergibt.

Bit-Index Kompatibilitätsproblem Hexadezimalwert Aufbau
0 Nicht unterstützte Architektur (z. B. x86) 0x00000001
1 SLAT erforderlich 0x00000002 x64
2 Sichere Startfunktion erforderlich 0x00000004 x64
3 IOMMU erforderlich 0x00000008 x64
4 MBEC/GMET Erforderlich 0x00000010 x64
5 UEFI erforderlich 0x00000020 x64
6 UEFI WX-Speicherattributetabelle erforderlich 0x00000040 x64
7 ACPI WSMT-Tabelle erforderlich 0x00000080 x64
8 UEFI MOR-Sperre erforderlich 0x00000100 x64
9 Als veraltet markiert
10 Hardwarevirtualisierung erforderlich 0x00000400 x64
11 Sicherer Start erforderlich 0x00000800 ARM64
12 Als veraltet markiert
13 Gerät mit weniger als der erforderlichen Volumengröße von 64 GB 0x00002000 x64, ARM64
14 SSD-Systemlaufwerk erforderlich 0x00004000 x64, ARM64
15 Intel CET erforderlich (gilt nur für W11 21H2) 0x00008000 x64
16 ARM-SoC ist nicht mit VBS kompatibel 0x00010000 ARM64
17 8 GB RAM erforderlich 0x00020000 x64

Ein Beispiel für einen Fehlercode und eine Fehleridentifikation: VBS_COMPAT_ISSUES 0x000000C0

0x000000C0 –> 0x00000080 UND 0x00000040 –> UEFI WX-Speicherattributetabelle erforderlich, ACPI WSMT-Tabelle erforderlich