Tillgångstoken

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 24 februari 2019; kontroller kräver 6 redigeringar .

En  åtkomsttoken är ett programobjekt i operativsystem av Microsoft Windows -klassen som innehåller sessionssäkerhetsinformation och identifierar en användare, användargrupp och användarrättigheter.

Översikt

En åtkomsttoken är ett objekt som kapslar in en process säkerhetsdeskriptor [1] . Tillämpad på en process identifierar säkerhetsdeskriptorn ägaren till objektet [2] [3] . Så länge som markören endast används för att representera säkerhetsinformation är den tekniskt fri i sitt innehåll och kan innehålla vilken data som helst. Åtkomsttoken används av Windows när en process försöker interagera med objekt vars säkerhetsdeskriptorer kräver åtkomstkontroll [1] . En åtkomsttoken representeras av ett systemobjekt av typen Token . Eftersom token är ett vanligt systemobjekt kan åtkomst till själva token styras med en säkerhetsdeskriptor, men detta görs vanligtvis aldrig i praktiken.

En åtkomsttoken genereras av inloggningstjänsten när en användare registrerar sig och autentiseras framgångsrikt genom att ange användarens rättigheter i säkerhetsbeskrivningen som är inkluderad i token. Token är kopplad till varje process som skapas av användarens session (processer som ägs av användaren) [1] . Närhelst en sådan process begär någon åtkomstkontrollerad resurs, tittar Windows i säkerhetsbeskrivningen i åtkomsttoken för att se om användaren, ägaren av processen, har tillgång till data, och i så fall vilka operationer (läs, skriv/ modifiera) han är tillåten. Om operationen tillåts i sammanhanget för den givna användaren tillåter Windows processen att fortsätta, om inte, nekar den åtkomst.

Åtkomsttokentyper

Det finns två typer av åtkomsttokens:

Primär åtkomsttoken

Primära åtkomsttokens kan bara associeras med en process och är säkerhetsobjektet för processen. Att skapa primära tokens och associera dem med en process är privilegierade operationer som kräver två olika privilegier (för att separera privilegier). I ett typiskt scenario skapar identitetstjänsten en token och inloggningstjänsten associerar den med användarens operativsystemskal . Vid skapandet ärver nya processer en kopia av den överordnade processens primära token.

Imiterar åtkomsttokens

Imitation är ett säkerhetskoncept som är unikt för Windows NT som tillåter en serverapplikation att tillfälligt "vara" en klient för att komma åt ett skyddat objekt. Imitation består av tre möjliga nivåer: identifiering, som gör det möjligt för servern att autentisera klienten, identitetsstöld, som gör att servern kan agera på uppdrag av klienten, och delegering, samma som personifiering, endast utvidgas till att fungera med fjärrsystem som servern kommunicerar med. Klienten kan välja högsta möjliga nivå av identitetsstöld på servern i anslutningsparametern. Delegering och identitetsstöld är privilegierade operationer. Att imitera åtkomsttokens kan endast associeras med trådar och är säkerhetsämnen i klientprocessen. Imitationstokens skapas vanligtvis och associeras med den aktuella tråden implicit med hjälp av IPC- mekanismer som DCE RPC , DDE och namngivna rör .

Komponenter i en åtkomsttoken

En åtkomsttoken består av olika fält, inklusive men inte begränsat till följande:

  • identifierare ;
  • identifieraren för den associerade inloggningssessionen. Sessionen underhålls av identitetstjänsten och fylls med identitetspaket med en samling av all information (legitimationsuppgifterna) som användaren tillhandahåller under inloggningen. Mandatet används för att komma åt fjärrsystem utan att behöva omidentifiera klienten, förutsatt att alla inblandade system delar identitetsinformation.
  • användar ID. Detta fält är det viktigaste och är skrivskyddat.
  • identifieraren för de grupper som användaren (eller, mer exakt, ämnet) är en del av. Grupp-ID:n kan inte tas bort, men kan inaktiveras. Som mest tilldelas en av grupperna en sessionsidentifierare, en godtycklig grupp som representerar inloggningssessionen, som tillåter åtkomst till de olika objekt som är associerade med sessionen.
  • begränsande gruppidentifierare (fältet är valfritt). Detta är en extra uppsättning grupper som inte ger ytterligare åtkomst, utan begränsar den: åtkomst till ett objekt är endast öppet om det också är öppet för en av dessa grupper. Den här typen av grupp kan inte tas bort eller inaktiveras.
  • privilegier, det vill säga användarens speciella kapacitet. De flesta privilegier är inaktiverade som standard för att förhindra eventuell skada från dåligt skyddade program. Från och med Windows XP Service Pack 2 och Windows Server 2003 kan privilegier tas bort från en åtkomsttoken genom att anropa AdjustTokenPrivileges() med attributet SE_PRIVILEGE_REMOVE.

Standardägare, primär grupp och ACL för objekt skapade av ämnet som är kopplat till användartoken.

Anteckningar

  1. 1 2 3 Access Tokens Arkiverade 21 juli 2012 på Wayback Machine  
  2. Säkerhetsbeskrivningar Arkiverade 5 augusti 2011 på Wayback Machine  
  3. Säkerbara objekt Arkiverade 5 augusti 2011 på Wayback Machine