Come funziona Controllo dell'account utente

Controllo dell'account utente è un componente fondamentale della visione generale sulla sicurezza di Microsoft. Controllo dell'account utente consente di ridurre l'impatto del malware.

Processo del Controllo dell'account utente e interazioni

Ogni app che richiede il token di accesso come amministratore deve richiedere il consenso. L'unica eccezione è la relazione che esiste tra i processi padre e figlio. I processi figlio ereditano il token di accesso dell'utente dal processo padre. Tuttavia, sia il processo padre che il processo figlio devono avere lo stesso livello di integrità. Windows 10 protegge i processi contrassegnando i relativi livelli di integrità. I livelli di integrità sono misure di attendibilità. Un'applicazione con livello di integrità elevato esegue attività che modificano i dati di sistema, ad esempio un'applicazione di partizionamento del disco, mentre un'applicazione con livello di integrità basso esegue attività che potrebbero compromettere il sistema operativo, come ad esempio un Web browser. Le app con livelli di integrità più bassi non possono modificare i dati nelle applicazioni con livelli di integrità più elevati. Quando un utente standard tenta di eseguite un'app che richiede il token di accesso come amministratore, il Controllo dell'account utente richiede all'utente delle credenziali valide di amministratore.

Per comprendere meglio il funzionamento di questo processo, ecco un esempio del processo di accesso di Windows.

Processo di accesso

Di seguito viene illustrato come il processo di accesso per un amministratore sia diverso dal processo di accesso per un utente standard.

Processo di accesso Windows con Controllo dell'account utente

Per impostazione predefinita, gli utenti standard e gli amministratori accedono alle risorse ed eseguono le app nel contesto di sicurezza degli utenti standard. Quando un utente esegue l'accesso a un computer, il sistema crea un token di accesso per l'utente. Il token di accesso contiene le informazioni sul livello di accesso concesso all'utente, inclusi gli ID di sicurezza (SID) specifici e i privilegi di Windows.

Quando un amministratore esegue l'accesso, vengono creati due token di accesso distinti per l'utente: un token di accesso utente standard e un token di accesso come amministratore. Il token di accesso utente standard contiene le stesse informazioni specifiche per l'utente come il token di accesso come amministratore, ma i privilegi Windows amministrativi e gli ID di sicurezza (SID) vengono rimossi. Il token di accesso utente standard viene usato per avviare le app che non eseguono attività amministrative (app utente standard). Il token di accesso utente standard viene usato per visualizzare il desktop (explorer.exe). Explorer.exe è il processo padre da cui tutti gli altri processi avviati dall'utente ereditano il token di accesso. Di conseguenza, tutte le app vengono eseguite come utente standard a meno che un utente non fornisca le autorizzazioni o le credenziali per approvare che un'app usi un token di accesso amministrativo.

Un utente membro del gruppo Administrators può accedere, esplorare il Web e leggere la posta elettronica usando un token di accesso utente standard. Quando l'amministratore deve eseguire un'attività che richiede il token di accesso amministratore, Windows 10 richiede automaticamente l'approvazione all'utente. Questa richiesta viene definita richiesta di elevazione dei privilegi e il suo comportamento può essere configurato con lo snap-in Criteri di sicurezza locale (Secpol.msc) o con Criteri di gruppo. Per altre info, vedi Impostazioni dei criteri di sicurezza per Controllo dell'account utente.

L'esperienza utente con Controllo dell'account utente

Quando il Controllo dell'account utente è abilitato, l'esperienza utente per gli utenti standard è diversa da quella degli amministratori in modalità Approvazione amministratore. Il metodo consigliato e più sicuro per eseguire Windows 10 è di rendere il proprio account utente principale un account utente standard. L'esecuzione come utente standard consente di aumentare la sicurezza per un ambiente gestito. Con il componente integrato di elevazione dei privilegi del Controllo account utente, gli utenti standard possono eseguire con facilità le attività amministrative inserendo le credenziali valide per un account amministratore locale. Per impostazione predefinita, il componente integrato di elevazione dei privilegi del Controllo account utente per gli utenti standard è la richiesta di credenziali.

