Zuhause Entwicklung Was ist Codezugriffssicherheit (cas)? - Definition aus techopedia

Was ist Codezugriffssicherheit (cas)? - Definition aus techopedia

Inhaltsverzeichnis:

Anonim

Definition - Was bedeutet Code Access Security (CAS)?

Code Access Security (CAS) ist ein Sicherheitsmechanismus, mit dem die Common Language Runtime (CLR) von .NET Framework den verwalteten Code so einschränken kann, dass Vorgänge mit einer begrenzten Anzahl von Berechtigungen ausgeführt werden.


CAS erzwingt Sicherheitsrichtlinien in .NET Framework, indem der unbefugte Zugriff auf geschützte Ressourcen und Vorgänge verhindert wird. Im Gegensatz zu herkömmlichen Sicherheitsmethoden, bei denen Benutzeranmeldeinformationen vom Benutzer abgerufen werden, wurde CAS so konzipiert, dass Probleme behoben werden, die beim Abrufen von Code aus externen Quellen auftreten, der Fehler und Schwachstellen enthält. Diese Fehler und Schwachstellen können das System eines Benutzers für bösartigen Code anfällig machen, der möglicherweise Aufgaben ausführt, ohne dass der Benutzer davon Kenntnis hat. CAS kennt und erlaubt nur die Operationen, die der Code eines bestimmten Benutzers ausführen kann und nicht. Diese Funktion gilt für alle verwalteten Codes, die auf die CLR abzielen.


CAS bietet evidenzbasierte Sicherheit, die auf einer Ebene über der vom Windows-Betriebssystem bereitgestellten Sicherheit basiert. Während Windows auf den Berechtigungen des Benutzers basiert, basiert CAS auf den Nachweisen für die Assembly. Die Assembly enthält die in der Sicherheitsrichtlinie definierten Berechtigungen und bildet die Grundlage dafür, dass Code die erforderlichen Aktionen ausführen kann.

Techopedia erklärt Code Access Security (CAS)

CAS baut unter anderem auf folgenden Elementen auf:

  1. Berechtigungen: Dies sind die grundlegenden Rechte, die erforderlich sind, um auf eine geschützte Ressource zuzugreifen oder einen geschützten Vorgang auszuführen.
  2. Berechtigungssatz: Hierbei handelt es sich um eine Reihe von Berechtigungen, z. B. "Volles Vertrauen", "Nichts", "Internet", "Lokales Intranet" und andere.
  3. Codegruppe: Dies ist eine logische Gruppierung von Code mit einer bestimmten Bedingung für die Mitgliedschaft, z. B. LocalIntranet_zone und Internet_zone.
  4. Beweis: Hierbei handelt es sich um Assembly-bezogene Informationen wie Anwendungsverzeichnis, Herausgeber, URL und Sicherheitszone.
  5. Sicherheitsrichtlinie: Hierbei handelt es sich um eine Reihe von Regeln, die von einem Administrator konfiguriert werden, um die Berechtigungen zu bestimmen, die für einen Code gewährt werden, der hierarchisch auf vier Ebenen als Unternehmens-, Computer-, Benutzer- und Anwendungsdomäne ausgedrückt wird.

Bei der Ausführung von Code mit Berechtigungen werden von der CLR eine oder mehrere Berechtigungen verlangt. Die tatsächliche Berechtigung wird anhand der Vereinigung der in den Codegruppen festgelegten Berechtigungen und einer Schnittmenge auf Richtlinienebene berechnet. Die CLR stellt sicher, dass die angeforderten Berechtigungen in den erteilten Berechtigungen der Methode dieser Assembly enthalten sind. Wenn keine Berechtigung erteilt wird, wird eine Sicherheitsausnahme ausgelöst.


CAS bietet zwei Sicherheitsmodi zum Definieren von Berechtigungen für Code:

  • Die deklarative Sicherheit wird implementiert, indem Sicherheitsattribute auf Assembly-, Klassen- oder Elementebene definiert werden. Der deklarative Modus wird verwendet, wenn Aufrufe zur Kompilierungszeit ausgewertet werden müssen.
  • Imperative Sicherheit verwendet Laufzeitmethodenaufrufe, um Instanzen von Sicherheitsklassen zu erstellen. Der imperative Modus wird verwendet, wenn Aufrufe zur Laufzeit ausgewertet werden müssen.

CAS hat Einschränkungen, einschließlich der Fehlfunktion einer Anwendung, die auf ein anderes System verschoben wurde, wenn die Sicherheitsrichtlinie abweicht. Darüber hinaus gibt es keine Kontrolle über nicht verwalteten Code und keine Kontrolle über die Entwicklung von Anwendungen, um den Anforderungen verschiedener Szenarien von Sicherheitseinstellungen auf Benutzersystemen gerecht zu werden.


Um die feinkörnige Sicherheitstechnologie von CAS effektiv nutzen zu können, sollten Entwickler typsicheren Code schreiben, je nach Kontext deklarative oder imperative Syntax verwenden, Berechtigungen zur Ausführung des Codes zur Laufzeit anfordern und sichere Bibliotheken verwenden.

Was ist Codezugriffssicherheit (cas)? - Definition aus techopedia