Opóźnienie AppIDFlags
Zestaw flag, które kontrolują zachowanie aktywacji serwera COM.
Wpis rejestru
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{AppID_GUID}
AppIDFlags = flags
Uwagi
Jest to wartość REG_DWORD.
Wartość flagi | Stały |
---|---|
0x1 | APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP |
0x2 | APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND |
0x4 | APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY |
opis APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP
Jeśli flaga APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP jest czyszczone w AppIDFlags lub jeśli appIDFlags nie istnieje, klient w sesji serwera terminalu wysyłający żądanie aktywacji dla serwera interakcyjnego użytkownika COM, będzie wiązać się z serwerem COM lub uruchomić i powiązać z serwerem COM na pulpicie "default" stacji okien "winsta0" stacji okien sesji w żądaniu aktywacji. Na przykład jeśli klient jest uruchomiony "winsta0\desktop1" sesji 3, żądanie aktywacji dla sesji 3 będzie wiązać się z, lub uruchomić i powiązać, serwer COM w sesji "winsta0\default" sesji 3, nawet jeśli wystąpienie serwera COM jest już uruchomione w "winsta0\desktop1" sesji 3.
Jeśli flaga APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP jest ustawiona w wartości AppIDFlags, com będzie wiązać się z lub uruchomić i powiązać, proces serwera uruchomiony na pulpicie klienta i sesji w żądaniu aktywacji. Na przykład jeśli klient jest uruchomiony "winsta0\desktop1" w sesji 3, żądanie aktywacji dla sesji 3 będzie wiązać się lub uruchomić i powiązać, serwer COM w sesji "winsta0\desktop1" w sesji 3, nawet jeśli wystąpienie serwera COM jest już uruchomione w "winsta0\default" w sesji 3.
Klient może użyć moniker sesji, aby określić sesję inną niż sesja klienta podczas wykonywania żądania aktywacji.
Flaga APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP ma zastosowanie tylko do serwerów COM skonfigurowanych do uruchamiania "interakcyjnego użytkownika".
opis APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND
Jeśli flaga APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND jest ustawiona w AppIDFlags, serwery COM skonfigurowane do uruchamiania "Aktywacja" zostaną uruchomione za pomocą deskryptora zabezpieczeń procesu, który umożliwia PROCESS_ALL_ACCESS identyfikator SID identyfikatora LOGOWANIA tokenu procesu. Ponadto właściciel deskryptora zabezpieczeń zostanie ustawiony na identyfikator SID identyfikatora LOGOWANIA tokenu procesu.
Jeśli flaga APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND jest ustawiona w AppIDFlags, serwery COM skonfigurowane do uruchamiania "Ten użytkownik" zostaną uruchomione z deskryptorem zabezpieczeń procesu, który umożliwia PROCESS_ALL_ACCESS w identyfikatorze SID logowania tokenu procesu. Ponadto właściciel deskryptora zabezpieczeń zostanie ustawiony na identyfikator SID identyfikatora LOGOWANIA tokenu procesu. Ponadto menedżer kontroli usług COM (SCM) modyfikuje token procesu serwera COM w następujący sposób:
- Dodaje identyfikator SID identyfikatora APPID do tokenu. Zapewnia on pełny dostęp identyfikatora SID identyfikatora APPID na domyślnej liście kontroli dostępu (DACL) tokenu. W systemie Windows Vista i nowszych wersjach systemu Windows udziela uprawnienia OwnerRights SID READ_CONTROL w domyślnej liście DACL tokenu. W starszych wersjach systemu Windows Vista ustawia właściciela tokenu na identyfikator SID identyfikatora APPID.
Podczas korzystania z flagi APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND należy wziąć pod uwagę następujące zagadnienia dotyczące zabezpieczeń:
- Flaga APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND ma być ustawiana przez serwery COM, które są uruchamiane w jednym z wbudowanych kontekstów zabezpieczeń usługi; albo konto NetworkService lub LocalService. Jeśli serwery personifikują uprzywilejowanych klientów i jeśli flaga APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND nie jest ustawiona, złośliwy kod uruchomiony w innych procesach z tym samym kontekstem zabezpieczeń może podnieść poziom uprawnień, przechwytując tokeny personifikacji uprzywilejowanych klientów z procesu serwera COM.
- Po ustawieniu flagi APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND com wzmacnia deskryptor zabezpieczeń obiektu procesu w przypadku serwerów COM Uruchom jako "Aktywator". W przypadku takich serwerów oczekuje się, że klient COM wzmocni token używany do aktywacji modelu COM.
- Po ustawieniu flagi APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND com wzmacnia deskryptor zabezpieczeń obiektu procesu w przypadku serwerów COM Uruchom jako "Ten użytkownik". Wzmacnia również token procesu serwera COM, ponieważ com SCM jest jednostką, która tworzy token.
Flaga APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND jest obsługiwana w systemach Windows XP, Windows Server 2003, Windows Vista i Windows Server 2008 tylko wtedy, gdy zastosowano poprawkę MSRC8322 (biuletyn zabezpieczeńMS09-012). Jest ona natywnie obsługiwana w systemie Windows 7 i nowszych wersjach systemu Windows.
Flaga APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND dotyczy tylko serwerów COM skonfigurowanych do uruchamiania "Aktywator" lub "Ten użytkownik". Nie dotyczy serwerów COM, które są usługami NT.
opis APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY
Jeśli flaga APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY jest ustawiona w AppIDFlags, program COM SCM wystawi żądania aktywacji obiektów do procesu serwera COM przy użyciu poziomu personifikacji RPC_C_IMP_LEVEL_IDENTIFY.
Jeśli flaga APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY nie jest ustawiona, program COM SCM będzie wysyłać żądania aktywacji obiektów do procesów serwera COM przy użyciu poziomu personifikacji RPC_C_IMP_LEVEL_IMPERSONATE.
Podczas korzystania z flagi APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY należy wziąć pod uwagę następujące zagadnienia dotyczące zabezpieczeń:
- Flaga APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY ma być używana przez serwery COM, które nie wykonują pracy w imieniu klientów w żądaniach aktywacji obiektów. W przypadku takich serwerów, gdy program COM SCM wystawia żądania aktywacji obiektów w RPC_C_IMP_LEVEL_IDENTIFY minimalizuje prawdopodobieństwo uprzywilejowanych tokenów z SE_IMPERSONATE_NAME poziomie wyświetlanym w procesie.
Flaga APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY jest obsługiwana w systemie Windows 7 i nowszych wersjach systemu Windows.
Tematy pokrewne
-
interakcyjne użytkownika