AppIDFlags

Ensemble d’indicateurs qui contrôlent le comportement d’activation d’un serveur COM.

Entrée de Registre

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
   {AppID_GUID}
      AppIDFlags = flags

Notes

Il s’agit d’une valeur REG_DWORD .

Valeur de l’indicateur Constante
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 de APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP est effacé dans AppIDFlags ou si AppIDFlags n’est pas présent, le client dans une session de serveur Terminal Server effectuant une demande d’activation pour un serveur COM utilisateur interactif est lié au serveur COM ou le lance et le lie à dans le bureau « par défaut » de la station de fenêtre « winsta0 » 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 au serveur COM dans « winsta0\default » de la session 3, ou la lancer et la lier à, même si une instance du serveur COM est déjà en cours d’exécution dans « winsta0\desktop1 » de la session 3.

Si l’indicateur APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP est défini dans la valeur AppIDFlags , COM est lié au processus serveur qui s’exécute sur le bureau du client et à la session dans la demande d’activation, ou le lance et le lie à. Par exemple, si le client exécute « winsta0\desktop1 » dans la session 3, la demande d’activation pour la session 3 est liée au serveur COM dans « winsta0\desktop1 » dans la session 3, même si une instance du serveur COM est déjà en cours d’exécution 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’il effectue la demande d’activation.

L’indicateur APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP s’applique uniquement aux serveurs COM configurés pour exécuter « 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 sur RunAs « Activateur » sont lancés avec un descripteur de sécurité de processus qui permet de 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 APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND est défini dans AppIDFlags, les serveurs COM configurés sur RunAs « 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 des services COM (SCM) modifie le jeton du processus 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 (DACL) par défaut du jeton. Dans Windows Vista et les versions ultérieures de Windows, il accorde au SID OwnerRights READ_CONTROL l’autorisation dans la liste DACL par défaut du jeton. Dans les versions antérieures à 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 APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND :

  • L’indicateur APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND est destiné à être défini par les serveurs COM qui sont lancés dans l’un des contextes de sécurité de service intégrés ; les comptes NetworkService ou LocalService. Si les serveurs empruntent l’identité des clients privilégiés et si l’indicateur 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 du processus 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 des serveurs COM RunAs « Activateur ». Pour ces serveurs, le client COM est censé renforcer le jeton qu’il utilise pour l’activation 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 des serveurs COM RunAs « This User ». 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 les versions ultérieures de Windows.

L’indicateur APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND s’applique uniquement aux serveurs COM configurés pour exécuter « Activateur » ou « Cet utilisateur ». 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 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 APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY :

  • L’indicateur 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 le SCM COM émette des demandes d’activation d’objet au RPC_C_IMP_LEVEL_IDENTIFY réduit les risques que des jetons privilégiés avec SE_IMPERSONATE_NAME niveau apparaissent 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.

Bureaux

Niveaux d’emprunt d’identité

Utilisateur interactif

Session Monikers

Stations de fenêtre