AppIDFlags
En uppsättning flaggor som styr aktiveringsbeteendet för en COM-server.
Registerpost
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{AppID_GUID}
AppIDFlags = flags
Anmärkningar
Det här är ett REG_DWORD värde.
Flagga värde | 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 beskrivning
Om flaggan APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP avmarkeras i AppIDFlags eller om AppIDFlags inte finns, klienten i en terminalserversession som gör en aktiveringsbegäran för en interaktiv användare COM-server, antingen binder till eller startar och binder till COM-servern i "standard"-skrivbordet för "winsta0" fönsterstation av sessionen i aktiveringsbegäran. Om klienten till exempel kör "winsta0\desktop1" av session 3 binder aktiveringsbegäran för session 3 antingen till eller startar och binder till COM-servern i "winsta0\default" av session 3, även om en instans av COM-servern redan körs i "winsta0\desktop1" i session 3.
Om flaggan APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP anges i värdet AppIDFlags binder COM antingen till eller startar och binder till serverprocessen som körs på klientens skrivbord och sessionen i aktiveringsbegäran. Om klienten till exempel kör "winsta0\desktop1" i session 3 binder aktiveringsbegäran för session 3 antingen till eller startar och binder till COM-servern i "winsta0\desktop1" i session 3, även om en instans av COM-servern redan körs i "winsta0\default" i session 3.
Klienten kan använda sessionsmoniker för att ange en annan session än klientens session när den gör aktiveringsbegäran.
Flaggan APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP gäller endast för COM-servrar som är konfigurerade för RunAs "Interactive User".
APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND beskrivning
Om flaggan APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND anges i AppIDFlagsstartas COM-servrar som är konfigurerade för RunAs "Activator" med en processsäkerhetsbeskrivning som gör att PROCESS_ALL_ACCESS till inloggnings-ID-SID för processtoken. Dessutom anges ägaren till säkerhetsbeskrivningen till inloggnings-SID för processtoken.
Om flaggan APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND anges i AppIDFlagsstartas COM-servrar som är konfigurerade för RunAs "Den här användaren" med en processsäkerhetsbeskrivning som tillåter PROCESS_ALL_ACCESS i inloggnings-ID-SID för processtoken. Dessutom anges ägaren till säkerhetsbeskrivningen till inloggnings-SID för processtoken. Dessutom ändrar COM Service Control Manager (SCM) token för COM-serverprocessen enligt följande:
- Det lägger till ett APPID-SID i token. Den ger APPID SID fullständig åtkomst i dacl-listan (default discretionary access control list). I Windows Vista och senare versioner av Windows ger det OwnerRights SID-READ_CONTROL behörighet i standard-DACL för token. I förhandsversioner av Windows Vista anger den tokenägaren till APPID SID.
Följande säkerhetsöverväganden måste beaktas när du använder flaggan APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND:
- Flaggan APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND är avsedd att anges av COM-servrar som startas i en av de inbyggda säkerhetskontexterna för tjänster. antingen NetworkService- eller LocalService-kontona. Om servrarna personifierar privilegierade klienter och om flaggan APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND inte har angetts kan skadlig kod som körs i andra processer med samma säkerhetskontext öka behörigheten genom att kapa personifieringstoken för privilegierade klienter från COM-serverprocessen.
- När flaggan APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND har angetts hårdnar COM säkerhetsbeskrivningen för processobjektet när det gäller COM-servrar med RunAs "Activator". För sådana servrar förväntas COM-klienten härda den token som används för COM-aktiveringen.
- När APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND-flaggan har angetts, hårdnar COM säkerhetsbeskrivningen för processobjektet när det gäller RUNAs COM-servrar med typen "Den här användaren". Det härdar även processtoken för COM-servern eftersom COM SCM är entiteten som skapar token.
Flaggan APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND stöds endast i Windows XP, Windows Server 2003, Windows Vista och Windows Server 2008 när den MSRC8322 korrigeringen (säkerhetsbulletinen MS09-012) tillämpas. Det stöds internt i Windows 7 och senare versioner av Windows.
Flaggan APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND gäller endast för COM-servrar som är konfigurerade för RunAs "Activator" eller "This User". Den gäller inte för COM-servrar som är NT-tjänster.
APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY Beskrivning
Om flaggan APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY anges i AppIDFlagsutfärdar COM SCM objektaktiveringsbegäranden till COM-serverprocessen med hjälp av en personifieringsnivå på RPC_C_IMP_LEVEL_IDENTIFY.
Om flaggan APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY inte har angetts utfärdar COM SCM objektaktiveringsbegäranden till COM-serverprocesserna med hjälp av en personifieringsnivå på RPC_C_IMP_LEVEL_IMPERSONATE.
Följande säkerhetsöverväganden måste beaktas när du använder flaggan APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY:
- Flaggan APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY är avsedd att användas av COM-servrar som inte utför arbete åt klienter i objektaktiveringsbegäranden. Om COM SCM utfärdar objektaktiveringsbegäranden på RPC_C_IMP_LEVEL_IDENTIFY för sådana servrar minimeras risken för privilegierade token med SE_IMPERSONATE_NAME nivå som visas i processen.
Flaggan APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY stöds i Windows 7 och senare versioner av Windows.
Relaterade ämnen