Innehållsförteckning:
- Definition - Vad betyder Code Access Security (CAS)?
- Techopedia förklarar Code Access Security (CAS)
Definition - Vad betyder Code Access Security (CAS)?
Kodåtkomstsäkerhet (CAS) är en säkerhetsmekanism genom vilken den vanliga språk runtime (CLR) i .NET-ramverket kan begränsa den hanterade koden för att utföra operationer med en begränsad uppsättning behörigheter.
CAS verkställer säkerhetspolicyer i .NET-ramverket genom att förhindra obehörig åtkomst till skyddade resurser och operationer. Till skillnad från traditionella säkerhetsmetoder, där användaruppgifter erhålls från användaren, är CAS utformat för att hantera de problem som står inför när man skaffar kod från externa källor, som innehåller buggar och sårbarheter. Dessa buggar och sårbarheter kan göra att en användares system är sårbart för skadlig kod, vilket kan utföra uppgifter utan att användaren vet det. CAS vet och tillåter bara de operationer som en given användares kod kan och inte kan utföra. Den här funktionen är tillämplig på all hanterad kod som är inriktad på CLR.
CAS tillhandahåller evidensbaserad säkerhet byggd på ett lager ovanför säkerheten från Windows-operativsystemet. Medan Windows är baserat på användarens behörigheter, är CAS baserat på bevisen för montering. Församlingen innehåller behörigheterna som definieras i säkerhetspolicyn och utgör grunden för att tillåta kod att utföra nödvändiga åtgärder.
Techopedia förklarar Code Access Security (CAS)
CAS bygger på bland annat följande element:
- Behörigheter: Det här är de grundläggande rättigheterna som krävs för att få åtkomst till en skyddad resurs eller genomföra en skyddad operation.
- Behörighetsuppsättning: Detta är en uppsättning behörigheter, sådant "fullt förtroende", "ingenting", "Internet", "lokalt intranät" och andra.
- Kodgrupp: Detta är en logisk gruppering av kod med ett specificerat villkor för medlemskap som LocalIntranet_zone och Internet_zone.
- Bevis: Detta är monteringsrelaterad information som applikationskatalog, utgivare, URL och säkerhetszon.
- Säkerhetspolicy: Detta är en uppsättning regler som konfigurerats av en administratör för att bestämma behörigheterna för en kod som uttrycks hierarkiskt på fyra nivåer som företag, maskin, användare och applikationsdomän.
Den privilegierade operationen för kodutförande kräver CLR för en eller flera behörigheter. Den faktiska tillståndet beräknas med hjälp av sammanslutningen av tillstånd som ställts in i kodgrupperna och sedan en korsning på policynivå. CLR säkerställer att de begärda behörigheterna finns i de beviljade behörigheterna för metoden för den enheten. Om tillstånd inte beviljas kastas ett säkerhetsundantag.
CAS tillhandahåller två säkerhetslägen för att definiera behörigheter för kod:
- Deklarativ säkerhet implementeras genom att definiera säkerhetsattribut på monteringsnivå, klassnivå eller medlemsnivå. Deklarativt läge används när samtal måste utvärderas vid sammanställningstiden.
- Imperativ säkerhet använder anropsmetoder för att skapa instanser av säkerhetsklasser. Imperativt läge används när samtal måste utvärderas vid körning.
CAS har begränsningar, inklusive funktionsfel i en applikation som flyttats till ett annat system när säkerhetspolicyn är annorlunda. Dessutom finns det ingen kontroll över obegränsad kod och ingen kontroll över utvecklingen av applikationer för att tillgodose behoven i olika scenarier av säkerhetsinställningar på användarsystem.
För att effektivt kunna använda den finkorniga säkerhetstekniken för CAS, bör utvecklare skriva typsäker kod, använda deklarativt eller nödvändigt syntax baserat på kontext, begära behörigheter från körtid för att koden ska köras och använda säkra bibliotek.
