Systemschutz mit Code Access Security

Wegen Sicherheitsbedenken waren Systemarchitekten in der Vergangenheit gezwungen, sich zwischen der gut ausgestatteten Benutzeroberfläche von Windows oder der Reichweite von Systemen zu entscheiden, die mit Standard-Internetprotokoll gestaltet wurden. Weder Sun mit seinen Java-Applets noch Microsoft mit seinen ActiveX Controls haben die Kombination von Sicherheit und Stabilität bereitstellen können, die sowohl Entwickler als auch die Sicherheitsingenieure von Firmen zufrieden stellen. Der Grund ist, dass herkömmliche Desktop-Betriebssysteme, die es erlauben, Code auf der Zielplattform laufen zu lassen, einen von zwei Sicherheitsmechanismen wählen: Der Code wird entweder in einer geschlossenen Umgebung (sog. Sandbox) ausgeführt oder mit der Erlaubnis des Users. Das .NET Framework erlaubt dem Entwickler die Nutzung beider Mechanismen, fügt aber noch einen dritten hinzu: Code Access Security.

Bei diesem Ansatz wird der Code auf der Zielplattform ausgeführt, wobei eine Reihe von vorher festgelegten Systemberechtigungen und der Quellcode selbst maßgeblich sind. Wenn die Common Language Runtime (CLR) eine ausführbare Datei lädt, untersucht sie den zugrundeliegenden Code und weist ihm eine bestimmte Vertrauenswürdigkeitsstufe zu, die den Zugang des Codes zu allen geschützten Systemressourcen kontrolliert. Diese Vertrauenswürdigkeitsstufe wird mit der voreingestellte Sicherheitsrichtlinie verglichen, die als Teil des Standard-.NET Frameworks installiert wird. Zum Beispiel definiert die voreingestellte Standardsicherheitsrichtlinie Dateien, die von der CLR vom lokalen Dateisystem geladen werden, als Dateien lokalen Ursprungs. Weiterhin erlaubt die voreingestellte Standardsicherheitsrichtlinie Dateien lokalen Ursprungs Zugang zu bestimmten Systemressourcen. Wenn man Systeme baut, die von dieser Eigenschaft Gebrauch machen, dann kann ein Architekt Applikationen erstellen, bei denen die CLR automatisch gegen versehentliche oder auch bösartige Versuche schützt, auf die Ressourcen des Systems zuzugreifen.

Was kann man mit Code Access Security schützen?

Das .NET Framework besitzt viele verschiedene Klassen, für die man Berechtigungen definieren kann. Dazu gehören Berechtigungen für den Zugang zu Logdateien des Systems, zu Umgebungsvariablen, zu lokalen Dateien und sogar zu Teilen der Benutzeroberfläche, wie der Zwischenablage. Es gibt auch Klassen, die es einem Entwickler erlauben, die Fähigkeit eines Programms zu kontrollieren, auf SQL- (SQLClientPermission) oder OLE-Datenbanken (OLEDBPermission) zuzugreifen, auf Systemgeräten etwas zu drucken (PrintingPermission), TCP/IP-Verbindungen herzustellen oder zu akzeptieren (SocketPermission) und sogar den Zugang zum Internet zu kontrollieren (WebPermission). Man braucht ein paar Grundkenntnisse, um zu verstehen, wie Code Access Security funktioniert, um auf einem System von diesen Möglichkeiten Gebrauch zu machen.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Microsoft nennt weitere Details zu kostenpflichtigen Patches für Windows 10

Erstmals liegen Preise für Verbraucher vor. Sie zahlen weniger als Geschäftskunden. Dafür beschränkt Microsoft den…

2 Stunden ago

Microsoft verschiebt erneut Copilot Recall

Die Entwickler arbeiten noch an weiteren „Verfeinerungen“. Windows Insider erhalten nun wohl eine erste Vorschau…

20 Stunden ago

GenKI im Job: Mitarbeitende schaffen Tatsachen

Laut Bitkom-Umfrage werden in jedem dritten Unternehmen in Deutschland private KI-Zugänge genutzt. Tendenz steigend.

22 Stunden ago

97 Prozent der Großunternehmen melden Cyber-Vorfälle

2023 erlitten neun von zehn Unternehmen in der DACH-Region Umsatzverluste und Kurseinbrüche in Folge von…

23 Stunden ago

„Pacific Rim“-Report: riesiges, gegnerisches Angriffs-Ökosystem

Der Report „Pacific Rim“ von Sophos beschreibt Katz-und-Maus-Spiel aus Angriffs- und Verteidigungsoperationen mit staatlich unterstützten…

1 Tag ago

DeepL setzt erstmals auf NVIDIA DGX SuperPOD mit DGX GB200-Systemen

NVIDIA DGX SuperPOD soll voraussichtlich Mitte 2025 in Betrieb genommen und für Forschungsberechnungen genutzt werden.

1 Tag ago