Das .NET Framework

Systemplattform für mehr Sicherheit

17.04.2007 | Autor / Redakteur: Dipl.-Ing. Andreas Maslo / Stephan Augsten

Die Zukunft gehört dem Internet, schließlich werden Programme, Software-Komponenten, Dienstleistungen und auch Geschäftsbeziehungen zunehmend ins World Wide Web verlagert. Microsoft fasst seine Internet-Bemühungen als .NET-Strategie zusammen und bietet mit dem gleichnamigen Framework Basistechnologien und eine Systemplattform, um Informationen zeitgemäß und vor allen Dingen sicher im Online-Modus auszutauschen.

Bei .NET (sprich Dot Net) handelt es sich um eine Plattform, die Dienste zur Kommunikation und Verbindung von Geräten auf einfache personalisierte Weise bereitstellt. Gegenüber COM (Component Object Model) nutzt .NET ein abweichendes Objektmodell. Die Systemplattform steht in gesonderten Versionen für Windows, Portable Devices und Unix- und Linux-Systeme zur Verfügung.

Auch wenn .NET das CO-Modell auf lange Sicht ersetzen soll, werden Sie in den kommenden Jahren auch weiterhin Programme beider Typen einsetzen können. Auch das Anfang 2007 erschienene Windows Vista setzt systemintern auf beide Technologien.

Dank dem .NET Framework ist eine wechselseitige Nutzung von COM- und .NET-Objekten möglich, so dass Sie dass Beste aus beiden Welten auch nach Bedarf kombinieren können. Jedoch stellt .NET gegenüber COM einige Besonderheiten bereit, die sich insbesondere auf die Sicherheit auswirken und gegebenenfalls gesonderte Security-Konfigurationen erforderlich machen.

Gesteigerte Sicherheitsanforderungen

PCs werden heutzutage nicht nur als Mehrbenutzersysteme eingerichtet, sondern auch mit Intranet-Umgebungen und/oder dem Internet verbunden. Dies bedeutet, dass auch andere Benutzer Zugriff auf Ihren Rechner und damit auch auf dessen Ressourcen und den darauf abgelegten Programmen, Komponenten und Daten erhalten können. Außerdem können über das Intranet und Internet Programme und Komponenten ausgeführt werden, die ihrerseits nicht sicher sein müssen.

Computer im Intra- und Internet sind zudem potentielle Ziele für Hacker, Trojaner und Virenattacken. Um die Sicherheit für die Ressourcen eines Rechners sowie seiner Daten, Anwendungen und Komponenten zu erhöhen, stellt das .NET Framework ein ausgeklügeltes Sicherheitsmodell zur Verfügung, mit denen .NET-Anwendungen und -Komponenten abgesichert werden können.

Common Language Runtime

Grundlage für .NET ist die Common Language Runtime (CLR). Dabei handelt es sich um die unterste Ebene des Frameworks, die für die Verwaltung, das Laden und die Ausführung von Programmcode verantwortlich ist. Code, der über die CLR ausgeführt wird, wird entsprechend als verwalteter Code (managed Code) bezeichnet. Die CLR arbeitet mit einem integrierten Sicherheitssystem zusammen.

Sicherheitssystem

Durch entsprechende Konfiguration des Sicherheitssystems können Sie die Programmausführung und den Codezugriff von zugeordneten Berechtigungen abhängig machen (Code Access Security). Dadurch stellen Sie sicher, dass keine Programme unrechtmäßig ausgeführt und auch keine Daten unrechtmäßig gelesen, geschrieben oder gar manipuliert werden.

Je nach Funktion können Sie beispielsweise bestimmen, wie und in welcher Form die Authentifizierung erfolgen soll und welche Berechtigungen für ASP-Anwendungen und -Komponenten gelten. Manche Web-Anwendungen, Webdienste oder auch Web-Steuerelemente erfordern zum Ausführen von bestimmten Funktionen ihrerseits Berechtigungen, über die Sie nicht verfügen. In diesem Fall werden Ausnahmebehandlungen (so genannte Exceptions) geworfen, die innerhalb des jeweiligen Programmes beziehungsweise einer Komponente ausgewertet werden können.

Von ASP zu ASP.NET

Microsoft Active Server Pages (ASP) ist eine serverseitige Skriptumgebung, mit deren Hilfe interaktive Web-Server-Anwendungen erzeugt werden können. Über ASP werden HTML-Seiten, Skriptbefehle und Komponenten zusammengefasst. Im .NET Framework wird ASP über die Objekte zu ASP.NET bereitgestellt. Die so genannten Web Forms sind Bestandteil der ASP.NET-Technologie und stellen visuelle Objekte zur Erzeugung programmierbarer Webseiten zur Verfügung, die auf aktuellen Internet-Browsern dargestellt werden können.

