Inhoudsopgave:
- Definitie - Wat betekent Code Access Security (CAS)?
- Techopedia verklaart Code Access Security (CAS)
Definitie - Wat betekent Code Access Security (CAS)?
Codetoegangsbeveiliging (CAS) is een beveiligingsmechanisme waarmee de Common Language Runtime (CLR) van .NET Framework de beheerde code kan beperken om bewerkingen uit te voeren met een beperkte reeks machtigingen.
CAS handhaaft beveiligingsbeleid in het .NET-framework door ongeautoriseerde toegang tot beschermde bronnen en bewerkingen te voorkomen. In tegenstelling tot traditionele beveiligingsmethoden, waarbij gebruikersreferenties van de gebruiker worden verkregen, is CAS ontworpen om de problemen aan te pakken waarmee wordt geconfronteerd bij het verkrijgen van code van externe bronnen, die bugs en kwetsbaarheden bevatten. Deze bugs en kwetsbaarheden kunnen het systeem van een gebruiker kwetsbaar maken voor kwaadaardige code, die mogelijk taken uitvoert zonder dat de gebruiker het weet. CAS kent en staat alleen die bewerkingen toe die een bepaalde gebruikerscode wel en niet kan uitvoeren. Deze functie is van toepassing op alle beheerde code die is gericht op de CLR.
CAS biedt evidence-based beveiliging gebouwd op een laag boven de beveiliging van het Windows-besturingssysteem. Hoewel Windows is gebaseerd op de machtigingen van de gebruiker, is CAS gebaseerd op het bewijsmateriaal voor de assemblage. De assembly bevat de machtigingen die zijn gedefinieerd in het beveiligingsbeleid en vormt de basis voor het toestaan van code om noodzakelijke acties uit te voeren.
Techopedia verklaart Code Access Security (CAS)
CAS is onder meer gebaseerd op de volgende elementen:
- Machtigingen: dit zijn de basisrechten die nodig zijn om toegang te krijgen tot een beveiligde bron of een beveiligde bewerking uit te voeren.
- Machtigingenset: dit is een verzameling machtigingen, zoals 'volledig vertrouwen', 'niets', 'internet', 'lokaal intranet' en andere.
- Codegroep: dit is een logische groepering van code met een opgegeven voorwaarde voor lidmaatschap, zoals LocalIntranet_zone en Internet_zone.
- Bewijs: dit is assemblagegerelateerde informatie zoals applicatiedirectory, uitgever, URL en beveiligingszone.
- Beveiligingsbeleid: dit is een set regels die door een beheerder zijn geconfigureerd om de machtigingen te bepalen die worden verleend voor een hiërarchisch uitgedrukte code op vier niveaus als onderneming, machine, gebruiker en toepassingsdomein.
De bevoorrechte bewerking voor het uitvoeren van code vereist de CLR voor een of meer machtigingen. De daadwerkelijke machtiging wordt berekend met behulp van de unie van machtigingen die is ingesteld in de codegroepen en vervolgens een kruising op beleidsniveau. De CLR zorgt ervoor dat de gevraagde machtigingen in de verleende machtigingen van de methode van die vergadering vallen. Als er geen toestemming wordt verleend, wordt een beveiligingsuitzondering gegenereerd.
CAS biedt twee beveiligingsmodi om machtigingen voor code te definiëren:
- Declaratieve beveiliging wordt geïmplementeerd door beveiligingsattributen te definiëren op assemblageniveau, klassenniveau of ledenniveau. Declaratieve modus wordt gebruikt wanneer oproepen tijdens het compileren moeten worden geëvalueerd.
- Imperatieve beveiliging gebruikt aanroepen van de runtime-methode om instanties van beveiligingsklassen te maken. De gebiedermodus wordt gebruikt wanneer oproepen tijdens runtime moeten worden geëvalueerd.
CAS heeft beperkingen, waaronder het niet goed werken van een toepassing die naar een ander systeem is verplaatst wanneer het beveiligingsbeleid anders is. Bovendien is er geen controle over onbeheerde code en geen controle over de ontwikkeling van applicaties om tegemoet te komen aan de behoeften van verschillende scenario's van beveiligingsinstellingen op gebruikerssystemen.
Om effectief gebruik te kunnen maken van de verfijnde beveiligingstechnologie van CAS, moeten ontwikkelaars typeveilige code schrijven, declaratieve of imperatieve syntaxis gebruiken op basis van context, machtigingen aanvragen tijdens uitvoering voor code en veilige bibliotheken gebruiken.