In alternativa all'esecuzione come utente standard, è possibile eseguire come amministratore in modalità Approvazione amministratore. Con il componente integrato di elevazione dei privilegi del Controllo account utente, i membri del gruppo Administrators possono eseguire facilmente le attività amministrative fornendo l'approvazione. Per impostazione predefinita, il componente integrato di elevazione dei privilegi del Controllo account utente per un account amministratore in modalità Approvazione amministratore viene chiamato richiesta di consenso.

La richiesta di consenso e la richiesta di credenziali

Quando il Controllo account utente è abilitato, Windows 10 richiede il consenso o le credenziali di un account amministratore locale valido prima di avviare un programma o un'attività che richiede un token di accesso amministratore completo. Questa richiesta verifica che non vengano eseguite installazioni di software dannoso invisibili all'utente.

La richiesta di consenso

La richiesta di consenso viene visualizzata quando un utente tenta di eseguire un'attività che richiede un token di accesso amministrativo dell'utente. Di seguito viene illustrato un esempio della richiesta di consenso del Controllo account utente.

Richiesta di consenso Controllo account utente

La richiesta di credenziali

La richiesta di credenziali viene visualizzata quando un utente standard tenta di eseguire un'attività che richiede un token di accesso amministrativo dell'utente. Agli amministratori può inoltre essere richiesto di fornire le proprie credenziali impostando il valore dell'impostazione criterio Controllo dell'account utente: comportamento della richiesta di elevazione dei privilegi per gli amministratori in modalità Approvazione amministratore su Richiedi credenziali.

Di seguito viene illustrato un esempio della richiesta di credenziali del Controllo account utente.

Richiesta di credenziali Controllo account utente

Richieste di elevazione dei privilegi del Controllo account utente

Le richieste di elevazione dei privilegi del Controllo account utente sono contraddistinte dal colore per essere specifiche dell'app e consentono l'identificazione immediata del potenziali rischio per la sicurezza di un'applicazione. Quando un'app tenta di essere eseguita con un token di accesso completo dell'amministratore, Windows 10 analizza per prima cosa il file eseguibile per stabilirne l'autore. Le app vengono prima separate in tre categoria in base all'autore del file: Windows 10, autore verificato (firmato) e autore non verificato (non firmato). Il diagramma seguente illustra come Windows 10 stabilisce quale richiesta di elevazione dei privilegi contraddistinta dal colore presentare all'utente.

Il codice colore della richiesta di elevazione dei privilegi è il seguente:

  • Sfondo rosso con un'icona scudo rossa: l'app è bloccata da Criteri di gruppo o è di un autore che è stato bloccato.

  • Sfondo blu con un'icona scudo blu e oro: l'applicazione è un'app di amministrazione di Windows 10, come ad esempio un elemento del Pannello di controllo.

  • Sfondo blu con un'icona scudo blu: l'applicazione è firmata con Authenticode ed è considerata attendibile dal computer locale.

  • Sfondo giallo con un'icona scudo gialla: l'applicazione non è firmata o è firmata ma non è ancora considerata attendibile dal computer locale.

Icona Scudo

Alcuni elementi del Pannello di controllo, come ad esempio Proprietà data e ora, contengono una combinazione di operazioni amministratore e utente standard. Gli utenti standard possono visualizzare l'orologio e modificare il fuso orario, ma è necessario un token di accesso amministratore completo per modificare l'ora del sistema locale. Di seguito è riportato uno screenshot dell'elemento del Pannello di controllo Proprietà data e ora.

Icona Scudo del Controllo account utente

L'icona Scudo sul pulsante Modifica data e ora indica che il processo richiede un token di accesso amministratore completo e visualizzerà una richiesta di elevazione dei privilegi del Controllo account utente.

Protezione della richiesta di elevazione dei privilegi

Il processo di elevazione dei privilegi viene protetto ulteriormente passando la richiesta al desktop sicuro. Per impostazione predefinita, in Windows 10 le richieste di consenso e credenziali vengono visualizzate sul desktop sicuro. Solo i processi Windows possono accedere al desktop sicuro. Per livelli più elevati di sicurezza, è consigliabile mantenere abilitata l'impostazione criterio Controllo dell'account utente: alla richiesta di elevazione passa al desktop sicuro.

