Indholdsfortegnelse:
- Definition - Hvad betyder Code Access Security (CAS)?
- Techopedia forklarer Code Access Security (CAS)
Definition - Hvad betyder Code Access Security (CAS)?
Kodeadgangssikkerhed (CAS) er en sikkerhedsmekanisme, hvormed den fælles sprogkørselstid (CLR) i .NET-rammen kan begrænse den administrerede kode til at udføre operationer med et begrænset sæt tilladelser.
CAS håndhæver sikkerhedspolitikker i .NET-rammen ved at forhindre uautoriseret adgang til beskyttede ressourcer og operationer. I modsætning til traditionelle sikkerhedsmetoder, hvor brugeroplysninger fås fra brugeren, er CAS designet til at løse de problemer, der står overfor, når man henter kode fra eksterne kilder, som indeholder fejl og sårbarheder. Disse fejl og sårbarheder kan gøre en brugers system sårbart over for ondsindet kode, som muligvis udfører opgaver uden at brugeren ved det. CAS kender faktisk og tillader kun de operationer, en given brugers kode kan og ikke kan udføre. Denne funktion er relevant for al administreret kode, der er målrettet mod CLR.
CAS leverer evidensbaseret sikkerhed bygget på et lag over sikkerheden leveret af Windows-operativsystemet. Mens Windows er baseret på brugerens tilladelser, er CAS baseret på beviset for samlingen. Samlingen indeholder tilladelserne defineret i sikkerhedspolitikken og danner grundlaget for at tillade kode at udføre nødvendige handlinger.
Techopedia forklarer Code Access Security (CAS)
CAS bygger blandt andet på følgende elementer:
- Tilladelser: Dette er de grundlæggende rettigheder, der er nødvendige for at få adgang til en beskyttet ressource eller udføre en beskyttet handling.
- Tilladelsessæt: Dette er et sæt tilladelser, sådan "fuld tillid", "intet", "Internet", "lokalt intranet" og andre.
- Kodegruppe: Dette er en logisk gruppering af kode med en specificeret betingelse for medlemskab såsom LocalIntranet_zone og Internet_zone.
- Bevis: Dette er monteringsrelateret information såsom applikationsbibliotek, udgiver, URL og sikkerhedszone.
- Sikkerhedspolitik: Dette er et sæt regler, der er konfigureret af en administrator til at bestemme de tilladelser, der er tildelt for en kode udtrykt hierarkisk på fire niveauer som virksomheds-, maskine-, bruger- og applikationsdomæne.
Den privilegerede operation, der udfører kode, kræver CLR for en eller flere tilladelser. Den faktiske tilladelse beregnes ved hjælp af sammenslutningen af tilladelse, der er angivet i kodegrupperne og derefter et kryds på politiniveau. CLR sikrer, at de krævede tilladelser er i de tildelte tilladelser for metoden til denne samling. Hvis der ikke gives tilladelse, kastes en sikkerhedsundtagelse.
CAS leverer to sikkerhedstilstande til at definere tilladelser til kode:
- Deklarativ sikkerhed implementeres ved at definere sikkerhedsattributter på samlingsniveau, klasseniveau eller medlemsniveau. Deklarativ tilstand bruges, når opkald skal evalueres på kompileringstidspunktet.
- Imperativ sikkerhed bruger opkald til metodekørsel til at oprette forekomster af sikkerhedsklasser. Imperativ tilstand bruges, når opkald skal evalueres på kørselstidspunktet.
CAS har begrænsninger, herunder funktionsfejl i en applikation, der flyttes til et andet system, når sikkerhedspolitikken er anderledes. Derudover er der ingen kontrol over ustyret kode og ingen kontrol med udviklingen af applikationer til at imødekomme behovene i forskellige scenarier af sikkerhedsindstillinger på brugersystemer.
For effektivt at bruge den finkornede sikkerhedsteknologi fra CAS, skal udviklere skrive typesikker kode, bruge erklærende eller imperativ syntaks baseret på kontekst, anmode om tilladelser fra kørselstid for kode at køre og bruge sikre biblioteker.
