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.

finestra di dialogo Sicurezza di Windows blocco visualizzata quando un driver è bloccato

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:

  1. Driver firmati correttamente tramite il processo di certificazione Microsoft WHCP

  2. 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    

  1. Fai clic con il pulsante destro del mouse sul pulsante Start e seleziona Visualizzatore eventi .

  2. Nel riquadro sinistro passare a: Registri applicazioni e servizi > Microsoft > Windows > CodeIntegrity > Operativi

  3. 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

  1. Controlla i registri eventi utilizzando la procedura precedente per identificare il driver bloccato.

  2. 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.

  3. 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:

  1. Partecipa a Windows Hardware Dev Center . Registrati in Windows Hardware Dev Center con un certificato di firma del codice EV (Extended Validation) valido.

  2. Crea un invio . Nel dashboard hardware crea un nuovo prodotto e invia il pacchetto driver per la certificazione.

  3. 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.

  4. Invia per firmare . Dopo il superamento dei test, invia i risultati HLK insieme al pacchetto driver. Microsoft firmerà il driver con il certificato WHCP.

  5. 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

  1. 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)

    1. In alternativa, in Windows: vai a Impostazioni > Sistema > Ripristino > Avvio avanzato > Riavvia ora . Scegli quindi Risoluzione dei problemi > Opzioni avanzate > Impostazioni firmware UEFI > Riavvia .

  2. Nelle impostazioni del firmware individua l'opzione Avvio protetto (in genere nella scheda Sicurezza o Avvio ).

  3. Imposta Avvio protetto su Disabled .

  4. 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:

  1. In Windows apri l'Hub di Feedback (premi tasto WINDOWS + F ).

2. Nel passaggio 2 - Scegli una categoria seleziona Sicurezza e privacy > Controllo app .

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.