Quante volte vi è capitato di vedere comparire un messaggio in mezzo allo schermo di Windows che recita quanto segue: “Vuoi consentire a questa app di apportare modifiche al tuo dispositivo?” Tante.
Per il ciclo back to basics, parliamo di User Account Control (UAC) ovvero della funzione di sicurezza di Windows che aiuta a prevenire l’esecuzione di attività potenzialmente pericolose o non autorizzate.
Introdotto ai tempi di Windows Vista in una forma largamente diversa rispetto a quella utilizzata nei sistemi operativi Windows più recenti, UAC continua a essere utilizzato anche in Windows 10 e Windows 11.
Il funzionamento di UAC si basa sul principio del least privilege: gli utenti e le applicazioni dovrebbero sempre utilizzare i privilegi minimi per le attività che svolgono. Quando un utente o un’applicazione prova a eseguire un’attività che richiede autorizzazioni elevate, UAC interviene e chiede all’utente di confermare l’azione. L’idea è quella di mettere l’utente nelle condizioni di decidere in modo consapevole prevenendo modifiche potenzialmente pericolose sul sistema in uso.
Come funziona UAC
Quando un utente o un’applicazione richiede l’esecuzione di un’operazione che richiede autorizzazioni elevate, UAC visualizza una finestra di dialogo che richiede l’autorizzazione dell’utente. L’utente può scegliere di concedere o negare l’autorizzazione, o di richiedere ulteriori informazioni prima di prendere una decisione.
Se l’utente concede l’autorizzazione, UAC fornisce temporaneamente i privilegi più elevati che vengono richiesti all’utente o all’applicazione in modo da eseguire e completare l’operazione richiesta. In caso di autorizzazione negata, l’operazione viene interrotta prematuramente.
Quando si utilizza un account amministratore, UAC si limita a mostrare due pulsanti: Sì e No. Il primo autorizza l’operazione, il secondo permette di bloccarla. Nel caso in cui l’utente non operasse alcuna scelta, l’operazione richiesta viene automaticamente interrotta.
Premendo Windows+I
quindi cliccando su Account, al di sotto del nome dell’account compare la dizione “Amministratore” se si sta usando un utente con i privilegi più elevati.
Se invece l’account in uso non fosse di tipo amministrativo, Windows richiede di inserire le credenziali di un account amministratore per approvare l’operazione cliccando su Sì. Ecco perché è importante usare un account normale, sprovvisto dei privilegi amministrativi, quando si lavora abitualmente con PC e workstation Windows: gli utenti in questo modo non conoscono la password dell’account amministratore e non possono autorizzare modifiche potenzialmente distruttive nelle aree “cruciali” del sistema operativo.
Windows e i suoi componenti interni usano un account SYSTEM che ovviamente si sottrae alle verifiche di UAC: in un altro articolo abbiamo visto le principali differenze tra l’account SYSTEM e un account amministratore.
Il pulsante Sì sparisce dalla finestra UAC quando sul sistema in uso non fossero più presenti account dotati dei privilegi amministrativi. In questo caso, per risolvere basta abilitare almeno temporaneamente l’account amministratore nascosto di Windows.
I colori delle finestre di UAC
Windows utilizza da tempo colorazioni differenti per gli avvisi di UAC: in Windows 10, ad esempio, la finestra di dialogo con un’intestazione blu avvisa di modifiche in vista richieste dall’utente o dall’applicazione indicati.
Il giallo mette in evidenza il fatto che la richiesta di acquisizione di privilegi più elevati arriva da un’applicazione realizzata da uno sviluppatore sconosciuto (non è presente una firma digitale valida e conosciuta).
Infine, una schermata UAC rossa mette in evidenza il fatto che l’applicazione è stata bloccata per motivi di sicurezza.
Nell’immagine (fonte: Wikipedia) tre esempi di schermate UAC con altrettante colorazioni diverse così come appaiono in Windows 10. In quella più sotto, è possibile notare come in Windows 11 la colorazione grigia abbia preso il posto del blu.
In un altro articolo abbiamo visto quali programmi usano i privilegi di amministratore in Windows.
Quando compare l’avviso di UAC in Windows?
Non abbiamo ancora detto quando UAC può comparire in Windows sotto forma di finestra di dialogo al centro dello schermo. Ecco le situazioni più comuni:
- Installazione di un programma o di un driver.
- Modifica delle impostazioni del sistema, come l’aggiunta di un nuovo utente o la modifica delle impostazioni di sicurezza.
- Modifica delle impostazioni dell’account utente, ad esempio la modifica della password.
- Esecuzione di un’applicazione in modalità amministratore.
- Modifica delle impostazioni del registro di sistema.
- Modifica delle impostazioni di sicurezza del firewall di Windows.
- Aggiornamento del sistema operativo o dei driver del dispositivo.
- Configurazione di un servizio di Windows o di una funzionalità di sistema.
I limiti di UAC in Windows
UAC dovrebbe essere considerato come una delle prime linee di difesa offerte dal sistema operativo Microsoft. Non può offrire una protezione completa perché il suo principale obiettivo è esclusivamente quello di verificare i privilegi di utenti e applicazioni.
Come più volte dimostrato, inoltre, in alcune circostanze è possibile bypassare UAC quindi eseguire applicazioni che richiedono privilegi più elevati senza far apparire alcun avviso. È possibile farlo per necessità: un trucco che coinvolge l’utilizzo dell’Utilità di pianificazione permette di eseguire programmi Windows 10 e 11 senza far apparire UAC.
Tanti malware, però, si servono di tecniche per il bypass di UAC al fine di eseguire codice malevolo sul sistema senza che l’utente si renda conto dell’accaduto.
Un tool come UACMe, pubblicato su GitHub, raccoglie un’ampia lista di trucchi usati dai malware per rendersi conto di come funzionano gli attacchi a UAC.
Redfox documenta una serie di bypass UAC con dovizia di particolari: fortunatamente Microsoft Defender, sempre se attivo e in esecuzione sul sistema, è in grado di riconoscere e bloccare la maggior parte di questi trucchi.
In questi giorni alcuni malware sono tornati a usare il vecchio ma ancora efficace espediente delle Mock Folder: creando directory che imitano il nome di cartelle di sistema (ad esempio \Windows\System32
) sulle quali il controllo di UAC è disattivato, è possibile trarre in inganno la funzione di protezione integrata in Windows.
Il corretto funzionamento di UAC dipende anche dalle sue impostazioni: disattivare UAC è fortemente sconsigliato e l’utilizzo improprio potrebbe compromettere la sicurezza del sistema.
Digitando UAC nella casella di ricerca di Windows quindi selezionando Modifica le impostazioni di Controllo dell’account utente, appare una finestra di configurazione che è rimasta identica dall’epoca di Windows 7.
L’impostazione predefinita ovvero Notifica solo quando un’app tenta di eseguire modifiche nel mio computer è quella che dovrebbe essere lasciata sempre selezionata.
Disattivare UAC non è mai consigliabile perché qualunque utente e applicazione potrebbero richiedere modifiche importanti sul sistema senza che venga richiesta alcuna conferma o autorizzazione.
UAC, infine, non può nulla rispetto a vulnerabilità del sistema operativo che permettono l’acquisizione di privilegi più elevati. Talvolta alcune falle di sicurezza permettono a un utente normale di eseguire operazioni nel contesto dell’account SYSTEM: le falle di sicurezza che facilitano attività di privilege escalation sono particolarmente gravi perché permettono appunto di eludere le protezioni di Windows ed eseguire codice potenzialmente dannoso con i diritti utente più ampi (causando danni, modificando la configurazione di Windows, accedendo ad aree riservate, al contenuto degli account di tutti gli utenti,…).