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.

Flagwert Konstant
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 AppIDFlags nicht vorhanden ist, wird der Client in einer Terminalserversitzung, die eine Aktivierungsanforderung für einen interaktiven BENUTZER-COM-Server erstellt, entweder an den COM-Server gebunden oder an den COM-Server im "Standard-Desktop" der Fensterstation "winsta0" der Sitzung in der Aktivierungsanforderung gebunden oder an diese gebunden. Wenn der Client beispielsweise "winsta0\desktop1" der Sitzung 3 ausführt, binden die Aktivierungsanforderung für Sitzung 3 entweder an oder starten und binden sie an, den COM-Server in "winsta0\default" der Sitzung 3, auch wenn eine Instanz des COM-Servers bereits in "winsta0\desktop1" der Sitzung 3 ausgeführt wird.

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

Der Client kann den Sitzungsmoniker verwenden, um eine Sitzung anders als die Sitzung des Clients anzugeben, wenn er die Aktivierungsanforderung erstellt.

Das APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP-Kennzeichen gilt nur für COM-Server, die für RunAs "Interaktiver Benutzer" konfiguriert sind.

APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND Beschreibung

Wenn das APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND-Flag in AppIDFlags festgelegt ist, werden COM-Server, die für RunAs "Activator" konfiguriert sind, mit einem Prozesssicherheitsdeskriptor gestartet, mit dem PROCESS_ALL_ACCESS die LogonID-SID des Prozesstokens ermöglicht. Darüber hinaus wird der Besitzer des Sicherheitsdeskriptors auf die LogonID-SID des Prozesstokens festgelegt.

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

  • Es fügt dem Token eine APPID-SID hinzu. Sie gewährt der APPID SID den vollständigen Zugriff in der Standardmäßigen Zugriffssteuerungsliste (DACL). In Windows Vista und späteren Versionen von Windows gewährt sie der OwnerRights SID READ_CONTROL Berechtigung im Tokenstandard DACL. In vorab Windows Vista-Versionen von Windows legt er den Tokenbesitzer auf die APPID-SID fest.

Die folgenden Sicherheitsaspekte müssen bei Verwendung des APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND-Flags 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 netzwerkservice- oder localService-Konten. Wenn die Server privilegierte Clients imitieren und wenn das APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND Flag nicht festgelegt ist, kann böswilliger Code, der in anderen Prozessen mit demselben Sicherheitskontext ausgeführt wird, die Berechtigungen erhöhen, indem sie die Identitätstoken der privilegierten Clients aus dem COM-Serverprozess entführen.
  • Wenn das APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND-Flag festgelegt ist, wird der Sicherheitsdeskriptor des Prozessobjekts im Fall von RunAs "Activator"-COM-Servern durch COM-Server von COM gefestet. Für solche Server wird der COM-Client erwartet, dass das Token, das er für die COM-Aktivierung verwendet, erschwert wird.
  • Wenn das APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND-Flag festgelegt ist, wird der Sicherheitsdeskriptor des Prozessobjekts im Fall von RunAs "This User" COM-Servern gefestet. Außerdem wird das Prozesstoken des COM-Servers ab dem COM-SCM als Entität gefestet, 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 (Security Bulletin MS09-012) angewendet wird. Es wird in Windows 7 und höher versionen von Windows systemintern unterstützt.

Das APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND-Flag gilt nur für COM-Server, die für RunAs "Activator" oder "Dieser Benutzer" konfiguriert sind. Es 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 AppIDFlags festgelegt ist, gibt das COM SCM Objektaktivierungsanforderungen an den COM-Serverprozess mithilfe einer Identitätsstufe von RPC_C_IMP_LEVEL_IDENTIFY aus.

Wenn das APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY Flag nicht festgelegt ist, stellt der COM SCM Objektaktivierungsanforderungen an die COM-Serverprozesse mithilfe einer Identitätsebene von RPC_C_IMP_LEVEL_IMPERSONATE aus.

Die folgenden Sicherheitsaspekte müssen bei Verwendung des APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY-Flags 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. Bei solchen Servern minimiert die Com SCM-Objektaktivierungsanforderungen bei RPC_C_IMP_LEVEL_IDENTIFY die Chancen von privilegierten Token mit SE_IMPERSONATE_NAME Ebene, die im Prozess angezeigt werden.

Die APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY-Kennzeichnung wird in Windows 7 und späteren Versionen von Windows unterstützt.

Desktops

Identitätswechselebenen

Interaktiver Benutzer

Sitzungsmoniker

Fensterstationen