Code Access Security
Code Access Security (CAS) ist das Sicherheitsmodell in Microsofts .NET Framework und stellt Microsofts Lösung dar, nicht privilegierten und nicht vertrauten Code an der Ausführung sicherheitskritischer Aktionen zu hindern. Wird eine Assembly durch die Common Language Runtime (CLR) geladen, wird diese vor deren Ausführung inspiziert. Dabei wird festgestellt, zu welcher Sicherheitszone die Assembly gehört. Eine Sicherheitszone stellt dabei eine Ansammlung von Rechten dar.
Code, der sicherheitsrelevante Aufgaben durchführen will, muss seinerseits das Recht zur Ausführung dieser Aufgabe von der CLR erfragen. Dabei prüft die CLR mit einem Durchlauf durch die Aufrufliste (Engl. call stack), welche Rechte der Assembly durch die Zugehörigkeit zu einer Sicherheitsgruppe gewährt wurden und gewährt oder verbietet ihrerseits die Ausführung dieser Aufgabe.
Die Rechte einer Sicherheitszone werden vom Systemadministrator festgelegt.
In .NET Framework steht ein als Codezugriffssicherheit (englisch 'Code Access Security') bezeichnetes Sicherheitsverfahren zur Verfügung, das Computersysteme vor bösartigem, mobilem Code schützt, die geschützte Ausführung von Code unbekannter Herkunft ermöglicht und die absichtliche oder unabsichtliche Verletzung der Sicherheit durch vertrauenswürdigen Code verhindert. Mithilfe der Codezugriffssicherheit können für Code aufgrund des Ursprungs und weiterer Identitätsaspekte verschiedene Vertrauensebenen festgelegt werden. Um die Menge von Code zu verringern, für dessen Ausführung vollständige Vertrauenswürdigkeit erforderlich ist, werden die Vertrauensebenen für Code durch die Codezugriffssicherheit erzwungen. Der Einsatz der Codezugriffssicherheit kann die Wahrscheinlichkeit senken, dass Code durch bösartigen oder fehlerhaften Code missbraucht wird. Dadurch kann das Ausmaß Ihrer Haftung verringert werden, da sowohl die zulässigen als auch die unzulässigen Operationen für den Code festgelegt werden können. Codezugriffssicherheit kann auch den Schaden begrenzen, der durch Sicherheitsanfälligkeiten im Code entstehen kann.
Die Vorteile der Codezugriffssicherheit gelten für den gesamten verwalteten Code, der für die Common Language Runtime geschrieben wird, selbst wenn dieser die Codezugriffssicherheit nicht aufruft. Dennoch sollten alle Anwendungen Codezugriff anfordern.