Considerazioni sulla sicurezza per assistive Technologies
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 desktop viene eseguita in un livello di integrità superiore 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 manifesto inizia con il supporto IL e non può accedere all'interfaccia utente del processo con privilegi elevati ("medium+" IL).
- Un'applicazione con UIAccess nel manifesto e viene avviata da un utente che non è nel gruppo administrators, inizia come "medium+" IL e non può accedere all'interfaccia utente con privilegi elevati (nessuna operazione eseguita come "alto", ad esempio le app avviate tramite un clic con il pulsante destro del mouse -> Esegui come amministratore).
- Un'applicazione 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 assistive technology può quindi fornire le informazioni agli utenti dell'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
- Richiedere l'esecuzione come finestra superiore per ottenere o visualizzare queste informazioni.
Per usare UIAccess, un'applicazione di assistive technology deve:
- Firmare con un certificato per interagire con le applicazioni in esecuzione a un livello di privilegi superiore.
- Essere considerati attendibili dal sistema. L'applicazione deve essere installata in un percorso sicuro che richiede un controllo dell'account utente per l'accesso. Ad esempio, la cartella Programmi.
- Compilare con un file manifesto che include il flag uiAccess.
UiAccess non deve essere usato:
Da applicazioni che non sono assistive technology.
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 sviluppate per la nuova interfaccia utente di Windows non hanno 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