Condividi tramite


Integrità della memoria e abilitazione di VBS

L'integrità della memoria è una funzionalità di sicurezza basata su virtualizzazione disponibile in Windows 10, Windows 11 e Windows Server 2016 o versioni successive. Integrità della memoria e VBS migliorano il modello di minaccia di Windows e forniscono protezione più forte contro malware che tentano di sfruttare il kernel di Windows. VBS usa l'hypervisor Windows per creare un ambiente virtuale isolato che diventa la radice di attendibilità del sistema operativo che presuppone che il kernel possa essere compromesso. L'integrità della memoria è un componente critico che protegge e protegge Windows eseguendo l'integrità del codice in modalità kernel all'interno dell'ambiente virtuale isolato di VBS. L'integrità della memoria limita anche le allocazioni di memoria del kernel che potrebbero essere usate per compromettere il sistema, assicurando che le pagine di memoria del kernel vengano eseguite solo dopo aver superato i controlli di integrità del codice all'interno dell'ambiente di runtime sicuro e le pagine eseguibili stesse non sono mai scrivibili.

Nota

L'integrità della memoria viene talvolta definita integrità del codice protetta da hypervisor (HVCI) o hypervisor applicata all'integrità del codice ed è stata originariamente rilasciata come parte di Device Guard. Device Guard non viene più usato tranne per individuare l'integrità della memoria e le impostazioni VBS in Criteri di gruppo o nel Registro di sistema di Windows.

Per altre informazioni su queste protezioni, vedere Protezione risorse del sistema di sicurezza basata su virtualizzazione .

Abilitazione predefinita

L'integrità della memoria è attivata per impostazione predefinita su installazioni pulite di Windows 11 e in precedenza solo in installazioni pulite di Windows 10 in modalità S, in hardware compatibile come descritto in questo articolo. È attivato anche per impostazione predefinita su tutti i PC protetti. In altri sistemi che non soddisfano i requisiti di abilitazione automatica dell'integrità della memoria, i clienti possono scegliere di usare uno dei metodi descritti in come abilitare l'integrità della memoria. I professionisti IT e gli utenti finali hanno sempre il controllo finale dell'integrità della memoria abilitata.

Funzionalità hardware per l'abilitazione automatica

L'integrità della memoria viene attivata per impostazione predefinita quando un PC soddisfa le seguenti funzionalità hardware minime:

Componente Dettaglio
Processore
  • Intel 8th generation o versioni successive a partire da Windows 11, versione 22H2 (processori Core di seconda generazione e versioni successive solo per Windows 11, versione 21H2)
  • Architettura AMD Zen 2 e versioni successive
  • Qualcomm Kpion 8180 e versioni successive
RAM Minimo 8 GB (applicabile solo per processori x64)
Archiviazione SSD con dimensioni minime di 64 GB
Driver I driver compatibili con l'integrità della memoria devono essere installati. Per altre informazioni sui driver, vedere Compatibilità del driver con integrità della memoria .
BIOS La virtualizzazione deve essere abilitata

Se si sta creando un'immagine che non abilita automaticamente l'integrità della memoria, è comunque possibile configurare l'immagine in modo che sia attivata per impostazione predefinita.

Nota

L'abilitazione automatica riguarda solo le installazioni pulite, non gli aggiornamenti dei dispositivi esistenti.

Nota

I mercati cinesi e coreani sono esclusi, per evitare problemi di compatibilità noti con il software prevalente in tali aree geografiche.

Nota

I processori desktop Intel 11th generation Core non sono inclusi nella logica di abilitazione predefinita corrente. Tuttavia, sono una piattaforma consigliata per l'integrità della memoria e può essere abilitata dall'OEM.

Integrità della memoria e controlli VBS

Questa sezione enumera il modo in cui i produttori di dispositivi e gli utenti finali possono interagire con l'integrità della memoria e vbS. Per informazioni su come controllare lo stato di integrità della memoria come amministratore, vedere Come attivare l'integrità della memoria.

Attivare l'integrità della memoria

Anche se Windows attiva l'integrità della memoria per impostazione predefinita per la maggior parte dei sistemi, esistono diversi motivi che potrebbero impedire che si verifichino. Come OEM, è possibile assicurarsi che l'integrità della memoria sia attivata per i dispositivi configurando le chiavi del Registro di sistema nell'immagine del sistema operativo.

Impostare le due chiavi del Registro di sistema seguenti nell'immagine per assicurarsi che l'integrità della memoria sia attivata.

Chiave del Registro di sistema valore
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>

