Cenni preliminari sulla sicurezza di automazione interfaccia utente

Aggiornamento: novembre 2007

In questi cenni preliminari viene descritto il modello di sicurezza per automazione interfaccia utente Microsoft in Windows Vista.

Nel presente argomento sono contenute le seguenti sezioni.

  • Controllo dell'account utente
  • Attività che richiedono privilegi superiori
  • File manifesto

Controllo dell'account utente

La sicurezza è un obiettivo fondamentale di Windows Vista che, tra le altre novità, offre agli utenti la possibilità di accedere come utenti standard (non come amministratori) senza che venga necessariamente bloccata l'esecuzione di applicazioni e servizi che richiedono privilegi superiori.

In Windows Vista, la maggior parte delle applicazioni viene fornita con un token standard o amministrativo. Se un'applicazione non può essere identificata come amministrativa, viene avviata come applicazione standard per impostazione predefinita. Per poter avviare un'applicazione identificata come amministrativa, in Windows Vista viene chiesto all'utente di consentire l'esecuzione dell'applicazione come elevata. Il prompt di autorizzazione viene visualizzato per impostazione predefinita, anche se l'utente è membro del gruppo Administrators locale, poiché gli amministratori sono eseguiti come utenti standard fino al momento in cui viene chiesta l'autorizzazione di esecuzione di un'applicazione o un componente di sistema che richiede credenziali amministrative.

Attività che richiedono privilegi superiori

Quando un utente tenta di eseguire un'attività che richiede privilegi amministrativi, in Windows Vista viene visualizzata una finestra di dialogo di conferma dell'operazione. Questa finestra di dialogo è protetta dalla comunicazione tra processi per impedire al software dannoso di simulare input dell'utente. Analogamente, la schermata di accesso desktop non è generalmente accessibile da altri processi.

I client di automazione interfaccia utente devono comunicare con altri processi, alcuni dei quali possono essere in esecuzione a un livello di privilegi superiore. I client potrebbero inoltre richiedere l'accesso alle finestre di dialogo del sistema che non sono generalmente visibili ad altri processi. È pertanto necessario che i client di automazione interfaccia utente siano ritenuti attendibili dal sistema e vengano eseguiti con privilegi speciali.

Per essere ritenute attendibili per la comunicazione con applicazioni in esecuzione a un livello di privilegi superiore, è necessario che le applicazioni siano firmate.

File manifesto

Per ottenere l'accesso all'interfaccia utente del sistema protetto, le applicazioni devono essere compilate con un file manifesto che include un attributo speciale. L'attributo uiAccess è incluso nel tag requestedExecutionLevel, nel modo seguente:

<trustInfo xmlns="urn:0073chemas-microsoft-com:asm.v3">

    <security>

        <requestedPrivileges>

        <requestedExecutionLevel

            level="highestAvailable"

            UIAccess="true" />

        </requestedPrivileges>

    </security>

</trustInfo>

Il valore dell'attributo level in questo codice è solo un esempio.

UIAccess è "false" per impostazione predefinita. Se l'attributo viene omesso o non è disponibile un manifesto per l'assembly, l'applicazione non sarà in grado di accedere all'interfaccia utente protetta.

Per ulteriori informazioni sulla sicurezza di Windows Vista, la firma delle applicazioni e la creazione di manifesti dell'assembly, vedere "Developer Best Practices and Guidelines for Applications in a Least Privileged Environment" in MSDN (informazioni in lingua inglese).