Da qualche giorno Windows Defender sta bloccando gran parte delle applicazioni che vengono usate su Windows per controllare le ventole dei PC di gaming e le luci LED. Si tratta spesso di soluzioni opensource come OpenRGB o Libre Hardware Monitor, ma il blocco ha colpito anche app di produttori come Synapse di Razer e Afterburner di MSI.
Non si tratta però di un errore o di un falso positivo: il blocco è giusto ed è dovuto ad una libreria open alla quale tutte queste app di appoggiano, WinRing0.
WinRing0 da anni presenta una vulnerabilità nota che permette a programmi senza privilegi di hackerare Windows.
Le applicazioni che sono state bloccate quindi non sono dannose, come la stessa libreria WinRing0 non è dannosa, ma un programma può sfruttare la vulnerabilità di WinRing0 per bypassare le misure di sicurezza del sistema. Windows Defender sta facendo il suo lavoro.
Una storia contorta: firmata da EVGA e tenuta fino ad oggi da Microsoft con la consapevolezza dei rischi
La storia di WinRing0 è un po’ contorta: ci troviamo davanti ad un driver che permette alle app di dialogare direttamente con l’hardware, e come ogni driver opera all’interno di Windows in kernel-space, non può fare altrimenti. Se fosse confinato nello user-space non avrebbe accesso a determinate risorse, e non potrebbe fare bene il suo lavoro.
Solitamente Microsoft controlla rigidamente ogni driver che ha accesso al kernel ma questo particolare driver, sviluppato circa sei anni fa da OpenLibSys, è stato accettato da Microsoft su richiesta di EVGA. L’azienda ai tempi aveva annunciato un software di controllo del sistema chiamato Precision X1 che usava proprio questa libreria e ha firmato lei stessa il driver, salvo poi smettere di usarla quando un gruppo di ricercatori ha segnalato che questo driver aveva un grosso problema di sicurezza.

L’11 agosto 2020 il ricercatore di sicurezza Matt Hand ha pubblicato un report che faceva vedere come un exploit, sfruttando una falla del driver, poteva far escalation dei privilegi.
Qui il problema: Microsoft ha scelto di non eliminare il supporto di questo driver perché avrebbe “rotto” troppe applicazioni. Inizialmente ha previsto di rimuovere il supporto segnalandolo come pericoloso nel 2024 e a quanto pare, con un po’ di ritardo, sta finalmente ponendo fine ad un potenziale problema di sicurezza.
Lasciando però gli utenti e le aziende con un bel problema da risolvere. Qualcuno sta cercando di creare un driver alternativo ed una soluzione ci sarebbe già e si chiama InpOut32, anche lei in grado di accedere all’SMBus ottenendo quindi i dati che servono per controllare ventole e luci. Purtroppo questo driver va in conflitto con l’anticheat Vanguard di Riot Games, quindi è più un rischio che una opportunità.
Insomma, un bel dilemma, anche perché tutti sono consapevoli del fatto che WinRing0 è una libreria che permette ad una qualsiasi app che lavora nel suo spazio chiuso di uscire da questo spazio per accedere a elementi ai quali oggi hanno accesso solo driver firmati, e non va bene.
Tuttavia se si vuole usare un driver sicuro e firmato l'unica soluzione è pagare, e chi sviluppa a livello open queste soluzioni, anche per hobby, non può permettersi i costi di firma e di rinnovo della firma che Microsoft chiede per certificare la sicurezza di questi driver. E se fosse Microsoft a mettere la fine al problema implementando i controlli dentro Windows, offrendo anche accesso ad app esterne?
18 Commenti