BootId è un contatore che incrementa ogni avvio riuscito e si trova nella chiave del Registro di sistema: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\BootId The WasEnabledBy e EnabledBootId delle chiavi del Registro di sistema controllano un'impostazione che protegge dalla presenza di un dispositivo non avviabile. Quando impostato, il dispositivo disattiva automaticamente l'integrità della memoria se il sistema si arresta in modo anomalo durante l'avvio, potenzialmente causato dall'integrità della memoria che blocca un driver critico di avvio non compatibile. Questa funzionalità di disabilitazione automatica è disponibile solo mentre BootId è minore di EnabledBootId + 3. In alcune versioni di Windows, la funzionalità di disabilitazione automatica è progettata per ripristinare se gli errori di avvio continuano anche dopo la disattivazione dell'integrità della memoria, indicando che l'integrità della memoria non era la causa radice degli errori.

Nota

Per i sistemi di sicurezza elevata, WasEnabledBy e EnabledBootId non devono essere impostati.

Risoluzione dei problemi

Identificazione dello stato di integrità della memoria

La regkey volatile seguente riflette lo stato di integrità della memoria:

Chiave del Registro di sistema valore
HKLM\System\CurrentControlSet\Control\CI\State HVCIEnabled

Altri modi per controllare lo stato di integrità della memoria sono esaminare MsInfo32 in Servizi di sicurezza basati su virtualizzazione In esecuzione o fare riferimento alla pagina Impostazioni di isolamento core nell'app Sicurezza di Windows per visualizzare il valore dell'integrità della memoria. È disponibile anche un'interfaccia WMI per controllare l'uso degli strumenti di gestione, vedere Convalidare le funzionalità di integrità di VBS e memoria abilitate.

Problemi relativi al driver di debug

Controllare i log di integrità del codice per verificare se i driver sono stati bloccati dal caricamento in seguito all'integrità della memoria. Questi sono in Visualizzatore eventi nel percorso seguente:

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

In genere, gli eventi di compatibilità dell'integrità della memoria hanno EventID=3087

Controllare i risultati dell'abilitazione predefinita dell'integrità della memoria

Per visualizzare i dettagli sui risultati dell'abilitazione predefinita dell'integrità della memoria, controllare setupact.log e cercare HVCI. È consigliabile visualizzare uno dei log dei risultati seguenti, nonché i controlli con esito positivo o negativo che comportano la decisione di abilitazione:

Integrità della memoria abilitata: SYSPRP HVCI: Enabling HVCI

Integrità della memoria non abilitata: SYSPRP HVCI: OS does not meet HVCI auto-enablement requirements. Exiting now.

Se il dispositivo è stato consenso esplicito sull'abilitazione dell'integrità della memoria tramite il metodo regkey dettagliato in precedenza, questo sarà l'unico log di sysprep dell'integrità della memoria. Se il dispositivo ha avuto un problema di compatibilità, deve essere identificato nei log precedenti con il messaggio di errore:

SYSPRP HVCI: Compatibility did not pass. VBS_COMPAT_ISSUES 0xXXXXXXXX

Di seguito è riportata un'enumerazione dei potenziali problemi di integrità della memoria o VBS. Ogni problema è rappresentato da un singolo indice in una matrice di bit e il messaggio di errore restituisce il valore esadecimale risultante da ogni bit di errore presente.

Indice bit Problema di compat Valore esadecimale Architettura
0 Architettura non supportata (ad esempio x86) 0x00000001
1 SLAT obbligatorio 0x00000002 x64
2 Funzionalità di avvio sicure necessarie 0x00000004 x64
3 IOMMU obbligatorio 0x00000008 x64
4 MBEC/GMET obbligatorio 0x00000010 x64
5 UEFI Obbligatorio 0x00000020 x64
6 Tabella degli attributi di memoria WX UEFI richiesta 0x00000040 x64
7 Tabella WSMT ACPI obbligatoria 0x00000080 x64
8 Blocco MOR UEFI obbligatorio 0x00000100 x64
9 Deprecato
10 Virtualizzazione hardware necessaria 0x00000400 x64
11 Avvio sicuro obbligatorio 0x00000800 ARM64
12 Deprecato
13 Il dispositivo non riesce a soddisfare le dimensioni minime del volume richiesto di 64 GB 0x00002000 x64, ARM64
14 SSD dell'unità di sistema necessaria 0x00004000 x64, ARM64
15 Intel CET Obbligatorio (applicabile solo in W11 21H2) 0x00008000 x64
16 Arm SoC non è compatibile con VBS 0x00010000 ARM64
17 8 GB di RAM necessaria 0x00020000 x64

Esempio di codice di errore e identificazione degli errori: VBS_COMPAT_ISSUES 0x000000C0

0x000000C0 - 0x00000080 AND 0x00000040 ->> Tabella degli attributi di memoria WX UEFI obbligatoria, tabella ACPI WSMT richiesta