Condividi tramite


Protezioni delle risorse del sistema di sicurezza basate su virtualizzazione

La sicurezza basata su virtualizzazione o la sicurezza basata su virtualizzazione usa la virtualizzazione hardware e l'hypervisor Di Windows per creare un ambiente virtuale isolato che diventa la radice di attendibilità del sistema operativo che presuppone che il kernel possa essere compromesso. Windows usa questo ambiente isolato per ospitare una serie di soluzioni di sicurezza, fornendo loro una maggiore protezione dalle vulnerabilità nel sistema operativo e impedendo l'uso di exploit dannosi che tentano di sconfiggere le protezioni. VbS applica restrizioni per proteggere le risorse vitali del sistema operativo o per proteggere asset di sicurezza come le credenziali utente autenticate.

Per altre informazioni sulla sicurezza basata su virtualizzazione, vedere Sicurezza basata su virtualizzazione.For more background on VBS please please refer to Virtualization-based Security (VBS).

La sicurezza basata su vbs modifica il modello di attendibilità

Anche se la sicurezza basata su vbs migliora notevolmente la sicurezza della piattaforma, la sicurezza basata su vbs modifica anche i limiti di attendibilità in un PC Windows. Con VBS, l'hypervisor Di Windows controlla molti aspetti dell'hardware sottostante che forniscono la base per l'ambiente sicuro vbs. L'hypervisor deve presupporre che il kernel di Windows possa diventare compromesso da codice dannoso e pertanto deve proteggere le risorse del sistema chiave da modificare dal codice in esecuzione in modalità kernel in modo da compromettere gli asset di sicurezza.

Informazioni sugli msr del processore

Un'area di risorse di sistema vitali che l'hypervisor deve proteggere da un uso dannoso è costituito da registri specifici del modello del processore o richieste pull. I processori moderni supportano un numero elevato di richieste pull, molti dei quali controllano gli aspetti chiave del comportamento del processore. Le richieste pull possono essere lette solo da o scritte nel codice in modalità kernel, ovvero CPL0. La modifica delle impostazioni controllate dalle richieste msr potrebbe consentire al codice in modalità kernel dannoso di modificare il comportamento del sistema e consentire a un utente malintenzionato di ottenere il controllo, compromettendo la sicurezza. Inoltre, molti msr contengono dati sull'operazione del sistema, ad esempio dati di traccia o diagnostica, che possono essere usati anche per rivelare o calcolare gli asset di sicurezza. Di conseguenza, l'hypervisor deve identificare e proteggere dall'uso improprio di eventuali richieste msr che potrebbero compromettere il comportamento di sicurezza della sicurezza di VBS.

È possibile accedere alle richieste pull tramite un indice, che è un identificatore univoco per MSR. Storicamente, molti msr sono stati stabiliti come architetturali; ovvero la loro presenza e la loro funzione rimangono coerenti a livello di architettura tra più generazioni di processori. In questo caso, è possibile fare affidamento su un msr noto con un indice e una definizione MSR documentati per controllare un set di funzionalità noto e pubblicato. Tuttavia, esistono anche richieste msr che variano in base ai processori e ci sono casi in cui gli indici MSR sono stati ridefiniti nel tempo, per fare riferimento a nuovi set di controlli. Questi sono molto problematici per il software a livello di sistema, poiché è difficile codificare e mantenere la conoscenza di questi controlli in software commerciale su vasta scala.

Protezione dell'accesso alle richieste pull

Per fornire una solida piattaforma di sicurezza, le richieste pull devono essere protette dall'uso improprio da codice in modalità kernel dannoso. Per applicare questa operazione, l'hypervisor monitora e controlla l'accesso a tutte le richieste pull. L'hypervisor gestisce un elenco di indici MSR noti e consentirà solo al codice in modalità kernel di accedere alle richieste pull o a bit specifici all'interno delle richieste pull, che sono note per essere ragionevoli e considerate sicure. L'hypervisor bloccherà l'accesso a qualsiasi msr sconosciuto all'hypervisor o a qualsiasi msr noto tramite la definizione pubblicata per rappresentare un rischio di sicurezza. In alcuni casi, l'accesso parziale può essere consentito.

Quando l'hypervisor ha bloccato l'accesso a un msr, registra un evento nel log di sistema di Windows in Visualizzatore eventi, specificando i dettagli dell'accesso tentato.

Dato il numero elevato di funzioni controllate dalle richieste pull, non è possibile prevedere gli effetti collaterali di impedire l'accesso msr al software che lo ha avviato. Il software ben scritto deve gestire correttamente gli errori e i casi di errore, tuttavia, questo non è sempre il caso.

Verifica degli eventi di accesso a MSR

L'hypervisor bloccherà l'accesso solo a determinate richieste pull quando la sicurezza basata su messaggistica virtuale è abilitata e in esecuzione. Per determinare se l'hypervisor ha bloccato l'accesso a un msr, cercare nel registro di sistema di Windows l'ID evento 12550 da Microsoft-Windows-Hyper-V-Hypervisor. I dettagli della voce del registro eventi conterranno le informazioni seguenti:

ID : 12550
Descrizione: Hyper-V ha rilevato l'accesso a un msr con restrizioni
Dettagli:

  • Msr
  • IsWrite
  • MsrValue
  • AccessStatus
  • Pc
  • ImageBase
  • ImageChecksum
  • ImageTimestamp
  • ImageName

Versioni di Windows supportate

VbS è supportato in tutte le versioni di Windows a partire da Windows 10 e Windows Server 2016.