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 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 qui effectue une demande d’activation pour un serveur COM utilisateur interactif est lié ou lancé et lié, le serveur COM 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 ou lance et lie au serveur COM dans « winsta0\default » de la session 3, 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é ou lance et lie à, le processus serveur s’exécutant dans 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’il effectue la demande d’activation.

L’indicateur APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP s’applique uniquement aux serveurs COM configurés pour exécuter des « utilisateurs interactifs ».

APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND Description

Si l’indicateur 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 APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND est défini dans AppIDFlags, les serveurs COM configurés pour ExécuterAs « Cet utilisateur » 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 serveur COM comme suit :

  • Il ajoute un SID APPID au jeton. Il accorde au SID APPID un accès total 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 l’autorisation SID OwnerRights READ_CONTROL dans la liste de contrôle d’accès par défaut du jeton. Dans les versions antérieures Windows Vista de Windows, 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 de APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND est destiné à être défini par les serveurs COM qui sont lancés sous 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 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 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 « Activateor » RunAs. 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 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écuter les « 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 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 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 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 versions ultérieures de Windows.

Bureaux

Niveaux d’emprunt d’identité

Utilisateur interactif

Session Monikers

Stations de fenêtre