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 |
|
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.
Configurazione consigliata
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