Quando un file eseguibile richiede l'elevazione dei privilegi, il desktop interattivo, chiamato anche desktop utente, viene convertito in desktop sicuro. Il desktop sicuro attenua il desktop utente e visualizza una richiesta di elevazione dei privilegi a cui è necessario rispondere prima di continuare. Quando l'utente fa clic su o No, il desktop si converte di nuovo in desktop utente.

Il malware può rappresentare un'imitazione del desktop sicuro, ma se l'impostazione criterio Controllo dell'account utente: comportamento della richiesta di elevazione dei privilegi per gli amministratori in modalità Approvazione amministratore è impostata su Richiedi consenso, il malware non ottiene l'elevazione dei privilegi se l'utente fa clic su sull'imitazione. Se l'impostazione criterio è impostata su Richiedi credenziali, il malware che imita la richiesta di credenziali potrebbe ottenere le credenziali dall'utente. Tuttavia, il malware non ottiene i privilegi elevati e il sistema ha altre protezioni che impediscono al malware di prendere il controllo dell'interfaccia utente anche con una password rubata.

Il malware potrebbe presentare un'imitazione del desktop sicuro, ma questo problema si verifica solo se un utente ha precedentemente installato il malware sul PC. Poiché i processi che richiedono un token di accesso amministratore non possono essere installati senza l'intervento dell'utente quando il Controllo account utente è abilitato, l'utente deve fornire esplicitamente il consenso facendo clic su o fornendo le credenziali di amministratore. Questo comportamento specifico della richiesta di elevazione dei privilegi del Controllo account utente dipende da Criteri di gruppo.

Architettura del Controllo account utente

Il diagramma seguente illustra l'architettura del Controllo account utente.

Architettura del Controllo account utente

Per comprendere meglio ciascun componente, fai riferimento alla tabella seguente:

Componente

Utente

L'utente esegue un'operazione che richiede dei privilegi

ShellExecute

CreateProcess

Sistema

Servizio di informazioni sulle applicazioni

Elevazione dei privilegi di un'installazione ActiveX

Verificare il livello del dispositivo di scorrimento del Controllo account utente

Desktop sicuro abilitato

CreateProcess

Appcompat

Fusion

Rilevamento del programma di installazione

Kernel

Virtualizzazione

File system e Registro di sistema

 

Il dispositivo di scorrimento non disattiva mai completamente il Controllo account utente. Se è stato impostato su Non notificare mai:

  • Il servizio Controllo account utente verrà mantenuto in esecuzione.

  • Tutte le richieste di elevazione dei privilegi avviate dagli amministratori verranno approvate automaticamente senza un prompt Controllo account utente.

  • Tutte le richieste di elevazione dei privilegi per gli utenti standard verranno rifiutate automaticamente.

Importante  

Per disabilitare completamente Controllo dell'account utente, devi disabilitare il criterio Controllo dell'account utente: esegui tutti gli amministratori in modalità Approvazione amministratore.

 

Avviso  

Le app di Windows universali non funzionano quando Controllo account utente è disabilitato.

 

Virtualizzazione

Poiché gli amministratori di sistema negli ambienti aziendali tentano di proteggere i sistemi, molte applicazioni line-of-business (LOB) vengono progettate per usare solo un token di accesso utente standard. Di conseguenza, non è necessario sostituire la maggior parte delle app quando Controllo account utente è attivo.

Windows 10 include la tecnologia per la virtualizzazione dei file e del Registro di sistema per le app che non sono conformi a Controllo account utente e richiedono un token di accesso dell'amministratore per essere eseguite nel modo corretto. Quando un'app amministrativa che non è conforme a Controllo account utente tenta di scrivere in una cartella protetta, come ad esempio Programmi, Controllo account utente fornisce all'app la propria visualizzazione virtualizzata della risorsa che sta tentando di modificare. La copia virtualizzata viene mantenuta nel profilo dell'utente. Questa strategia crea una copia distinta del file virtualizzato per ogni utente che esegue l'app non conforme.

La maggior parte delle attività delle app funziona correttamente usando le funzionalità di virtualizzazione. La virtualizzazione consente di eseguire la maggior parte delle applicazioni, ma è una correzione sul breve termine e non una soluzione sul lungo termine. Gli sviluppatori delle app devono modificare le app per renderle compatibili il prima possibile, anziché fare affidamento sulla virtualizzazione di file, cartelle e Registro di sistema.

