AppIDFlags
Set di flag che controllano il comportamento di attivazione di un server COM.
Voce del Registro di sistema
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{AppID_GUID}
AppIDFlags = flags
Osservazioni:
Si tratta di un valore REG_DWORD .
Valore flag | Costante |
---|---|
0x1 | APPIDREGFLAGS_ACTIVATE_IUedizione StandardRVER_INDESKTOP |
0x2 | APPIDREGFLAGS_edizione StandardCURE_edizione StandardRVER_PROCESS_SD_AND_BIND |
0x4 | APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY |
Descrizione APPIDREGFLAGS_ACTIVATE_IUedizione StandardRVER_INDESKTOP
Se il flag APPIDREGFLAGS_ACTIVATE_IUedizione StandardRVER_INDESKTOP viene cancellato in AppIDFlags o se AppIDFlags non è presente, il client in una sessione del server terminale che effettua una richiesta di attivazione per un server COM utente interattivo, verrà associato o avviato e associato, il server COM nel desktop "predefinito" della finestra "winsta0" della sessione nella richiesta di attivazione. Ad esempio, se il client esegue "winsta0\desktop1" della sessione 3, la richiesta di attivazione per la sessione 3 verrà associata o avviata e associata, il server COM in "winsta0\default" della sessione 3, anche se un'istanza del server COM è già in esecuzione in "winsta0\desktop1" della sessione 3.
Se il flag APPIDREGFLAGS_ACTIVATE_IUedizione StandardRVER_INDESKTOP è impostato nel valore AppIDFlags, COM verrà associato o avviato e associato, il processo del server in esecuzione nel desktop del client e la sessione nella richiesta di attivazione. Ad esempio, se il client esegue "winsta0\desktop1" nella sessione 3, la richiesta di attivazione per la sessione 3 verrà associata o avviata e associata, il server COM in "winsta0\desktop1" nella sessione 3, anche se un'istanza del server COM è già in esecuzione in "winsta0\default" nella sessione 3.
Il client può usare il moniker di sessione per specificare una sessione diversa dalla sessione del client quando effettua la richiesta di attivazione.
Il flag APPIDREGFLAGS_ACTIVATE_IUedizione StandardRVER_INDESKTOP si applica solo ai server COM configurati per RunAs "Interactive User".
Descrizione APPIDREGFLAGS_edizione StandardCURE_edizione StandardRVER_PROCESS_SD_AND_BIND
Se il flag APPIDREGFLAGS_edizione StandardCURE_edizione StandardRVER_PROCESS_SD_AND_BIND è impostato in AppIDFlags, i server COM configurati per RunAs "Activator" verranno avviati con un descrittore di sicurezza del processo che consente di PROCESS_ALL_ACCESS al SID logonID del token di processo. Inoltre, il proprietario del descrittore di sicurezza verrà impostato sul SID LogonID del token di processo.
Se il flag APPIDREGFLAGS_edizione StandardCURE_edizione StandardRVER_PROCESS_SD_AND_BIND è impostato in AppIDFlags, i server COM configurati per RunAs "This User" verranno avviati con un descrittore di sicurezza del processo che consente di PROCESS_ALL_ACCESS nel SID logonID del token di processo. Inoltre, il proprietario del descrittore di sicurezza verrà impostato sul SID LogonID del token di processo. Inoltre, COM Service Control Manager (SCM) modifica il token del processo del server COM come indicato di seguito:
- Aggiunge un SID APPID al token. Concede all'APPID SID l'accesso completo nell'elenco di controllo di accesso discrezionale (DACL) predefinito del token. In Windows Vista e versioni successive di Windows concede l'autorizzazione SID OwnerRights READ_CONTROL nell'elenco DACL predefinito del token. Nelle versioni precedenti a Windows Vista di Windows imposta il proprietario del token sul SID APPID.
Quando si usa il flag di APPIDREGFLAGS_edizione StandardCURE_edizione StandardRVER_PROCESS_SD_AND_BIND è necessario tenere conto delle considerazioni di sicurezza seguenti:
- Il flag APPIDREGFLAGS_edizione StandardCURE_edizione StandardRVER_PROCESS_SD_AND_BIND deve essere impostato dai server COM avviati in uno dei contesti di sicurezza del servizio predefiniti, ovvero NetworkService o LocalService. Se i server rappresentano i client con privilegi e se il flag di APPIDREGFLAGS_edizione StandardCURE_edizione StandardRVER_PROCESS_SD_AND_BIND non è impostato, il codice dannoso in esecuzione in altri processi con lo stesso contesto di sicurezza può elevare i privilegi di hijacking dei token di rappresentazione dei client con privilegi dal processo del server COM.
- Quando il flag APPIDREGFLAGS_edizione StandardCURE_edizione StandardRVER_PROCESS_SD_AND_BIND è impostato, COM rafforza il descrittore di sicurezza dell'oggetto processo nel caso di server COM "Activator" runAs. Per tali server, il client COM dovrebbe rafforzare il token usato per l'attivazione COM.
- Quando il flag APPIDREGFLAGS_edizione StandardCURE_edizione StandardRVER_PROCESS_SD_AND_BIND è impostato, COM applica la protezione avanzata del descrittore di sicurezza dell'oggetto processo nel caso dei server COM RunAs "This User". Rafforza inoltre il token di processo del server COM poiché COM SCM è l'entità che crea il token.
Il flag APPIDREGFLAGS_edizione StandardCURE_edizione StandardRVER_PROCESS_SD_AND_BIND è supportato in Windows XP, Windows Server 2003, Windows Vista e Windows Server 2008 solo quando viene applicata la patch di MSRC8322 (bollettino sulla sicurezza MS09-012). È supportato in modo nativo in Windows 7 e versioni successive di Windows.
Il flag APPIDREGFLAGS_edizione StandardCURE_edizione StandardRVER_PROCESS_SD_AND_BIND si applica solo ai server COM configurati per RunAs "Activator" o "This User". Non si applica ai server COM che sono servizi NT.
Descrizione APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY
Se il flag APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY è impostato in AppIDFlags, GESTIONE configurazione COM emette richieste di attivazione degli oggetti al processo del server COM usando un livello di rappresentazione di RPC_C_IMP_LEVEL_IDENTIFY.
Se il flag di APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY non è impostato, GESTIONE configurazione COM emette richieste di attivazione degli oggetti ai processi del server COM usando un livello di rappresentazione di RPC_C_IMP_LEVEL_IMPERSONATE.
Quando si usa il flag di APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY , è necessario tenere conto delle considerazioni di sicurezza seguenti:
- Il flag APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY deve essere usato dai server COM che non eseguono operazioni per conto dei client nelle richieste di attivazione degli oggetti. Per tali server, la presenza di richieste di attivazione di oggetti da parte di COM SCM in RPC_C_IMP_LEVEL_IDENTIFY riduce al minimo le probabilità di token con privilegi con edizione Standard_IMPERSONATE_NAME livello visualizzato nel processo.
Il flag APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY è supportato in Windows 7 e versioni successive di Windows.
Argomenti correlati