AppIDFlags
Een set vlaggen waarmee het activeringsgedrag van een COM-server wordt bepaald.
Registervermelding
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{AppID_GUID}
AppIDFlags = flags
Opmerkingen
Dit is een REG_DWORD waarde.
Vlagwaarde | Constant |
---|---|
0x1 | APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP |
0x2 | APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND |
0x4 | APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY |
APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP beschrijving
Als de APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP vlag is gewist in AppIDFlags- of als AppIDFlags- niet aanwezig is, de client in een terminalserversessie die een activeringsaanvraag indient voor een Interactive User COM-server, bindt met de COM-server of start en bindt aan, de COM-server op het 'standaard' bureaublad van het vensterstation winsta0 van de sessie in de activeringsaanvraag. Als de client bijvoorbeeld winsta0\desktop1 van sessie 3 uitvoert, wordt de activeringsaanvraag voor sessie 3 gebonden aan de COM-server in 'winsta0\default' van sessie 3, zelfs als een exemplaar van de COM-server al wordt uitgevoerd in 'winsta0\desktop1' van sessie 3.
Als de vlag APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP is ingesteld in de AppIDFlags-waarde, wordt com verbonden met het serverproces dat wordt uitgevoerd op het bureaublad van de client en de sessie in de activeringsaanvraag, gekoppeld aan of gestart en verbonden. Als de client bijvoorbeeld winsta0\desktop1 uitvoert in sessie 3, wordt de activeringsaanvraag voor sessie 3 gebonden aan of gestart en verbonden met de COM-server in 'winsta0\desktop1' in sessie 3, zelfs als een exemplaar van de COM-server al wordt uitgevoerd in 'winsta0\default' in sessie 3.
De client kan de sessie moniker gebruiken om een andere sessie dan de sessie van de client op te geven wanneer de activeringsaanvraag wordt ingediend.
De APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP vlag is alleen van toepassing op COM-servers die zijn geconfigureerd voor RunAs 'Interactive User'.
beschrijving van APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND
Als de vlag APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND is ingesteld in AppIDFlags, worden COM-servers die zijn geconfigureerd voor RunAs 'Activator' gestart met een procesbeveiligingsdescriptor waarmee PROCESS_ALL_ACCESS de aanmeldings-SID van het procestoken. Daarnaast wordt de eigenaar van de beveiligingsdescriptor ingesteld op de aanmeldings-SID van het procestoken.
Als de vlag APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND is ingesteld in AppIDFlags, worden COM-servers die zijn geconfigureerd voor RunAs 'Deze gebruiker' gestart met een procesbeveiligingsdescriptor waarmee PROCESS_ALL_ACCESS in de aanmeldings-ID van het procestoken wordt toegestaan. Daarnaast wordt de eigenaar van de beveiligingsdescriptor ingesteld op de aanmeldings-SID van het procestoken. Verder wijzigt COM Service Control Manager (SCM) het token van het COM-serverproces als volgt:
- Er wordt een APPID-SID toegevoegd aan het token. Het verleent de APPID SID volledige toegang in de token standaard discretionaire toegangsbeheerlijst (DACL). In Windows Vista en latere versies van Windows verleent deze de OwnerRights SID READ_CONTROL machtiging in de standaard DACL van het token. In pre-Windows Vista-versies van Windows wordt de eigenaar van het token ingesteld op de APPID SID.
Bij het gebruik van de vlag APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND moet rekening worden gehouden met de volgende beveiligingsoverwegingen:
- De APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND vlag is bedoeld om te worden ingesteld door COM-servers die worden gestart onder een van de ingebouwde servicebeveiligingscontexten; ofwel de NetworkService- of de LocalService-accounts. Als de servers bevoegde clients imiteren en als de vlag APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND niet is ingesteld, kan schadelijke code die wordt uitgevoerd in andere processen met dezelfde beveiligingscontext bevoegdheden verhogen door de imitatietokens van de bevoegde clients van het COM-serverproces te kapen.
- Wanneer de vlag APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND is ingesteld, beveiligt COM de beveiligingsdescriptor van het procesobject in het geval van RunAs Activator COM-servers. Voor dergelijke servers wordt verwacht dat de COM-client het token dat wordt gebruikt voor de COM-activering wordt beveiligd.
- Wanneer de vlag APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND is ingesteld, beveiligt COM de beveiligingsdescriptor van het procesobject in het geval van RunAs 'Deze gebruiker' COM-servers. Ook wordt het procestoken van de COM-server beveiligd, omdat de COM SCM de entiteit is die het token maakt.
De vlag APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND wordt alleen ondersteund in Windows XP, Windows Server 2003, Windows Vista en Windows Server 2008 wanneer de MSRC8322 patch (beveiligingsbulletin MS09-012) wordt toegepast. Het wordt systeemeigen ondersteund in Windows 7 en latere versies van Windows.
De vlag APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND is alleen van toepassing op COM-servers die zijn geconfigureerd voor RunAs Activator of Deze gebruiker. Het is niet van toepassing op COM-servers die NT-services zijn.
APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY beschrijving
Als de APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY vlag is ingesteld in AppIDFlags, geeft de COM SCM objectactiveringsaanvragen uit aan het COM-serverproces met behulp van een imitatieniveau van RPC_C_IMP_LEVEL_IDENTIFY.
Als de APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY vlag niet is ingesteld, geeft de COM SCM objectactiveringsaanvragen uit aan de COM-serverprocessen met behulp van een imitatieniveau van RPC_C_IMP_LEVEL_IMPERSONATE.
Bij het gebruik van de vlag APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY moet rekening worden gehouden met de volgende beveiligingsoverwegingen:
- De vlag APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY is bedoeld om te worden gebruikt door COM-servers die geen werk uitvoeren namens clients in objectactiveringsaanvragen. Voor dergelijke servers beperkt het feit dat de COM SCM objectactiveringsaanvragen op RPC_C_IMP_LEVEL_IDENTIFY de kans op bevoegde tokens met SE_IMPERSONATE_NAME niveau dat in het proces wordt weergegeven, wordt geminimaliseerd.
De vlag APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY wordt ondersteund in Windows 7 en latere versies van Windows.
Verwante onderwerpen