AppIDFlags
Sada příznaků, které řídí chování aktivace serveru COM.
Položka registru
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{AppID_GUID}
AppIDFlags = flags
Poznámky
Toto je hodnota REG_DWORD.
Hodnota příznaku | Konstanta |
---|---|
0x1 | APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP |
0x2 | APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND |
0x4 | APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY |
Popis APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP
Pokud se příznak APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP vymaže v AppIDFlags nebo pokud AppIDFlags neexistuje, klient v relaci terminálového serveru vytvoří žádost o aktivaci pro interaktivního uživatele serveru COM, buď vytvoří vazbu na server COM, nebo se naváže na server COM na "výchozí" ploše "winsta0" okna stanice relace v žádosti o aktivaci. Pokud například klient používá winsta0\desktop1 relace 3, žádost o aktivaci pro relaci 3 se buď sváže, nebo spustí a vytvoří vazbu, server COM v "winsta0\default" relace 3, a to i v případě, že instance serveru COM již běží v winsta0\desktop1 relace 3.
Pokud je příznak APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP nastaven v hodnotě AppIDFlags, com buď vytvoří vazbu, nebo spustí a vytvoří vazbu, proces serveru spuštěný na ploše klienta a relaci v žádosti o aktivaci. Pokud například klient používá winsta0\desktop1 v relaci 3, žádost o aktivaci pro relaci 3 se buď sváže, nebo spustí a vytvoří vazbu, server COM v "winsta0\desktop1" v relaci 3, a to i v případě, že instance serveru COM již běží v "winsta0\default" v relaci 3.
Klient může použít moniker relace k určení jiné relace než relace klienta, když provede žádost o aktivaci.
Příznak APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP se vztahuje pouze na servery COM, které jsou nakonfigurované na účty Spustit jakoInteraktivní uživatel.
Popis APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND
Pokud je příznak APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND nastavený v AppIDFlags, spustí se servery COM, které jsou nakonfigurované na Aktivátor Spustit jako aktivátor, s popisovačem zabezpečení procesu, který umožňuje PROCESS_ALL_ACCESS identifikátoru SID logonID tokenu procesu. Kromě toho bude vlastník popisovače zabezpečení nastaven na identifikátor SID LogonID tokenu procesu.
Pokud je příznak APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND nastaven v AppIDFlags, spustí se servery MODELU COM, které jsou nakonfigurované na Spustit jako "Tento uživatel", s popisovačem zabezpečení procesu, který umožňuje PROCESS_ALL_ACCESS v identifikátoru SID logonID tokenu procesu. Kromě toho bude vlastník popisovače zabezpečení nastaven na identifikátor SID LogonID tokenu procesu. Správce řízení služeb COM (SCM) dále upraví token procesu serveru COM následujícím způsobem:
- Do tokenu přidá identifikátor SID APPID. Uděluje úplný přístup SID APPID ve výchozím volitelném seznamu řízení přístupu (DACL) tokenu. V systému Windows Vista a novějších verzích systému Windows uděluje OwnerRights SID oprávnění READ_CONTROL ve výchozím seznamu DACL tokenu. Ve starších verzích Windows Vista nastaví vlastníka tokenu na IDENTIFIKÁTOR SID APPID.
Při použití příznaku APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND je potřeba vzít v úvahu následující aspekty zabezpečení:
- Příznak APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND je určen k nastavení servery MODELU COM, které jsou spuštěny v jednom z předdefinovaných kontextů zabezpečení služby; buď networkservice, nebo účty LocalService. Pokud servery zosobňují privilegované klienty a pokud není nastavený příznak APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND, škodlivý kód spuštěný v jiných procesech se stejným kontextem zabezpečení může zvýšit oprávnění tím, že z procesu serveru COM zneškodní tokeny zosobnění privilegovaných klientů.
- Pokud je nastaven příznak APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND, com ztěžuje popisovač zabezpečení objektu procesu v případě serverů COM aktivátoru RunAs. U takových serverů se očekává, že klient modelu COM ztěžuje token, který používá k aktivaci modelu COM.
- Pokud je nastaven příznak APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND, com zpevní popisovač zabezpečení objektu procesu v případě serverů MODELU COM Typu Spustit jako. Také zpevní token procesu serveru COM, protože SCM modelu COM je entita, která token vytvoří.
Příznak APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND je podporován v systémech Windows XP, Windows Server 2003, Windows Vista a Windows Server 2008 pouze v případě, že se použije MSRC8322 oprava (bulletin zabezpečení MS09-012). Nativně se podporuje ve Windows 7 a novějších verzích Windows.
Příznak APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND se vztahuje pouze na servery COM, které jsou nakonfigurované na aktivátor Spustit jako nebo Tento uživatel. Nevztahuje se na servery COM, které jsou službami NT.
Popis APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY
Pokud je příznak APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY nastaven v AppIDFlags, COM SCM vydá žádosti o aktivaci objektu procesu serveru COM pomocí úrovně zosobnění RPC_C_IMP_LEVEL_IDENTIFY.
Pokud není příznak APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY nastaven, scm MODELU COM vydá žádosti o aktivaci objektu na server COM pomocí úrovně zosobnění RPC_C_IMP_LEVEL_IMPERSONATE.
Při použití příznaku APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY je potřeba vzít v úvahu následující aspekty zabezpečení:
- Příznak APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY je určen k použití servery MODELU COM, které nepracují jménem klientů v žádostech o aktivaci objektu. U takových serverů se požadavky na aktivaci objektu SCM modelu COM na RPC_C_IMP_LEVEL_IDENTIFY minimalizují riziko privilegovaných tokenů s úrovní SE_IMPERSONATE_NAME, která se v procesu objeví.
Příznak APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY se podporuje ve Windows 7 a novějších verzích Windows.
Související témata