Java ist sicher genug für E-Business

21.03.2002

Problematischer Schutz bei Front-Controller

Ein noch größerer Schwachpunkt besteht darin, dass das derzeitige Web-Sicherheitsmodell für eine große Klasse von Web-Applikationen unzureichend ist. Die meisten Web-Applikationen - unter anderem auch das Petstore-Beispiel - verwenden eine Architektur mit einem Front-Controller in Form eines Servlets, der alle eingehenden Aufrufe aufnimmt und an die passenden JSPs weiterleitet. Mit dem jetzigen J2EE-Sicherheitsmodell kann dann aber nur der Front-Controller per Konfiguration geschützt werden, nicht die dahinter liegenden Komponenten, was eine feingranulare Zugriffskontrolle unmöglich macht. Will man auf diese nicht verzichten, muss man die entsprechenden Tests in die Komponenten programmieren.

Model-Driven Security: Im Rahmen der Model-Driven Architecture (MDA) erarbeitet gegenwärtig die Object Management Group (OMG) einen Standard, durch den Architektur und Eigenschaften eines Anwendungssystems unabhängig von einer konkreten Plattform und Ablaufumgebung beschrieben werden können. Die Kernidee des Ansatzes besteht darin, mit Hilfe geeigneter Modellierungssprachen wie etwa der UML ein plattformunabhängiges Modell des geplanten Anwendungssystems zu erstellen. Ein solches Modell wird anschließend automatisiert in ein plattformspezifisches Softwaresystem überführt, das in einer technischen Umgebung, etwa einem J2EE/EJB-Applikations-Server, ausgeführt werden kann.

Die Anwendung des MDA-Ansatzes für den Bereich Sicherheit - Model-Driven Security - besteht darin, dass Sicherheitsaspekte und -anforderungen auf Modellebene explizit beschrieben und mittels Codegenerierung in der Zielplattform umgesetzt werden.

Worin besteht nun der Nutzen von Model-Driven Security? Neben den Vorteilen einer modellbasierenden Vorgehensweise (zum Beispiel größere Plattformunabhängigkeit, Wiederverwendung auf Modellebene und Produktivitätssteigerung) lassen sich für Model-Driven Security insbesondere folgende Argumente anführen:

Konsistenzüberprüfungen können bereits auf Modellebene vorgenommen werden, so dass eine frühzeitige Identifikation von Sicherheitslöchern möglich ist;