Windows include una funzionalità di sicurezza denominata integrità del codice kernel che consente di proteggere il sistema verificando che i driver del kernel caricati nel sistema vengano eseguiti con integrità e siano firmati crittograficamente da un'autorità attendibile da Microsoft.
Se viene visualizzato questo messaggio, significa che un driver o un software in modalità kernel, non ha una firma corretta o non soddisfa i requisiti di firma di Integrità del codice kernel di Windows.
Windows richiede che tutti i nuovi driver siano inviati e firmati tramite il processo windows hardware Compatibility Program (WHCP). Windows in precedenza trusted drivers signed by the now-expired cross-signed program . Tuttavia, con l'aggiornamento della sicurezza di aprile 2026, questi driver non sono più attendibili per impostazione predefinita. L'annuncio è disponibile qui: https://go.microsoft.com/fwlink/?linkid=2356646.
Quali sono i criteri relativi ai driver di Windows?
I criteri del driver di Windows sono criteri nel kernel di Windows che limitano i driver in modalità kernel che possono essere caricati nel dispositivo. Quando è attivo, è consentito caricare solo i seguenti driver:
-
Driver firmati correttamente tramite il processo di certificazione Microsoft WHCP
-
I driver visualizzati nei criteri di Windows Driver consentono l'elenco di driver affidabili firmati dal programma tra firme
I driver non firmati o visualizzati in Microsoft WHCP nei criteri di Windows Driver verranno bloccati nell'ambito e nei sistemi abilitati.
Questa funzionalità consente di proteggersi da driver potenzialmente non sicuri o non testati, riducendo il rischio di malware, instabilità del sistema e vulnerabilità di protezione causate da driver ed editori di driver non protetti.
Come funziona questa funzionalità?
I criteri di Windows Driver usano un approccio in due fasi, come Il controllo delle app intelligenti , per aumentare gradualmente la protezione nel dispositivo:
Modalità di valutazione (audit)
Quando la caratteristica viene attivata per la prima volta, viene avviata in modalità di valutazione . In questa fase:
-
I driver che verrebbero bloccati dai criteri vengono controllati ma possono comunque essere caricati . In questo modo il dispositivo continua a funzionare normalmente, mentre Windows determina se l'applicazione è adatta al tuo sistema.
-
Windows tiene traccia del numero di driver nel sistema interessati dai criteri.
-
Se durante la valutazione viene rilevato un driver che viola i criteri, lo stato di avanzamento della valutazione viene reimpostato . Ciò significa che il conto alla rovescia per l'applicazione inizia, dando a Windows più tempo per osservare l'utilizzo del driver del sistema.
Criteri di valutazione
Windows monitora i criteri seguenti per determinare quando il dispositivo è pronto per l'applicazione:
-
Tempo di attività del sistema: il dispositivo deve aver accumulato 100 ore di utilizzo attivo.
-
Sessioni di avvio : il dispositivo deve essere stato riavviato almeno 3 volte (2 volte su Windows Server) dall'inizio della valutazione.
-
Nessuna violazione dei criteri : se un driver che verrebbe bloccato viene caricato durante il periodo di valutazione, i contatori di uptime e di sessione di avvio vengono reimpostati a zero , estendendo il periodo di valutazione.
Se il dispositivo carica in modo coerente driver che superano i criteri e soddisfano questi criteri, il sistema è considerato un buon candidato per l'applicazione.
Modalità di applicazione
Una volta soddisfatti i criteri di valutazione, Windows passa automaticamente alla modalità di applicazione. In questa fase:
-
I dispositivi sono protetti dai driver che non soddisfano i requisiti di firma nei criteri relativi ai driver di Windows.
-
A questi driver viene impedito il caricamento e la generazione di dati di diagnostica da esaminare per Microsoft e le voci nel registro eventi di Windows che è possibile esaminare.
-
Un elenco di driver ed editori specifici è incluso nei criteri per consentire a determinati driver legacy ampiamente usati che non sono ancora stati certificati WHCP di continuare a funzionare.
Una volta attiva la modalità di applicazione, il criterio rimane in vigore per tutti i riavvii.
Domande frequenti
Se un driver è bloccato da questo criterio, è possibile che venga visualizzato:
-
Un dispositivo hardware non funziona correttamente.
-
Una periferica o un componente (stampante, scheda di rete, GPU e così via) non viene riconosciuto.
-
Impossibile avviare un'applicazione che dipende da un driver kernel.
È possibile verificare se i criteri del driver di Windows sono responsabili controllando i registri eventi di integrità del codice utilizzando i due metodi seguenti.
Eventi di integrità del codice di query manualmente
-
Fai clic con il pulsante destro del mouse sul pulsante Start e seleziona Visualizzatore eventi .
-
Nel riquadro sinistro passare a: Registri applicazioni e servizi > Microsoft > Windows > CodeIntegrity > Operativi
-
Cercare, o filtrare il log, gli eventi con questi ID:
-
ID evento 3076 : un driver è stato controllato (sarebbe stato bloccato ma consentito perché il criterio è in modalità di controllo).
-
ID evento 3077 : il caricamento di un driver è stato bloccato perché ha violato i criteri di applicazione.
Nei dettagli dell'evento cercare il campo ID criterio . Gli eventi causati da questa caratteristica faranno riferimento a uno dei GUID dei criteri seguenti:
-
Criteri di controllo : {784C4414-79F4-4C32-A6A5-F0FB42A51D0D}
-
Applica criterio : {8F9CB695-5D48-48D6-A329-7202B44607E3}
Eventi di integrità del codice di query con PowerShell
È possibile usare PowerShell per trovare rapidamente gli eventi correlati a questa funzionalità:
# Find audit events (Event ID 3076) from the Windows Driver audit policy
$events = Get-WinEvent -LogName 'Microsoft-Windows-CodeIntegrity/Operational' -FilterXPath "*[System[EventID=3076]]" -ErrorAction SilentlyContinue |
Where-Object { $_.Message -like '*784C4414-79F4-4C32-A6A5-F0FB42A51D0D*' }
$results = $events | ForEach-Object {
$xml = [xml]$_.ToXml()
$data = $xml.Event.EventData.Data
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
DriverName = ($data | Where-Object { $_.Name -eq 'File Name' }).'#text'
ProductName = ($data | Where-Object { $_.Name -eq 'ProductName' }).'#text'
ParentProcess = ($data | Where-Object { $_.Name -eq 'Process Name' }).'#text'
}
}
$results | Select-Object DriverName, ProductName, ParentProcess -Unique | Format-Table -AutoSize -Wrap
# Find block events (Event ID 3077) from the Windows Driver enforced policy
$events = Get-WinEvent -LogName 'Microsoft-Windows-CodeIntegrity/Operational' -FilterXPath "*[System[EventID=3077]]" -ErrorAction SilentlyContinue |
Where-Object { $_.Message -like '*8F9CB695-5D48-48D6-A329-7202B44607E3*' }
$results = $events | ForEach-Object {
$xml = [xml]$_.ToXml()
$data = $xml.Event.EventData.Data
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
DriverName = ($data | Where-Object { $_.Name -eq 'File Name' }).'#text'
ProductName = ($data | Where-Object { $_.Name -eq 'ProductName' }).'#text'
ParentProcess = ($data | Where-Object { $_.Name -eq 'Process Name' }).'#text'
}
}
$results | Select-Object DriverName, ProductName, ParentProcess -Unique | Format-Table -AutoSize -Wrap
I dettagli dell'evento includono il nome del driver che è stato controllato o bloccato e il nome del processo che ha tentato di caricare il driver, che consente di identificare il driver o il dispositivo interessato.
Se sei l'utente del dispositivo o l'amministratore IT
-
Controlla i registri eventi utilizzando la procedura precedente per identificare il driver bloccato.
-
Controlla Windows Update per i driver aggiornati. I driver firmati certificati WHCP potrebbero essere già disponibili tramite Windows Update. Vai a Impostazioni > Windows Update > Opzioni avanzate > Aggiornamenti facoltativi > Aggiornamenti dei driver per verificare la disponibilità di aggiornamenti dei driver.
-
Visita il sito Web del produttore . Scarica la versione più recente del driver dalla pagina del supporto ufficiale del fornitore: è più probabile che le versioni più recenti siano firmate con WHCP.
4. Contatta il fornitore dell'hardware o del software che pubblica il driver. Chiedi loro se è disponibile una versione del driver certificata WHCP e dove accedervi. La maggior parte dei fornitori già WHCP certifica i propri driver.
Se sei un editore di driver
Se sviluppi e distribuisci driver in modalità kernel per Windows, devi assicurarti che i driver siano firmati tramite il processo WHCP:
-
Partecipa a Windows Hardware Dev Center . Registrati in Windows Hardware Dev Center con un certificato di firma del codice EV (Extended Validation) valido.
-
Crea un invio . Nel dashboard hardware crea un nuovo prodotto e invia il pacchetto driver per la certificazione.
-
Eseguire i test HLK . Usa Windows Hardware Lab Kit (HLK) per eseguire i test necessari per il tipo di driver e la categoria di dispositivi.
-
Invia per firmare . Dopo il superamento dei test, invia i risultati HLK insieme al pacchetto driver. Microsoft firmerà il driver con il certificato WHCP.
-
Distribuisci il driver firmato . Dopo la firma, pubblica il driver certificato WHCP tramite Windows Update e/o il tuo sito Web.
Importante: I driver firmati usando solo certificati incrociati senza CERTIFICAZIONE WHCP possono essere bloccati nei sistemi con i criteri di Windows Driver in modalità di applicazione.
Avviso: La disabilitazione di questa funzionalità riduce la sicurezza del dispositivo. È consigliabile mantenerlo abilitato e collaborare con gli autori di driver per ottenere driver firmati WHCP.
I criteri del driver di Windows sono criteri di integrità del codice firmati archiviati nella partizione di sistema EFI e protetti dai componenti di avvio anticipato di Windows. La disattivazione della funzionalità richiede i passaggi manuali seguenti, in modo che il software dannoso in esecuzione come amministratore non possa manomettere la funzionalità:
Passaggio 1: Disabilitare l'avvio protetto
-
Riavvia il computer e immetti il menu delle impostazioni firmware UEFI (BIOS). In genere puoi farlo premendo un tasto durante l'avvio (ad esempio F2 , F10 , Del o ESC , controlla la documentazione del produttore del dispositivo)
-
In alternativa, in Windows: vai a Impostazioni > Sistema > Ripristino > Avvio avanzato > Riavvia ora . Scegli quindi Risoluzione dei problemi > Opzioni avanzate > Impostazioni firmware UEFI > Riavvia .
-
-
Nelle impostazioni del firmware individua l'opzione Avvio protetto (in genere nella scheda Sicurezza o Avvio ).
-
Imposta Avvio protetto su Disabled .
-
Salva le modifiche e chiudi le impostazioni del firmware.
Passaggio 2: Eliminare i file di criteri dalla partizione di sistema EFI
1. Aprire PowerShell come amministratore .
2. Montare la partizione di sistema EFI eseguendo:
mountvol S: /s
Puoi usare qualsiasi lettera di unità disponibile al posto di 'S:'.
3. Eliminare il file dei criteri di controllo:
del S:\EFI\Microsoft\Boot\CiPolicies\Active\{784C4414-79F4-4C32-A6A5-F0FB42A51D0D}.cip
4. Se è presente anche la politica di applicazione della legge, eliminarla:
del S:\EFI\Microsoft\Boot\CiPolicies\Active\{8F9CB695-5D48-48D6-A329-7202B44607E3}.cip
5. Controlla ed elimina anche i criteri dalla directory di sistema di Windows:
del %windir%\System32\CodeIntegrity\CiPolicies\Active\{784C4414-79F4-4C32-A6A5-F0FB42A51D0D}.cip
del %windir%\System32\CodeIntegrity\CiPolicies\Active\{8F9CB695-5D48-48D6-A329-7202B44607E3}.cip
6. Smonta la partizione EFI:
mountvol S: /d
Passaggio 3: Riavviare il computer
Per rendere effettive le modifiche, riavvia il dispositivo. Dopo il riavvio, i criteri non saranno più attivi e tutti i driver firmati, inclusi quelli senza certificazione WHCP, potranno essere caricati.
Passaggio 4: abilitare nuovamente l'avvio protetto
Dopo aver rimosso i file dei criteri, abilita nuovamente Avvio protetto nelle impostazioni del firmware UEFI per mantenere altre protezioni di avvio protetto.
La funzionalità viene avviata in modalità di valutazione , in cui viene funzionalità di log ma non blocca i driver non certificati. Dopo che il sistema soddisfa i criteri di valutazione (tempo di attività sufficiente e riavvio senza violazioni dei criteri), il criterio passa automaticamente alla modalità di applicazione e i driver non firmati con WHCP verranno bloccati. Ciò può causare l'interruzione del caricamento dei driver che in precedenza funzionavano.
Attualmente non è possibile ignorare i criteri per i singoli driver. Puoi disabilitare completamente la funzionalità (vedi sopra) oppure, preferibilmente, contattare l'editore del driver e chiedere loro di fornire una versione del driver firmata WHCP.
Questa funzionalità si applica solo ai driver in modalità kernel . Le applicazioni in modalità utente non sono interessate da questo criterio.
È possibile eseguire i comandi seguenti come amministratore in PowerShell:
$evalPolicy = (citool -lp -json | ConvertFrom-Json).Policies | Where-Object { $_.PolicyID -eq "784c4414-79f4-4c32-a6a5-f0fb42a51d0d" }
$enforcedPolicy = (citool -lp -json | ConvertFrom-Json).Policies | Where-Object { $_.PolicyID -eq "8F9CB695-5D48-48D6-A329-7202B44607E3" }
if ($enforcedPolicy.IsEnforced -and $enforcedPolicy.IsAuthorized) { Write-Host "✅ The feature is in enforcement mode" -ForegroundColor Green }
elseif($evalPolicy.IsEnforced -and $evalPolicy.IsAuthorized) { Write-Host "✅ The feature is in evaluation mode" -ForegroundColor Green }
else { Write-Host "❌ The feature is not available on this system" -ForegroundColor Red }
Sì - Windows Server 2025 e piattaforme server più recenti. Tuttavia, in Windows Server, il requisito della sessione di avvio è 2 riavvii (rispetto a 3 nelle edizioni client). Tutti gli altri criteri sono uguali.
Se si reimposta o reinstalla Windows, la funzionalità verrà avviata da zero in modalità di valutazione. I contatori di valutazione verranno reimpostati e la transizione all'applicazione inizierà di nuovo dall'inizio.
Servono altre informazioni?
Se continui a riscontrare problemi con un driver bloccato, visita i forum della Microsoft Community o contatta il supporto tecnico Microsoft .
Ci farebbe piacere ricevere il tuo feedback su questa funzionalità. Per condividere la tua esperienza:
-
In Windows apri l'Hub di Feedback (premi tasto WINDOWS + F ).
2. Nel passaggio 2 - Scegli una categoria seleziona Sicurezza e privacy > Controllo app .