Considerazioni sulla sicurezza per le tecnologie assistive
Le tecnologie di assistive technology sono applicazioni eseguite sul desktop di Windows e consentono agli utenti di accessibilità di interagire con il sistema operativo e altre applicazioni in esecuzione nel computer, incluse le applicazioni nella nuova interfaccia utente di Windows. Le applicazioni di assistive technology funzionano recuperando informazioni dal sistema operativo e da altre applicazioni e quindi presentando le informazioni in modo accessibile all'utente. Un'applicazione di assistive technology può anche "guidare" a livello di codice il sistema operativo e altre applicazioni in base all'input dell'utente.
La natura delle applicazioni di assistive technology richiede che attraversino i limiti dei processi e che abbiano accesso ai processi eseguiti a un livello di integrità superiore (IL) rispetto a se stessi. Un'applicazione di assistive technology viene eseguita a livello intermedio. Ad esempio, quando l'utente tenta di eseguire un'attività che richiede privilegi amministrativi, Windows visualizza una finestra di dialogo in cui viene chiesto all'utente il consenso per continuare. Questa finestra di dialogo viene eseguita in un livello di integrità superiore per proteggerla dalla comunicazione tra processi, in modo che il software dannoso non possa simulare l'input dell'utente. Analogamente, la schermata di accesso del desktop viene eseguita ad un livello di integrità più elevato per impedire l'accesso da parte di altri processi.
Le applicazioni di assistive technology richiedono in genere l'accesso agli elementi dell'interfaccia utente del sistema protetto o ad altri processi che potrebbero essere in esecuzione a un livello di privilegio superiore. Pertanto, le applicazioni di assistive technology devono essere considerate attendibili dal sistema e devono essere eseguite con privilegi speciali.
Per ottenere l'accesso a processi IL più elevati, un'applicazione di assistive technology deve impostare il flag UIAccess nel manifesto dell'applicazione e essere avviato da un utente con privilegi di amministratore.
Nota
I privilegi di accesso sono vincolati come segue:
- Un'applicazione che non dispone di UIAccess nel manifest inizia con medium IL e non può accedere all'interfaccia utente del processo elevato ("medium+" IL).
- Un'applicazione con UIAccess nel manifesto che viene avviata da un utente che non è nel gruppo degli amministratori, inizia come "intermedio+" IL e non può accedere a un'interfaccia utente con privilegi elevati (nessuna applicazione eseguita come "alto" IL, ad esempio app avviate con il clic destro del mouse e l'opzione Esegui come amministratore).
- Un'applicazione che ha accesso all'interfaccia utente e viene avviata da un utente amministratore, inizia come "alto" IL e può accedere a un'interfaccia utente con privilegi elevati perché ha lo stesso IL.
UIAccess non è sufficiente per consentire a un processo di spostarsi verso l'alto attraverso il limite di IL.
Oltre ad avere accesso a processi IL più elevati, un'applicazione di assistive technology con questi privilegi può essere eseguita come l'applicazione più in alto nell'ordine z in qualsiasi momento, ovvero un'applicazione di assistive technology può essere visibile e disponibile ogni volta che l'utente lo necessita.
Importante
Nessuno degli scenari elencati in precedenza fornisce l'accesso all'interfaccia utente in esecuzione nel sistema IL. Ciò è possibile solo se il processo viene avviato nel desktop del controllo dell'account utente (UAC) in SYSTEM (e system IL). In questo caso, l'impostazione di UIAccess non ha alcun effetto.
Requisiti di UIAccess per le applicazioni assistive Technology
Un'applicazione di assistive technology è un'applicazione desktop windows di Windows che interagisce con altri processi in esecuzione sul desktop e nella nuova interfaccia utente di Windows per ottenere informazioni dal sistema e dalle applicazioni. L'applicazione di tecnologia assistiva può quindi fornire le informazioni agli utenti con esigenze di accessibilità.
Un'applicazione di assistive technology ottiene l'accesso ad altri processi impostando il flag UIAccess nel manifesto dell'applicazione. Per usare il flag UIAccess, un'applicazione di assistive technology deve soddisfare i requisiti seguenti.
- Richiedere di visualizzare, interagire o riflettere le informazioni di un'altra applicazione per fornire informazioni per uno scenario di accessibilità e/o
- È necessario eseguire come finestra in primo piano per ottenere o visualizzare queste informazioni.
Per usare UIAccess, un'applicazione di assistive technology deve:
- Essere firmato con un certificato per interagire con le applicazioni che eseguono a un livello di privilegi superiore.
- Essere considerati attendibili dal sistema. L'applicazione deve essere installata in un percorso sicuro che richiede un prompt per il controllo dell'account utente (UAC) per l'accesso. Ad esempio, la cartella Programmi.
- Essere costruito con un file manifesto che include il flag uiAccess.
UiAccess non deve essere usato:
Da applicazioni che non sono tecnologie assistive.
Tramite applicazioni di assistive technology che visualizzano informazioni o interfaccia utente non rilevanti per lo scenario di accessibilità di destinazione.
Le applicazioni che vogliono essere visualizzate sopra le altre applicazioni nella nuova interfaccia utente di Windows.
Nota
Le applicazioni UWP non dispongono di UIAccess come opzione disponibile.
Impostazione di UIAccess nel file manifesto dell'applicazione
Per ottenere l'accesso all'interfaccia utente del sistema protetto, le applicazioni devono essere compilate con un file manifesto che include un attributo speciale nel file manifesto. Questo attributo uiAccess è incluso nel tag requestedExecutionLevel , come illustrato nell'esempio di codice seguente.
<trustInfo xmlns="urn:schemas-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 se non è presente alcun manifesto, l'applicazione non può accedere all'interfaccia utente protetta.
Per altre informazioni sulla sicurezza di Windows, sulla firma delle applicazioni e sulla creazione di manifesti, vedere La storia degli sviluppatori di Windows Vista e Windows Server 2008: Requisiti di sviluppo di applicazioni Windows Vista per il controllo dell'account utente.
Argomenti correlati