
Correzione permanente per la reinstallazione del driver vulnerabile WinRing0 di Intel NUC (CVE-2020-14979) tramite Windows Update
Windows Defender segnala OpenHardwareMonitorLib.sys (driver WinRing0) come VulnerableDriver:WinNT/Winring0 a causa di CVE-2020-14979. Questo driver è incluso nel servizio Intel NUC Software Studio e viene reinstallato tramite Windows Update.
Questo repository fornisce una soluzione permanente.
performancedriverextension.inf di Intel installa NucSoftwareStudioServiceOpenHardwareMonitorLib.sys (driver kernel WinRing0)Intel Corporation - Extension - 1.0.0.38 continua a reinstallarloIl driver Intel NUC Performance Driver (ACPI\INTC1036) è un dispositivo ACPI che espone funzionalità specifiche del NUC:
L'estensione vulnerabile si aggancia a questo driver di base. Windows Update vede il dispositivo e offre aggiornamenti del driver.
Questa disabilita completamente il dispositivo ACPI tramite Criteri di Gruppo, impedendo il caricamento di qualsiasi driver.
Esegui scripts/disable-device-gpo.ps1 come Amministratore, o manualmente:
# Run as Administrator
.\scripts\disable-device-gpo.ps1
Mantiene il driver di base ma blocca tutte le installazioni di driver tramite Windows Update per questo dispositivo.
Compromessi:
Esegui scripts/block-driver-updates.ps1 come Amministratore.
Meno permanente - richiede di nascondere nuovamente se Intel rilascia nuove versioni.
Esegui scripts/remove-and-hide.ps1 come Amministratore.
Controlla lo stato attuale:
.\scripts\diagnose.ps1
| Componente | Percorso |
|---|---|
| Eseguibile del servizio | C:\WINDOWS\System32\DriverStore\FileRepository\performancedriverextension.inf_amd64_*\Service\NucSoftwareStudioService.exe |
| Driver vulnerabile | ...\Service\OpenHardwareMonitorLib.sys |
| INF del driver di base | oem*.inf (PerformanceDriver) |
| INF dell'estensione | performancedriverextension.inf |
Dopo aver applicato qualsiasi soluzione, verifica:
# Check service is gone
sc.exe query NucSoftwareStudioService
# Check no pending Intel extension updates
# (Run scripts/diagnose.ps1 for full status)
Scenario: Verificare che il blocco del dispositivo tramite Criteri di Gruppo (Opzione A) sopravviva al tentativo di Windows Update di installare il driver vulnerabile.
Procedura di test:
ACPI\INTC1036 (dispositivo disabilitato)Risultati dopo che Windows Update ha installato il pacchetto:
| Controllo | Risultato |
|---|---|
| NucSoftwareStudioService | Non trovato (bene) |
| Archivio driver | performancedriverextension.inf preparato come oem17.inf |
| OpenHardwareMonitorLib.sys | Non estratto (bene) |
| Dispositivo INTC1036 | Disabilitato - GPO mantenuto |
| Registro blocco GPO | Attivo |
Risultato chiave: Il blocco del dispositivo GPO è lo strato di protezione efficace. Windows Update può preparare il pacchetto del driver nell'archivio driver, ma non può attivarlo perché l'ID hardware è bloccato. Il file .sys vulnerabile non viene mai estratto né caricato.
Dopo aver confermato che il blocco GPO era stato mantenuto, completata la pulizia completa:
pnputil /delete-driver oem17.infwushowhide.diagcabStato finale verificato:
| Componente | Stato |
|---|---|
| NucSoftwareStudioService | Non trovato ✓ |
| Archivio driver (performancedriverextension.inf) | Pulito ✓ |
| OpenHardwareMonitorLib.sys | Non presente ✓ |
| Dispositivo Intel NUC Performance Driver | Disabilitato ✓ |
| Blocco dispositivo Criteri di Gruppo | Attivo (INTC1036 bloccato) ✓ |
| Aggiornamento estensione Intel | Nascosto ✓ |
Il solo blocco dell'ID hardware è una protezione sufficiente.
I test hanno dimostrato che bloccare ACPI\INTC1036 tramite Criteri di Gruppo impedisce il caricamento del driver vulnerabile, anche quando Windows Update scarica e prepara con successo il pacchetto del driver. L'eseguibile del servizio e il file .sys non vengono mai estratti perché il dispositivo di destinazione è disabilitato.
Configurazione minima consigliata:
ACPI\INTC1036 — Questa è l'unica protezione necessariaLa semplicità di questo approccio è il suo punto di forza: un singolo blocco del dispositivo basato sul registro fornisce una protezione completa senza interferire con la normale funzionalità di Windows Update per altri dispositivi.
Quando il dispositivo Intel NUC Performance Driver (ACPI\INTC1036) è disabilitato:
Non più disponibile:
Funziona ancora normalmente:
Perché è accettabile per la maggior parte degli utenti: Il driver NUC Performance Driver abilita principalmente la personalizzazione software del comportamento di ventole/LED. Il BIOS fornisce profili predefiniti che funzionano senza alcun driver Windows. La maggior parte degli utenti imposta le curve della ventola una volta nel BIOS e non le tocca più. Se hai bisogno di un controllo dinamico della ventola basato su Windows (ad esempio, profili di gioco che cambiano automaticamente), l'Opzione A potrebbe non essere adatta—considera invece l'Opzione B.
# Remove the Group Policy block
Remove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" -Recurse -Force
# Re-enable the device
$device = Get-PnpDevice | Where-Object { $_.InstanceId -like '*INTC1036*' }
Enable-PnpDevice -InstanceId $device.InstanceId -Confirm:$false
Remove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" -Recurse -Force
Se hai ulteriori scoperte o miglioramenti, apri un issue o una PR.
Licenza MIT - Utilizzo a proprio rischio. Verificare sempre gli script prima di eseguirli come Amministratore.