AppIDFlags
Ensemble d’indicateurs qui contrôlent le comportement d’activation d’un serveur COM.
Entrée du Registre
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{AppID_GUID}
AppIDFlags = flags
Remarques
Il s’agit d’une valeur REG_DWORD.
Valeur de l’indicateur | Constant |
---|---|
0x1 | APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP |
0x2 | APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND |
0x4 | APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY |
APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP Description
Si l’indicateur APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP est effacé dans AppIDFlags ou si AppIDFlags n’est pas présent, le client d’une session de serveur terminal effectuant une demande d’activation pour un utilisateur interactif serveur COM, est lié à, ou lance et lie à, le serveur COM dans le bureau « par défaut » de la station de fenêtre « winsta0 » station de fenêtre de la session dans la demande d’activation. Par exemple, si le client exécute « winsta0\desktop1 » de la session 3, la demande d’activation pour la session 3 est liée ou lance et lie au serveur COM dans « winsta0\default » de la session 3, même si une instance du serveur COM s’exécute déjà dans « winsta0\desktop1 » de la session 3.
Si l’indicateur APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP est défini dans l'AppIDFlags valeur, COM est lié ou lance et lie à, le processus de serveur s’exécutant sur le bureau du client et la session dans la demande d’activation. Par exemple, si le client exécute « winsta0\desktop1 » dans la session 3, la demande d’activation pour la session 3 est liée ou lance et lie au serveur COM dans « winsta0\desktop1 » dans la session 3, même si une instance du serveur COM s’exécute déjà dans « winsta0\default » dans la session 3.
Le client peut utiliser le moniker de session pour spécifier une session différente de la session du client lorsqu’elle effectue la demande d’activation.
L’indicateur de APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP s’applique uniquement aux serveurs COM configurés pour exécuter des «utilisateur interactif».
APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND Description
Si l’indicateur de APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND est défini dans AppIDFlags, les serveurs COM configurés pour ExécuterAs « Activateor » sont lancés avec un descripteur de sécurité de processus qui permet PROCESS_ALL_ACCESS au SID LogonID du jeton de processus. En outre, le propriétaire du descripteur de sécurité est défini sur le SID LogonID du jeton de processus.
Si l’indicateur de APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND est défini dans AppIDFlags, les serveurs COM configurés pour ExécuterAs « This User » sont lancés avec un descripteur de sécurité de processus qui autorise PROCESS_ALL_ACCESS dans le SID LogonID du jeton de processus. En outre, le propriétaire du descripteur de sécurité est défini sur le SID LogonID du jeton de processus. En outre, le Gestionnaire de contrôle de service COM (SCM) modifie le jeton du processus de serveur COM comme suit :
- Il ajoute un SID APPID au jeton. Il accorde au SID APPID un accès complet dans la liste de contrôle d’accès discrétionnaire par défaut du jeton (DACL). Dans Windows Vista et les versions ultérieures de Windows, il accorde l’autorisation SID OwnerRights READ_CONTROL dans la liste DACL par défaut du jeton. Dans les versions antérieures de Windows Vista, il définit le propriétaire du jeton sur le SID APPID.
Les considérations de sécurité suivantes doivent être prises en compte lors de l’utilisation de l’indicateur de APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND :
- L’indicateur APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND est destiné à être défini par des serveurs COM lancés sous l’un des contextes de sécurité de service intégrés ; NetworkService ou les comptes LocalService. Si les serveurs empruntent l’identité des clients privilégiés et si l’indicateur de APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND n’est pas défini, le code malveillant s’exécutant dans d’autres processus avec le même contexte de sécurité peut élever les privilèges en détournant les jetons d’emprunt d’identité des clients privilégiés à partir du processus de serveur COM.
- Lorsque l’indicateur APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND est défini, COM renforce le descripteur de sécurité de l’objet de processus dans le cas de serveurs COM « Activateor » d’RunAs. Pour ces serveurs, le client COM est censé renforcer le jeton qu’il utilise pour l’activation COM.
- Lorsque l’indicateur de APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND est défini, COM renforce le descripteur de sécurité de l’objet de processus dans le cas de serveurs COM « Cet utilisateur ». Il renforce également le jeton de processus du serveur COM, car le SCM COM est l’entité qui crée le jeton.
L’indicateur APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND est pris en charge dans Windows XP, Windows Server 2003, Windows Vista et Windows Server 2008 uniquement lorsque le correctif MSRC8322 (bulletin de sécurité MS09-012) est appliqué. Il est pris en charge en mode natif dans Windows 7 et versions ultérieures de Windows.
L’indicateur APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND s’applique uniquement aux serveurs COM configurés pour ExécuterAs « Activateor » ou « This User ». Elle ne s’applique pas aux serveurs COM qui sont des services NT.
APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY Description
Si l’indicateur APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY est défini dans AppIDFlags, le SCM COM émet des demandes d’activation d’objet au processus du serveur COM à l’aide d’un niveau d’emprunt d’identité de RPC_C_IMP_LEVEL_IDENTIFY.
Si l’indicateur de APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY n’est pas défini, le SCM COM émet des demandes d’activation d’objet aux processus du serveur COM à l’aide d’un niveau d’emprunt d’identité de RPC_C_IMP_LEVEL_IMPERSONATE.
Les considérations de sécurité suivantes doivent être prises en compte lors de l’utilisation de l’indicateur de APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY :
- L’indicateur de APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY est destiné à être utilisé par les serveurs COM qui n’effectuent pas de travail pour le compte des clients dans les demandes d’activation d’objet. Pour ces serveurs, le fait que com SCM émet des demandes d’activation d’objet à RPC_C_IMP_LEVEL_IDENTIFY réduit les chances de jetons privilégiés avec SE_IMPERSONATE_NAME niveau apparaissant dans le processus.
L’indicateur APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY est pris en charge dans Windows 7 et les versions ultérieures de Windows.
Rubriques connexes