In Abhängigkeit vom verwendeten Betriebssystem erhält ein Benutzer eines Rechners uneingeschränkten oder aber nur eingeschränkten Zugriff auf die Ressourcen eines Rechners. Unter NT-basierten Windows-Betriebssystemen (z.B. Windows XP oder Windows Server 2003) erhält der Systemadministrator uneingeschränkten Zugriff auf sämtliche Ressourcen. Führen Sie ein normales Programm als Administrator aus, erkennen Sie dieses mitsamt seinen Komponenten gleichermaßen als vertrauenswürdig an – ein Teilvertrauen für Programme und Komponenten können Sie nicht aussprechen.

Problematisch ist in diesem Zusammenhang, dass ausgeführte Programme mitunter Komponenten nachladen, deren Auswirkungen auf das System nicht zwangsläufig nachvollziehbar sind. Dadurch entstehen Sicherheitslücken im System, die sich Hacker zu Nutzen machen können. Prinzipiell ist der Ressourcenzugriff dabei abhängig von der Benutzeranmeldung und der jeweiligen Authentifizierung. Das System selbst überprüft, ob der Benutzer zum Abruf bestimmter Funktionen berechtigt ist oder nicht. In .NET können Sie das Verhalten von Anwendungen gesondert über Berechtigungen festlegen.

Webdienste – Komponenten fürs und aus dem Web

Mit Hilfe von Webdiensten (Web Services) ist es Programmen möglich, Funktionalitäten aus dem Internet zu beziehen. Dabei spielt es keine Rolle, mit welchem System der jeweilige Dienst entwickelt wurde und auf welcher Plattform er läuft, da die Schnittstellen zu solchen Web-Services über Protokolle genau geregelt sind.

Allerdings können Webdienste nicht nur über das Internet, sondern auch in einem lokalen Netzwerk entwickelt und Netzwerk-übergreifend bereitgestellt werden. Programme bestehen demnach gegebenenfalls aus mehreren Komponenten, die ihrerseits auf unterschiedlichen Rechnern im Intranet oder Internet abgelegt sind.

Kommunikation

Webdienste basieren auf den Internet-Standards HTTP (HyperText Transfer Protocol), XML (Extensible Markup Language, Metasprache zum Definieren von Dokumenttypen) und SOAP (Simple Object Access Protocol), einem Protokoll zur Übertragung strukturierter und typisierter Informationen, das seinerseits auf XML und HTTP basiert.

Über das Internet steht eine Vielzahl von Webdiensten zur Verfügung, die Sie sehr einfach in neuen Anwendungen nutzen können, so dass sich der Programmier-Aufwand reduziert. Die Verwaltung und das Auffinden dieser Services erfolgt über UDDI (Universal Description, Discovery and Integration; Link unten), der Zugriff wird in jedem Fall über einen bestimmten Uniform Ressource Locator (URL) gewährleistet. Der Webdienst selbst verhält sich wie eine Software-Komponente und weist dementsprechend eine Schnittstelle auf, über die Sie auf die bereitgestellten Funktionen zugreifen können.

Die Kommunikation zwischen einem Webdienst und einer Anwendung erfolgt asynchron und über Nachrichten. Per Web Services Description Language (WSDL) liefert ein Webdienst eine ausführliche Beschreibung von sich und seiner Funktionalität in XML-Syntax zurück Jede Funktion eines Webdienstes wird dabei als Web-Methode (WebMethod) bezeichnet.

Globale Verfügbarkeit

Nicht nur in einfachen Windows-Anwendungen und benutzerdefinierten Komponenten können Webdienste genutzt werden: Durch Anwendungen, die über einen Internet Browser ausgeführt und referenziert werden, sind sie weltweit nutzbar.

Die Verlagerung von Funktionalitäten in das Internet bietet sich beispielsweise dann an, wenn zugehörige Daten ohnehin im Internet verwaltet werden (z.B. Hotelinformationen, Flugdaten), wenn diese Daten permanent auf dem aktuellen Stand gehalten werden müssen oder auch der rechner- und benutzerunabhängige Zugriff sichergestellt sein muss. Mit .NET können Dienste nicht mehr nur auf einem lokalen Rechner und innerhalb eines lokalen Netzwerkes, sondern im Internet abgelegt werden und darüber beispielsweise weltweit aus ASP.NET-, Windows- oder auch Konsolenanwendungen referenziert werden.

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)



Spamschutz 

Bitte geben Sie das Resultat dieser Rechenaufgabe (Addition) ein:
Kommentar abschicken

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 2004091)