Protezione, servizi e sul desktop interattivo in Windows

Introduzione

Servizi Microsoft Windows sono in genere le applicazioni console progettate per l'esecuzione automatica. Pertanto, i servizi non sono in genere un'interfaccia utente. Tuttavia, il servizio potrebbe richiedere l'interazione con l'utente in alcuni casi.

Ulteriori informazioni

Importante È consigliabile che i servizi non vengono eseguiti come servizi interattivi, se i servizi vengono eseguiti in un contesto di protezione elevate come sistema.

Per l'interfaccia utente di Windows, il desktop è il limite di sicurezza. Qualsiasi applicazione in esecuzione sul desktop interattivo può interagire con qualsiasi finestra sul desktop interattivo, anche se tale finestra non viene visualizzata sul desktop. Questo comportamento si verifica per ogni applicazione, indipendentemente dal contesto di protezione dell'applicazione che crea la finestra e indipendentemente dal contesto di protezione dell'applicazione in esecuzione sul desktop. Il sistema di messaggi di Windows non consente un'applicazione determinare l'origine di una finestra di messaggio.

Queste funzionalità di progettazione, qualsiasi servizio che apre una finestra sul desktop interattivo espone se stessa per le applicazioni che vengono eseguite dall'utente connesso. Se il servizio tenta di utilizzare messaggi di finestra per controllare le funzionalità, l'utente connesso può compromettere la funzionalità tramite messaggi dannosi.

Si consiglia di valutare i problemi di sicurezza qualsiasi servizio che viene eseguito come SYSTEM, che supporta il desktop interattivo tramite chiamate alla funzione OpenWindowStation e alla funzione GetThreadDesktop e che crea un'interfaccia utente.

In Microsoft Windows NT 4.0 e Microsoft Windows 2000, restrizioni di protezione non vengono applicate completamente per accedere al desktop predefinito di una stazione finestra interattiva. Quando un'applicazione tenta di creare un'interfaccia utente, la protezione della stazione finestra non viene eseguita una query per il diritto di accesso WINSTA_READSCREEN . Se l'identificatore di protezione (SID) di accesso non dispone di questo tipo di accesso alla stazione finestra, un processo in esecuzione con tale SID non deve essere possibile accedere al contenuto dello schermo.

In Microsoft Windows XP, questa restrizione viene applicata correttamente. Quando un processo in esecuzione con un accesso che SID tenta di disegnare sullo schermo, il sottosistema GDI verifica se il token di accesso ha il diritto di accesso WINSTA_READSCREEN . Se il token di accesso non dispone di accesso, il disegno non verrà completata. Questo comportamento causa problemi di disegno. Quando si eseguono applicazioni GUI utilizzando un token che ha ottenuto la proprietà LogonUser , è possibile visualizzare questi difetti. La proprietà LogonUser è il nome utente dell'utente attualmente connesso.

Si consiglia l'utilizzo di writer di servizio che una tecnologia client/server, ad esempio la chiamata di procedura remota (RPC), socket, named pipe o COM di interagire con l'utente connesso da un servizio. Inoltre, si consiglia di utilizzare la funzione MessageBox con il flag MB_SERVICE_NOTIFICATION per visualizzare i messaggi di stato semplice.
Proprietà

ID articolo: 327618 - Ultima revisione: 30 gen 2017 - Revisione: 1

Feedback