Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
Verwandte Themen