Download Masterarbeit Timo Meinen - Meinen, Timo
Download Masterarbeit Timo Meinen - Meinen, Timo
Download Masterarbeit Timo Meinen - Meinen, Timo
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
KAPITEL 3. SICHERHEIT IN JAVA-ANWENDUNGEN<br />
JAAS Erweiterung<br />
Der Ansatz von Java Authentication and Authorization Service setzt das Zugriffsmodell<br />
RBAC (vgl. Kapitel 2.5.1) für Java um. Die Eigenschaften und Funktionen<br />
dieser Java-Erweiterung wurden in Abschnitt 3.3 vorgestellt. Carlos Fonseca erweitert<br />
JAAS in [Fon02] um einen klassenbezogenen Zugriffsschutz auf Objekt-Ebene.<br />
Das bedeutet, dass JAAS als Referenzmonitor eingesetzt wird, die Autorisation<br />
der Zugriffe aber auf Basis der Ausprägung eines Objektes beruht. Als mögliches<br />
Anwendungsbeispiel schlägt er eine Online-Auktion vor:<br />
Any registered (authenticated) user can create an auction but only the user who<br />
”<br />
created the auction may modify it.“ [Fon02]<br />
Die Lösung Fonsecas basiert auf der Implementierung einer eigenen Policy (vgl.<br />
Abschnitt 3.2.3). Er erweitert die Permissions um einen Parameter, der Beziehungen<br />
zwischen Objekten wiederspiegelt. So gibt es beispielsweise die Beziehung<br />
auctionOwner, die den Besitzer einer Auktion repräsentiert.<br />
Leider treten auch bei diesem Ansatz wieder die Policy-Probleme aus Abschnitt<br />
3.4 auf, weil der Systemadministrotr der Laufzeitumgebung die Sicherheitsrichtlinien<br />
bestimmt und nicht der Entwickler. Es gelingt nicht das MAC-Zugriffsmodell<br />
von Java und JAAS in ein DAC-Modell zu ändern. Dennoch zeigt dieser Ansatz<br />
Möglichkeiten zur Erweiterung des Java Sicherheitsmodells und der Umsetzung<br />
eines Referenzmonitors.<br />
J2SE Erweiterung<br />
Zum Abschluss dieses Kapitels wird ein J2SE Beispiel vorgestellt, das die Policy-<br />
Technologie, also die Verwendung der Default Sandbox und des Access Controllers,<br />
verwendet. Es wird gezeigt, wie Sicherheit in eigenen Java-Anwendungen nach dem<br />
Willen von Sun und den Java-Entwicklern ([Gon99], [Oak01], [Yel96], [Gon02],<br />
[And02]) umgesetzt werden soll.<br />
Als Beispiel sollen die Überlegungen über das Freundschaftsprinzip aus Kapitel<br />
2.4.3 dienen. Die Umsetzung soll den Zugriff auf ein Objekt einschränken, so dass<br />
nur bestimmte Klassen die Methoden des Objekts aufrufen können. Dazu wird<br />
eine eigene FriendshipPermission erstellt. Über eine Policy-Datei kann dann der<br />
46