La virtualizzazione non può essere usata negli scenari seguenti:

  • La virtualizzazione non si applica alle app con privilegi elevati che vengono eseguite con un token di accesso amministrativo completo.

  • La virtualizzazione supporta solo le app a 32 bit. Le app a 64 bit senza privilegi elevati ricevono semplicemente un messaggio di accesso negato quando tentano di acquisire un handle (un identificatore univoco) a un oggetto di Windows. Le app a 64 bit native di Windows devono essere compatibili con Controllo account utente e devono poter scrivere i dati nei percorsi corretti.

  • La virtualizzazione è disabilitata se l'app include un manifesto dell'app con un attributo del livello di esecuzione richiesto.

Livelli di esecuzione richiesti

Il manifesto di un'app è un file XML che descrive e identifica gli assembly affiancati condivisi e privati a cui un'app deve eseguire il binding in fase di esecuzione. Il manifesto dell'app include gli elementi per garantire la compatibilità dell'app con Controllo account utente. Le app amministrative che includono un elemento nel manifesto dell'app richiedono all'utente l'autorizzazione per accedere al token di accesso dell'utente. Anche se manca un elemento nel manifesto dell'app, la maggior parte delle app amministrative può essere eseguita senza modifiche usando le correzioni di compatibilità dell'app. Le correzioni di compatibilità dell'app sono elementi del database che consentono alle applicazioni che non sono compatibili con Controllo account utente di funzionare nel modo corretto.

Tutte le app compatibili con Controllo account utente hanno un livello di esecuzione richiesto nel manifesto dell'applicazione. Se l'applicazione richiede l'accesso amministrativo al sistema, contrassegnando l'app con il livello di esecuzione richiesto "richiede amministratore", il sistema identifica il programma come app amministrativa ed esegue tutte le procedure necessarie di elevazione dei privilegi. I livelli di esecuzione richiesti specificano i privilegi necessari per un'app.

Tecnologia di rilevamento del programma di installazione

I programmi di installazione sono app progettate per distribuire software. La maggior parte dei programmi di installazione scrive nelle directory di sistema e nelle chiavi del Registro di sistema. In genere, in questi percorsi di sistema protetti solo un amministratore ha le autorizzazioni di scrittura nella tecnologia di rilevamento del programma di installazione, pertanto gli utenti standard non hanno sufficienti diritti di accesso per installare i programmi. Windows 10 rileva euristicamente i programmi di installazione e richiede le credenziali amministrative o l'approvazione dell'utente amministratore per essere eseguito con i privilegi di accesso. Windows 10 rileva euristicamente anche gli aggiornamento e i programmi che disinstallano le applicazioni. Uno degli obiettivi di Controllo account utente è di evitare l'esecuzione delle installazioni senza il consenso dell'utente perché i programmi di installazione scrivono in aree protette del file system e del Registro di sistema.

Il rilevamento del programma di installazione si applica solo a:

  • File eseguibili a 32 bit.

  • Applicazioni senza un attributo del livello di esecuzione richiesto.

  • Processi interattivi che vengono eseguiti come un utente standard con Controllo account utente abilitato.

Prima di creare un processo a 32 bit, vengono controllati i seguenti attributi per stabilire se è un programma di installazione:

  • Il nome del file include parole chiave come "installa", "installazione" o "aggiornamento".

  • I campi relativi alla risorsa del controllo delle versioni contengono le seguenti parole chiave: fornitore, nome azienda, nome prodotto, descrizione file, nome file originale, nome interno e nome esportazione.

  • Le parole chiave nel manifesto affiancato sono incorporate nel file eseguibile.

  • Le parole chiave nelle voci StringTable specifiche sono collegate nel file eseguibile.

  • Gli attributi principali nei dati di script della risorsa sono collegati nel file eseguibile.

  • Ci sono sequenze di destinazione di byte all'interno del file eseguibile.

Nota  

Le parole chiave e le sequenze di byte derivano da caratteristiche comuni osservate da varie tecnologie dei programmi di installazione.

 

Nota  

L'impostazione criterio Controllo dell'account utente: rileva installazione applicazioni e richiedi elevazione deve essere abilitata in modo che il rilevamento del programma di installazione possa rilevare i programmi di installazione. Per altre info, vedi Impostazioni dei criteri di sicurezza per Controllo dell'account utente.