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 |
|
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.
Empfohlene Konfiguration
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