Innholdsfortegnelse:
Definisjon - Hva betyr Code Access Security (CAS)?
Code access security (CAS) er en sikkerhetsmekanisme der den vanlige språk runtime (CLR) i .NET-rammeverket kan begrense den administrerte koden til å utføre operasjoner med et begrenset sett med tillatelser.
CAS håndhever sikkerhetspolicyer i .NET-rammen ved å forhindre uautorisert tilgang til beskyttede ressurser og operasjoner. I motsetning til tradisjonelle sikkerhetsmetoder, der brukerlegitimasjon er innhentet fra brukeren, er CAS designet for å løse problemene man møter når man henter kode fra eksterne kilder, som inneholder feil og sårbarheter. Disse feilene og sikkerhetsproblemene kan gjøre brukerens system sårbart for ondsinnet kode, som kan utføre oppgaver uten at brukeren vet det. CAS vet og tillater bare de operasjonene en gitt brukers kode kan og ikke kan utføre. Denne funksjonen er relevant for all administrert kode som er målrettet mot CLR.
CAS leverer evidensbasert sikkerhet bygget på et lag over sikkerheten gitt av Windows-operativsystemet. Mens Windows er basert på brukerens tillatelser, er CAS basert på bevisene for forsamlingen. Samlingen inneholder tillatelsene definert i sikkerhetspolicyen og danner grunnlaget for å la kode utføre nødvendige handlinger.
Techopedia forklarer Code Access Security (CAS)
CAS er blant annet bygd på følgende elementer:
- Tillatelser: Dette er de grunnleggende rettighetene som trengs for å få tilgang til en beskyttet ressurs eller utføre en beskyttet operasjon.
- Tillatelsessett: Dette er et sett med tillatelser, slik "full tillit", "ingenting", "Internett", "lokalt intranett" og andre.
- Kodegruppe: Dette er en logisk gruppering av kode med en spesifisert betingelse for medlemskap som LocalIntranet_zone og Internet_zone.
- Bevis: Dette er monteringsrelatert informasjon som applikasjonskatalog, utgiver, URL og sikkerhetssone.
- Sikkerhetspolicy: Dette er et sett med regler som er konfigurert av en administrator for å bestemme tillatelsene som gis for en kode uttrykt hierarkisk på fire nivåer som enterprise-, maskin-, bruker- og applikasjonsdomener.
Den privilegerte operasjonen med kodeutførelse krever CLR for en eller flere tillatelser. Den faktiske tillatelsen beregnes ved bruk av tillatelsesforeningen som er satt i kodegruppene og deretter et kryss på politikknivå. CLR sørger for at de etterspurte tillatelsene er i de tillatte tillatelsene til metoden for den enheten. Hvis det ikke gis tillatelse, kastes et sikkerhets unntak.
CAS har to sikkerhetsmodus for å definere tillatelser for kode:
- Deklarativ sikkerhet implementeres ved å definere sikkerhetsattributter på forsamlingsnivå, klassetrinn eller medlemsnivå. Deklarativ modus brukes når samtaler må evalueres på kompileringstidspunktet.
- Imperativ sikkerhet bruker anropsmetoder for å lage forekomster av sikkerhetsklasser. Imperativ modus brukes når samtaler må evalueres på kjøretid.
CAS har begrensninger, inkludert funksjonsfeil i en applikasjon som er flyttet til et annet system når sikkerhetspolitikken er annerledes. I tillegg er det ingen kontroll på ubehandlet kode og ingen kontroll over utviklingen av applikasjoner for å imøtekomme behovene til forskjellige scenarier med sikkerhetsinnstillinger på brukersystemer.
For å effektivt bruke den finkornede sikkerhetsteknologien til CAS, bør utviklere skrive typesikker kode, bruke erklærende eller imperativ syntaks basert på kontekst, be om tillatelser fra kjøretid for kode å kjøre og bruke sikre biblioteker.





