Individualschulungen
Entwicklung
Aktuelle Themen
.NET
JavaScript / TypeScript
Java
Programmiersprachen
Entwicklungswerkzeuge
Benutzeroberflächen / User Experience
Softwareengineering
KI in der Softwareentwicklung
Plattformen & Systeme
KI
Web & Cloud
Apps / Mobilplattformen
Datenbanken / Reporting / BI
Betriebssysteme & Virtualisierung
Microsoft Server-Produkte
Scripting
Windows & Office für Anwender
Soft Skills & IT-Recht
Das bieten nur wir
Umfangreicher Themenkatalog
Wählen Sie aus 1055 Themen
Weiterbildungsphilosophie
Individuelle Anpassung an Ihre Anforderungen
Didaktische Konzepte
Ganz nach Ihren Wünschen
Vorteile individueller Firmenseminare
Im Vergleich zu offenen Seminaren
Vor Ort oder online
Alles ist in Ihrem Hause oder online möglich
Top-Trainer
Die besten und renommiertesten Experten
Teilnehmerfeedback
Das sagen 9311 von insgesamt über 75000 Teilnehmern
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
1055 Themen, die frei anpassbar und kombinierbar sind
Gesamter Themenkatalog →
Offene Schulungen
Online-Trainings
.NET-Akademie
.NET/C#-Basisseminar
WPF
WinUI
.NET MAUI, Uno & Avalonia
Blazor
ASP.NET Core WebAPI
Entity Framework Core
Unit Testing / TDD
PowerShell
Alle Seminartermine
INFOTAGE
INFOTAG ".NET 12.0"
am 22.06.2027
INFOTAG "KI" 2027
am 15.09.2027
Das bieten nur wir
Renommierte Top-Trainer
Die besten und bekanntesten Experten schulen Sie!
Teilnehmerfeedback
Das sagen 9311 von insgesamt über 75000 Teilnehmern
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
Nicht das passende Thema dabei? Stellen Sie Ihre individuelle Firmenschulung aus 1055 Modulen zusammen!
Individualschulungen →
Beratung, Support & Entwicklung
Alle unsere Leistungen
Beratung
Beratung zu vielen technischen und methodischen Themen
Coaching
Projektbegleitende Unterstützung
Softwareentwicklung
Wir entwickeln einzelne Module oder ganze Anwendungen für Sie
Technischer Support
Support für einzelne technische Fragen
Individualschulungen
1055 Themen, die frei anpassbar und kombinierbar sind
Offene Seminare
Ausgewählte Themen bieten wir auch als öffentliche Online-Schulungen an.
Beratungsthemen
Anwendungsarchitektur
Datenbankzugriff/Data Access
DevOps
Frontend, GUI, UX
IT-Infrastruktur
Leistung/Performance
Machbarkeit und Prototyping
Methodik, Prozesse, Teamarbeit
Migration und Versionsumstieg
Mobilanwendungen
Reviews und Qualitätssicherung
Sicherheit/Security
Verteilte Systeme und Services
Webtechniken
Werkzeugauswahl
Weitere Themen
Auch alle Schulungsthemen sind als Beratung möglich!
Das bieten nur wir
Renommierte Top-Berater
Durch Vorträge und Veröffentlichungen sehr bekannte Experten
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
Referenzprojekte
Zahlreiche Referenzprojekte
Beratung vor Ort oder remote – flexibel nach Bedarf.
Zu den Beratungsthemen →
Wissen
Publikationen & Vorträge
Fachbücher
Fachartikel
Konferenzvorträge
Weblog
Spickzettel/Cheat Sheets
Lexikon/Glossar
Programmcodebibliothek
Fallbeispiele
Newsletter
Downloads
Themenportale
Übersicht
.NET/C#/Visual Studio
.NET 11.0
.NET 10.0
.NET 9.0
.NET 8.0
ASP.NET (Core)/Blazor
PowerShell
Versionshistorie
Konferenzen/Events
Community-/Leserportal
Suche
Themenkatalog
Tag Cloud
Volltextsuche
Site Map
FAQs
Schulungen, Beratung, Support, Coaching, Softwareentwicklung
Unsere kommerziellen Leistungen →
Über uns
Unternehmen
Zahlen
Selbstdarstellung
Kernkompetenzen
Dr. Holger Schwichtenberg
Unsere Top-Experten
Leitung & Kundenteam
Partner
Weitere Websites
Referenzen
Referenzkunden
Kundenaussagen
Referenzprojekte
Kontakt & Rechtliches
Kontakt
Impressum
Datenschutzerklärung, Haftung, Urheberrecht, Barrierefreiheit
Impressum, Datenschutz und Barrierefreiheit unter Kontakt & Rechtliches.
Rechtliches →
Erklärung des Begriffs: Code Access Security (CAS )
Begriff
Code Access Security
Abkürzung
CAS
Eintrag zuletzt aktualisiert am
05.01.2009
Zur Stichwortliste unseres Lexikons
Was ist
Code Access Security
?
Code Access Security (CAS) ist der Name für das Sicherheitssystem im
.NET Framework
. Es existiert seit Version 1.0 und wurde seitdem nur leicht erweitert.
Der Schutz vor schädlichen Codes wird ein immer wichtigeres Thema. In klassischen Programmierumgebungen basiert das Sicherheitssystem auf dem Sicherheitskontext des aktuell angemeldeten Benutzers: Was der Benutzer darf, darf auch der Programmcode, den dieser Benutzer ausführt. Das ist ein besonders großes Risiko bei der Ausführung von "mobilen" Programmcode, der aus unbekannter Quelle (z.B. aus dem Internet) auf das lokale System heruntergeladen und dort ausgeführt wird. Dieses Problem wird noch dadurch verschärft, dass die meisten Benutzer heute der Einfachheit halber unter Windows noch immer mit Administratorrechten arbeiten - ein heruntergeladenes Programm wird dann im Sicherheitskontext des Administrators ausgeführt und kann volle Kontrolle über das System erlangen. Um dies zu verhindern, wird die Anwendung in einer durch die
CLR
abgeschotteten Umgebung (Sandbox) ausgeführt, die anhand von Richtlinien den Zugriff auf Systemressourcen erlaubt oder unterbindet - und zwar unabhängig vom aktuell angemeldeten Benutzer.
Die
CLR
bietet ein Sicherheitssystem, das nicht mehr nur die Rechte des Benutzerkontos, unter dem der Code ausgeführt wird, berücksichtigt, sondern auch die Herkunft des Programmcodes. Das Sicherheitskonzept heißt Code Access Security (CAS) und ist die Weiterentwicklung des Zonenkonzepts des
Internet Explorer
s (MY
COM
PUTER, LOCAL INTRANET, TRUSTED SITES, INTERNET etc), des Microsoft Authenticode-Verfahrens zur digitalen Signierung von Programmcode und der Software Restriction Policy (SRP) in Windows (ab XP).
Die
CLR
ermittelt zur Bestimmung der Ausführungsrechte von
Managed Code
zunächst die Beweislage (engl. evidence). Zur Beweislage gehören insbesondere der Autor des Codes (hinterlegt durch das Authenticode-Verfahren) und der Speicherort des Codes (Zonenkonzept). Auf dieser Basis werden die Rechte des Codes ggf. eingeschränkt. Selbstverständlich erhält der Code niemals mehr Rechte als der Benutzer, unter dem der Code läuft, denn das Windows-Sicherheitssystem wirkt nach wie vor zusätzlich.
Die CAS kann durch die Definition von Code-Gruppen und Berechtigungssätzen sehr fein konfiguriert werden. Code-Gruppen definieren Herkunftsbedingungen und Berechtigungssätze definieren erlaubte Aktionen. Jeder Code-Gruppe kann genau ein Berechtigungssatz zugeordnet werden. Bei der Ausführung von Programmcode ordnet die
CLR
den Code in allen zutreffenden Code-Gruppen. Anschließend bildet die
CLR
die Vereinigungsmenge der Berechtigungssätze der zugeordneten Code-Gruppen. Bei referenzierten Assemblies werden auch die Rechte des Aufrufers berücksichtigt: Nur wenn die aufrufende
Assembly
die notwendigen Rechte besitzt, wird eine Aktion ausgeführt, selbst wenn die aufgerufene
Assembly
die Rechte besitzt.
Details
Eine Ressource wird grundsätzlich über eine sogenannte Permission abgesichert. Sie lassen sich, vergleichbar mit Benutzergruppen, zu sogenannten Permission Groups zusammenfassen. Eine Permission Group ist dabei immer einer Code Group zugeordnet und eine Code Group ihrerseits wird immer genau einer einzelnen, sogenannten Membership Condition zugewiesen. Über die Membership Condition erfolgt dann die Zuordnung zwischen den Merkmalen des heruntergeladenen Codes und der Code Group (und damit letztlich den gewährten Rechten).
Innerhalb einer Anwendung kann dann überprüft werden, ob ein Codefragment das Recht für den Zugriff auf eine Ressource besitzt oder nicht. Dazu wird ein sogenannter Demand ausgeführt, bei dem sämtlicher Code in der Aufrufkette überprüft wird, ob er das entsprechende Recht besitzt. Die Überprüfung der gesamten Aufrufkette wirkt sich bei langen Ketten auf die Leistung aus, hat aber den entscheidenden Vorteil, dass sogenannte „Luring Attacks“ nicht möglich sind. Ein Aufrufer kann sich ein Recht, das er nicht besitzt, auch nicht über Umwege beschaffen. Das heißt, ein Code mit weniger Rechten kann durch Aufruf einer
Assembly
mit mehr Rechten diese zusätzlichen Rechte erlangen.
Die gesamten CAS-Sicherheitseinstellungen werden in
XML
-
Konfigurationsdatei
en im /Config-Verzeichnis der
.NET Framework
-Installation abgelegt. Die Konfiguration ist möglich über die direkte Manipulation der
XML
-Dateien (nicht empfehlenswert), das Kommandozeilenwerkzeug caspol.exe oder ein mit dem
.NET Framework
SDK
installiertes
MMC
-Snap-In mit Namen "
.NET Conf
iguration".
Querverweise zu anderen Begriffen im Lexikon
Konfigurationsdatei
Internet Explorer (IE)
.NET Framework
Managed Code
.NET Conf
Assembly
Component Object Model (COM)
Microsoft Management Console (MMC)
Software Development Kit (SDK)
Extensible Markup Language (XML)
Common Language Runtime (CLR)
Beratung & Support
Anfrage für Beratung/Consulting zu CODE ACCESS SECURITY CAS
Gesamter Beratungsthemenkatalog
Technischer Support zum Thema CODE ACCESS SECURITY CAS
Schulungen
Anfrage für eine individuelle Schulung zum Thema CODE ACCESS SECURITY CAS
Gesamter Schulungsthemenkatalog
Fachbücher
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr