Freigeben über


AppIDFlags

Eine Reihe von Flags, die das Aktivierungsverhalten eines COM-Servers steuern.

Registrierungseintrag

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

Bemerkungen

Dies ist ein REG_DWORD Wert.

Flag-Wert Konstante
0x1 APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP
0x2 APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND
0x4 APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY

 

APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP Beschreibung

Wenn das APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP Flag in AppIDFlags gelöscht wird oder AppIDFla gs nicht vorhanden ist, Der Client in einer Terminalserversitzung, der eine Aktivierungsanforderung für einen interaktiven Benutzer COM-Server erstellt, wird entweder an den COM-Server im Desktop "winsta0" Fensterstation der Sitzung in der Aktivierungsanforderung gebunden oder gestartet und an diesen gebunden. Wenn der Client beispielsweise "winsta0\desktop1" von Sitzung 3 ausführt, wird die Aktivierungsanforderung für Sitzung 3 entweder an den COM-Server in "winsta0\default" von Sitzung 3 gebunden oder gestartet und gebunden, auch wenn bereits eine Instanz des COM-Servers in "winsta0\desktop1" von Sitzung 3 ausgeführt wird.

Wenn das APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP Flag im AppIDFlags--Wert festgelegt ist, bindet COM entweder an den Serverprozess, der auf dem Desktop des Clients ausgeführt wird, und die Sitzung in der Aktivierungsanforderung. Wenn der Client beispielsweise "winsta0\desktop1" in Sitzung 3 ausführt, wird die Aktivierungsanforderung für Sitzung 3 entweder an den COM-Server in "winsta0\desktop1" in Sitzung 3 gebunden oder gestartet und gebunden, auch wenn eine Instanz des COM-Servers bereits in "winsta0\default" in Sitzung 3 ausgeführt wird.

Der Client kann den Sitzungsmoniker verwenden, um eine andere Sitzung als die Sitzung des Clients anzugeben, wenn die Aktivierungsanforderung erfolgt.

Das flag APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP gilt nur für COM-Server, die für RunAs "Interactive User" konfiguriert sind.

APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND Beschreibung

Wenn das APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND Flag in AppIDFlagsfestgelegt ist, werden COM-Server, die für RunAs "Aktivator" konfiguriert sind, mit einem Prozesssicherheitsdeskriptor gestartet, der PROCESS_ALL_ACCESS die Anmelde-ID-SID des Prozesstokens zulässt. Darüber hinaus wird der Besitzer des Sicherheitsdeskriptors auf die Anmelde-ID-SID des Prozesstokens festgelegt.

Wenn das APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND Flag in AppIDFlagsfestgelegt ist, werden COM-Server, die für RunAs "This User" konfiguriert sind, mit einem Prozesssicherheitsdeskriptor gestartet, der PROCESS_ALL_ACCESS in der Anmelde-ID-SID des Prozesstokens zulässt. Darüber hinaus wird der Besitzer des Sicherheitsdeskriptors auf die Anmelde-ID-SID des Prozesstokens festgelegt. Darüber hinaus ändert der COM Service Control Manager (SCM) das Token des COM-Serverprozesses wie folgt:

  • Sie fügt dem Token eine APPID-SID hinzu. Sie gewährt der APPID-SID vollzugriff in der Standardmäßigen Zugriffssteuerungsliste (DaCL) des Tokens. In Windows Vista und höheren Versionen von Windows gewährt sie der OwnerRights SID READ_CONTROL Berechtigung in der Tokenstandard-DACL. In Windows Vista-Versionen von Windows wird der Tokenbesitzer auf die APPID-SID festgelegt.

Bei Verwendung des APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND Flags müssen die folgenden Sicherheitsüberlegungen berücksichtigt werden:

  • Das APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND Flag soll von COM-Servern festgelegt werden, die unter einem der integrierten Sicherheitskontexte des Diensts gestartet werden; entweder networkService- oder LocalService-Konten. Wenn die Server privilegierte Clients imitieren und das flag APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND nicht festgelegt ist, kann bösartiger Code, der in anderen Prozessen mit demselben Sicherheitskontext ausgeführt wird, die Rechte erhöhen, indem die Identitätswechseltoken der privilegierten Clients vom COM-Serverprozess entjackt werden.
  • Wenn das APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND Flag festgelegt ist, wird die Sicherheitsbeschreibung des Prozessobjekts durch COM im Fall von RunAs "Aktivator" COM-Servern gehärtet. Für solche Server wird erwartet, dass der COM-Client das Token, das er für die COM-Aktivierung verwendet, härtet.
  • Wenn das APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND Flag festgelegt ist, wird die Sicherheitsbeschreibung des Prozessobjekts durch COM im Fall von RunAs "This User" COM-Servern gehärtet. Außerdem wird das Prozesstoken des COM-Servers gehärtet, da das COM-SCM die Entität ist, die das Token erstellt.

Das APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND-Flag wird in Windows XP, Windows Server 2003, Windows Vista und Windows Server 2008 nur unterstützt, wenn der MSRC8322 Patch (Sicherheitsbulletin MS09-012) angewendet wird. Sie wird in Windows 7 und höheren Versionen von Windows 7 nativ unterstützt.

Das APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND Flag gilt nur für COM-Server, die für RunAs "Aktivator" oder "Dieser Benutzer" konfiguriert sind. Sie gilt nicht für COM-Server, die NT-Dienste sind.

APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY Beschreibung

Wenn das APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY Flag in AppIDFlagsfestgelegt ist, gibt com-SCM Objektaktivierungsanforderungen an den COM-Serverprozess mithilfe einer Identitätswechselebene von RPC_C_IMP_LEVEL_IDENTIFYaus.

Wenn das APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY-Flag nicht festgelegt ist, gibt com-SCM Objektaktivierungsanforderungen an die COM-Serverprozesse mithilfe einer Identitätswechselebene von RPC_C_IMP_LEVEL_IMPERSONATEaus.

Bei Verwendung des APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY Flags müssen die folgenden Sicherheitsaspekte berücksichtigt werden:

  • Das APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY-Flag soll von COM-Servern verwendet werden, die nicht im Auftrag von Clients in Objektaktivierungsanforderungen arbeiten. Für solche Server minimiert die Com-SCM-SCM Objektaktivierungsanforderungen bei RPC_C_IMP_LEVEL_IDENTIFY die Wahrscheinlichkeit, dass privilegierte Token mit SE_IMPERSONATE_NAME Ebene im Prozess angezeigt werden.

Das APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY Flag wird in Windows 7 und höheren Versionen von Windows unterstützt.

desktops

Identitätswechselebenen

interaktiven Benutzer-

Session Monikers

Fensterstationen