Muster Mustermann
1 Einleitung
Sicherheit ist für viele Softwaresysteme heutzutage ein besonders wichtiges The-
ma. Angesichts der steigenden Anzahl der für Unternehmen bestimmten Dienst-
leistungen in oenen Netzwerken und auf verteilten Plattformen gewinnt die Fra-
ge über Sicherheit an Bedeutung. Aus diesem Grund muss jedes Unternehmen
die entscheidende Bedeutung der Sicherheit für Informationssysteme einsehen.
Deswegen muss es einen proaktiven und ganzheitlichen Ansatz geben, der helfen
kann, die mit den Netzwerkanwendungen verbundenen Risiken der Sicherheit im
Rahmen des Arbeitsprozesses zu reduzieren und zu verwalten. Aber es ist nicht
so einfach, die Sicherheit zu gewähren. Laut [YoWa08] deniert Devanbu dies wie
folgt: Security concerns must inform every phase of software development, from
requirements engineering to design, implementation, testing, and deployment.
Die Schwierigkeiten zur Gewährleistung der Sicherheit sind darauf zurückzu-
führen, dass nicht alle Softwareentwickler Sicherheitsspezialisten sind. Hier schaf-
fen die Entwurfsmuster groÿe Hilfe. Im Jahr 1994 haben Gamma et. al [GHJV10]
das erste Buch über Entwurfsmuster herausgegeben, in dem 23 Entwurfsmuster
beschrieben wurden. Diese vier Autoren sind unter den Entwicklern auch unter
ihrem Spitznamen Gang of Four (kurz GoF, auf Deutsch Viererbande) bekannt.
2 Fortgeschrittene Anwendungsentwicklung mit Java-Frameworks
Sie verhalfen mit ihrem Buch den Entwurfsmustern zum Durchbruch. Die Au-
toren denieren Entwurfsmuster wie folgt: Each pattern describes a problem
which occurs over and over again in our environment, and then describes the co-
re of the solution to that problem, in such a way that you can use this solution
a milion times over, without ever doing it the same way twice [GHJV10].
Es gibt unterschiedliche Arten von Entwurfsmustern. Sicherheitsentwurfsmuster,
die bekanntlich wiederverwendbare Lösungen für Sicherheitsprobleme darstellen,
sind eine Kategorie von Entwurfsmustern. Der Begri Sicherheitsentwurfsmuster
+
wird in [SFBHB 06] folgendermaÿen deniert: A security pattern describes a
particular recurring security problem that arises in specic contexts, and presents
a well-proven generic solution for it. The solution consists of a set of interacting
roles that can be arranged into multiple concrete design structured, as well as a
process to create one particular such structure.
Die Sicherheitsentwurfsmuster können wiederum unterschiedlichen Kategorien
eingeordnet werden. In dem Fadenmodell [Ha14] werden die Sicherheitsent-
wurfsmuster in 3 Kategorien eingeteilt: Core Security Patterns, Perimeter Se-
curity Patterns und Exterior Security Patterns. Core Security Patterns berück-
sichtigen die internen Struktur des Systems. Perimeter Security Patterns berück-
sichtigen die Authentizierung, Autorisierung und Filterung für die Zwecke der
Sicherheit, die mit den Eingangsstellen im System eng verbunden sind. Exterior
Security Patterns berücksichtigen Datenübertragung und Kommunikationspro-
tokolle. In dieser Ausarbeitung liegt aber der Schwerpunkt auf den Core Security
Patterns der Java Enterprise Edition (JEE). Bevor sie näher beleuchtet werden,
wird eine Antwort auf die Frage gegeben, wieso Sicherheitsentwurfsmuster über-
haupt wichtig sind.
Entwurfsmuster haben sich in vielen Bereichen der Softwareentwicklung als er-
folgreich erwiesen, und sie sind für die Entwicklung von sicheren Systemen beson-
ders nützlich, da sie über eine Reihe von Vorteilen verfügen. Erstens kodieren sie
das Grundlagenwissen über die Sicherheit in einer strukturierten und verständ-
lichen Weise. Zweitens werden die Entwurfsmuster so dargestellt, dass sie für die
Softwareentwickler und Systemingenieure sofort erkennbar und leicht verständ-
lich sind. Da Entwurfsmuster bereits verwendet werden, um die Organisation und
das System-Engineering-Wissen zu erfassen, ist es notwendig, die Sicherheitsent-
wurfsmuster zur Erfassung des Wissens über die Sicherheit zu verwenden, so dass
die Sicherheitssysteme besser in die Unternehmen integriert werden. Nähere In-
+
formationen darüber können in Beryy et al. [BCJM 02] gelesen werden. Der
Schwerpunkt der Sicherheit lag bisher in vielen Fällen auf der Implementierung
auf niedriger Ebene, d.h. die systemnahe Implementierung, von den Produkten.
Mit dem Einsatz der Entwurfsmuster auf allen Ebenen und in einer gemeinsamen
Struktur und Terminologie erweitert sich einerseits der Sicherheitsfokus und an-
dererseits können die höheren und unteren Ebenen integriert werden [Oask01].
Darin liegen weitere wichtige Vorteile der Sicherheitsentwurfsmuster. Anschlie-
ÿend ist zu erwähnen, dass mit den Sicherheitsentwurfsmustern Sicherheitsziele
zu realisieren sind. Wenn es um die Sicherheitsziele von JEE geht, so heiÿen sie
nach der JEE-Spezikation 1.7 [Orac14] Vertraulichkeit, Integrität, Verfügbar-
Überblick über Java Enterprise Edition (JEE) Core Security Patterns 3
IIOP
Applet
Container
Web EJB
Container Container Database
Application
Client
Container
Java EE Platform
JRMP IIOP
SOAP HTTP
HTTP SSL
EE.2.8 Interoperability
Die JEE-Plattform ist eine Erweiterung der Java Programmiersprache und
Java-Technologien. Sie ist eine Anwendungsarchitektur, die am besten für Un-
Many of the APIs described above provide interoperability with components that
ternehmenskontext anwendbar ist. Einen Überblick über die JEE ndet man bei
are not a part of the Java EE platform, such as external web or CORBA services.
Engel at al. [EnKT04]. Die JEE-Plattform liefert ein umfangreiches Sicherheits-
Figure EE.2-2 illustrates the interoperability facilities of the Java EE platform.
architekturmodell, das die Kernsicherheitsanforderungen einer Mehr-Schichten-
(The directions of the arrows indicate the client/server relationships of the
Anwendung erfüllt.
components.)
Da in der Ausarbeitung oft auf das Klienten-Server-Modell zugegrien wird, wird
hier dieses Konzept kurz erklärt. Das Modell beschreibt eine Möglichkeit, Auf-
gaben und Dienstleistungen innerhalb eines Netzwerkes zu verteilen. Der Klient
4 Fortgeschrittene Anwendungsentwicklung mit Java-Frameworks
kann auf Wunsch einen Dienst vom Server anfordern. Der Server, der sich auf
dem gleichen oder einem beliebigen anderen Rechner im Netzwerk bendet, be-
antwortet die Anforderung.
Die klassische JEE-Anwendung ist komponentenbasiert. D.h. sie besteht aus
verschiedenen Komponenten, die von den verschiedenen Entwicklern erstellt und
dann zusammengebaut werden können. Die einzelnen JEE-Komponenten können
in drei Kategorien eingeordnet werden: die Klient-Komponente, die Web-Kom-
ponente und die Geschäfts-Komponente. Die Klient-Komponente interagiert mit
dem Benutzer, die Web-Komponenten interagiert ihrerseits über das Hypertext
Transfer Protocol (HTTP) mit dem Web-Browser und die Geschäfts-Komponen-
te interagiert mit dem Applikation-Server, um die Geschäftslogik auszuführen.
HTTP ist ein Kommunikationsprotokoll im Internet.
Die Sicherheit der JEE-Plattform basiert auf Containern und wird im Folgenden
Anhand der Abbildung 1 ausführlicher erklärt. Der Applet-Container, der Web-
Container, der Enterprise Java Beans (EJB) Container und der Anwendung-
Klienten-Container, die die JEE-Infrastruktur bilden, stellen die Dienste bereit
und verwalten sie. Auÿerdem sind die Komponenten die Elemente der Applika-
tion.
Im Folgenden sollen die vier Container, die nach der aktuellsten Java Spezika-
tion 1.7 [Orac14] erforderlich sind, ihr Ineinandergreifen und die durch Proto-
kolle nach auÿen gehende Kommunikation näher erläutert werden: Der Applet-
Container läuft auf der Benutzer-Seite einer Web-Applikation mit Java Applets
und kommuniziert über HTTP-SSL um Daten abhörsicher mit dem Web-Con-
tainer zu übertragen. Der Applikation-Klient-Container, der ebenfalls auf der
Benutzerseite eines Web-Programms ausgeführt wird, unterstützt mit Hilfe ei-
ner umfassenderen und angepassten Benutzeroberäche den Java Klient. Über
HTTP läuft die Schnittstelle vom Applikation Klient-Container nach auÿen und
über RMI/IIOP kommuniziert sie mit dem EJB-Container. In der Abkürzung
RMI/IIOP steht IIOP für Internet Inter-ORB Protokoll, eine Spezikation der
Object Management Group (OMG) und RMI steht für Remote Method Invo-
cation. Der Web-Container seinerseits wird in den Websystemen ausgeführt. Er
ist sozusagen für die Bearbeitung der HTTP-Anfragen und für die Erstellung
der Benutzeroberäche in einer Web-Applikation verantwortlich. Bei den Web-
Komponenten wird zwischen Servlets und JavaServer Pages unterschieden. Ja-
vaServer Pages ist eine Erweiterung von Servlets. Es bietet eine Unterstützung,
um XML und HTML Dateien zu erzeugen. Die erste Web-Komponente ver-
leiht dem Server mehr Eigenschaften und gewährt somit mehr Funktionalität.
Die Servlets können z.B. die Funktion der EJB-Container benutzen. Die zweite
Form der Webkomponenten, die JavaServer Pages, besteht aus HTML Codes,
oder in HTML eingebetteten Codes. JavaServer Pages haben die Aufgabe, die
Darstellung der Inhalte immer wieder exibel anzupassen. Desweiteren soll die
JavaServer Pages Kern ein Servlet generieren, das sich von JavaServer Page zu
JavaServer Page unterscheidet. Dieses Servlet kann erst danach gestartet wer-
den. Der vierte Container der Java EE-Infrastruktur ist der EJB. Er stellt den
wichtigsten Baustein der Struktur dar, denn er baut die Anwendungslogik auf,
Überblick über Java Enterprise Edition (JEE) Core Security Patterns 5
die die Funktionen für den Klient bereitstellt. In dem Zusammenhang ist auch zu
erwähnen, dass die Standard Application Programming Interfaces(API) Dienste
im EJB-Container sind. Aus Platzgründe wird die JEE-Plattform nicht ausführ-
licher beschrieben. Mehrere Informationen liefert die aktuellste JEE Spezikati-
on 1.7 [Orac14]. Nachdem die JEE-Plattform beschrieben wurde, kann man zu
dem Hauptteil der vorliegenden Arbeit übergehen und zwar zu den JEE Core
Security Patterns.
In diesem Kapitel werden die folgenden 8 JEE Core Security Patterns vorge-
stellt: Secure Logger, Audit Interceptor, Container Managed Security, Dynamic
Service Management, Obfuscated Transfer Object, Secure Session Object, Policy
Delegate und Secure Service Facade. Ausführlichere Informationen über die un-
ten beschriebenen JEE Core Security-Patterns können bei Steel et al. [StNL05]
entnommen werden. Ein Überblick über diese 8 Sicherheitsentwurfsmuster ist
der Tabelle 1 zu entnehmen.
Jedes Entwurfsmuster wird im Folgenden durch die Abschnitte Beispiel, Pro-
blem, Lösung, Konsequenzen, Verwandte Entwurfsmuster und Gegenüberstel-
lung zu anderen verwandten Entwurfsmustern beschrieben. Die in dieser Prose-
+
minararbeit benutzten Abschnitte stammen aus [SFBHB 06]. In dem Abschnitt
Beispiel wird kurz ein mögliches Szenario für die Anwendung des Entwurfsmuster
vorgestellt. In dem Abschnitt Problem wird die Situation, in der das Entwurfs-
muster angewendet wird, erklärt und/oder beschreibt das Problem, das mit Hilfe
des Entwurfsmusters gelöst wird. Weiterhin werden unter dem Abschnitt Kon-
sequenzen die Vorteile bei dem Einsatz von den Entwurfsmuster aufgezählt und
die eventuellen Nachteile erwähnt. In dem Abschnitt Verwandte Entwurfsmus-
ter kann man kurz über die Entwurfsmuster lesen, die ähnliche Probleme lösen
oder zusammen mit dem jeweiligen Entwurfsmuster verwendet werden können.
In dem letzten Abschnitt werden, wie der Name schon sagt, die Entwurfsmuster
anderen verwandten Entwurfsmustern kurz gegenübergestellt bzw. es wird die
Relation, in der die Entwurfsmuster stehen, erläutert.
Nachteile:
Überblick über Java Enterprise Edition (JEE) Core Security Patterns 7
Beispiel: Im Intranet einer Firma hat jeder Mitarbeiter freien Zugri zu den
Kontaktangaben von jedem Angestellten. Nur die Administratoren dürfen aber
diese Kontaktdaten ändern, weil sie über die sogenannten autoritativen Rechte
verfügen. Um Änderungen ausführen zu können, müssen sie sich deshalb anmel-
den.
Problem: Geschäft-Schicht-Applikationen betreuen verschiedene Nutzer über
mehrere Nutzerebene. Wenn man keine Sicherheitsentwurfsmuster benutzt, muss
Überblick über Java Enterprise Edition (JEE) Core Security Patterns 9
Bleibt auf dem Level der allgemeinen Informationen und kann keine fein-
granulare Sicherheit gewährleisten.
Alle Nutzergruppen müssen vor der Entwicklung klar deniert sein, ander-
weitig muss die Applikation neu verpackt werden.
Ist auf die Sicherheitsmechanismen des spezischen Containers beschränkt.
JEE beinhaltet nur eine beschränkte Menge an Sicherheitsfeatures.
eines vorher nicht authentizierten Anfragen, was einer Container Managed Se-
curity Implementierung auf der Web-Schicht einer JEE-Applikation ähnlich ist.
Der Authentication Enforcer verhält sich wie eine Geschäft-Schicht-Implemen-
tierung der Container Managed Security.
erfolgen.
Lösung: Java Management Extension (JMX) implementiert fein-granulare Ge-
schäftsobjekte zur Laufzeit, falls dies benötigt wird.
Konsequenzen: Vorteile:
Plain Old Java Object(POJO) stellt ein normales Objekt in der Objektori-
entierten Programmiersprache Java dar. POJOs können administriert und
ihre Attribute und Operationen können beobachtet und verwaltet werden.
Viele Geschäftskomponente können auf gemeinsamer Basis implementiert
werden.
Lösung: Obfuscated Transfer Object deniert Daten, die Schutz benötigen, und
schützt diese durch Applikation oder Implementierung. Die Produzenten und
Konsumenten vereinbaren, welche sicherheitskritischen Daten geschützt werden
müssen. Das verschleierte Transferobjekt ist nun für den Schutz des darauf fol-
genden Datentransfers verantwortlich.
Konsequenzen: Vorteile:
Nachteile:
Beispiel: Der Nutzer meldet sich auf der Seite einer Applikation an, die sei-
ne Anmeldeangaben vertraulich behandelt. Diese Angaben werden für weitere
Anmeldungen des Nutzers in den verschiedenen Funktionen der Applikation auf-
bewahrt. Während die erste Anmeldung gesichert ist, besteht für die Daten der
weiteren Anmeldung ein Risiko. Sie können mit einem böswilligen Code oder
von einem Eindringling missbraucht werden.
Problem: Nutzerdaten sind oft tief in einer Sitzung oder über mehrere Sit-
zungen verteilt gespeichert. Cookie ist eine Textinformation, die die besuchte
Website(Server) über den Browser im Rechner des Betrachters(Klient) platziert.
Cookies und URL-Rewriting, d.h. das Umschreiben in einer besseren, lesba-
ren Form, sind eine Möglichkeit diese zusammenzufassen, dabei gibt es jedoch
Sicherheits-, Performanz- und Netzwerkauslastungsprobleme. Ein System mit
mehreren Nutzern und Applikationen ist nicht in der Lage, die Nutzerauthenti-
zierung und die Zugriskontrolle voneinander zu trennen. Stattdessen benötigt es
Überblick über Java Enterprise Edition (JEE) Core Security Patterns 13
Nachteile:
Die Abstraktion bietet eine losere Kopplung zwischen Klient und Sicherheits-
infrastruktur, die nicht einmal den Ort dieser kennen müssen. Policy Delegate
kann auÿerdem Nachrichten in verschiedene Formate und Protokolle übersetzen.
Es kann zustandslos oder mit Zustand implementiert sein.
Konsequenzen: Vorteile:
Versteckt die Komplexität vom Klient und bietet so eine einfachere Schnitt-
stelle.
Verbessert Performanz durch Reduktion von wiederholter Berechnung, ver-
ringert so die Antwortzeit des Systems und verbessert dessen Skalierbarkeit.
Führt Nachrichten- und Fehler-Übersetzung aus.
Repariert das System, wenn Fehler entstehen.
Verwandte Entwurfsmuster: Secure Base Action: Die Secure Base Action ist
ein Entwurfsmuster zum Zentralisieren und Koordinieren von Sicherheitsinfor-
+
mation in der Präsentation Schicht [BCJM 02].
Business Delegate: Das Business Delegate-Entwurfsmuster wird genutzt, um
Präsentation-Schicht und Geschäft-Schicht zu entkoppeln. Es verringert die Kom-
munikation zwischen diesen Schichten [AlCM01].
Gegenüberstellung: Eine Secure Base Action sollte einen Policy Deleagate
nutzen, um Sicherheitsdienste zu nutzen. Ein Policy Delegate ist einem Busi-
ness Delegate-Entwurfsmuster ähnlich, aber es verwendet auÿerdem eine Secure
Base Action, um die Geheimhaltung und Integrität einer Benutzersitzung zu
gewährleisten.
Beispiel: Ein Kunde gibt einen Auftrag, welcher aus vielen kleineren Aufga-
ben besteht. Die Aufgabe der Entwickler besteht darin, die Vernetzungen zwi-
16 Fortgeschrittene Anwendungsentwicklung mit Java-Frameworks
Zentralisiert Rechteverwaltung.
4 Verwandte Arbeiten
Die vorliegende Arbeit beschäftigt sich nur mit 8 Core Security Patterns. Ihre
Anwendung gewährleistet die Sicherheit vor solchen Gefahren, wie z.B. Leugnung
Angri und Informationspreisgabe(d.h. das Enthüllen von internen Informatio-
nen). Ein Leugnung Angri passiert, wenn eine Applikation oder ein System nicht
die richtige Kontrolle für die Benutzeraktionen hat. Wenn dieser Angri statt-
ndet, können die gespeicherten Daten auf den Protokolldateien ungültig oder
irreführend sein. In der umfangreichen Fachliteratur werden bis zu 100 verschie-
denen Security Patterns aufgelistet und verschiedene Aspekte der Sicherheitsent-
wurfsmuster behandelt, die hier nicht berücksichtigt werden konnten. Das Werk
von Steel et al. [StNL05] ist das umfangreichste mit seinen über 1000 Seiten
und das am meisten zitierte. Das Buch kann als Handbuch für Gewährleistung
von robuste End-to-End Sicherheit in den JEE Enterprise Applikationen benutzt
werden. Die 3 Autoren, die führende Spezialisten für Java Sicherheitsarchitektur
sind, geben ausführliche Information für die JEE Security pattern, Best Practices
in unterschiedliche Arten von Applikationen und etc. Alur et al. [AlCM01] hat
die Entwurfsmuster im Rahmen des Entwurfsprozess im Mittelpunkt. Haz stell-
te einen umfangreichen Sicherheitsentwurfsmuster Katalog [Ha14] zusammen,
in dem alle Entwurfsmuster anhand von verschiedenen Kriterien und Szenari-
en klassiziert werden. Diese Zusammenstellung überzeugt, wie nützlich solche
Klassikationen für die praktische Anwendung von den Entwurfsmustern sind.
5 Diskussion
Eindringling daran, die Logdatei für die eigenen Zwecke zu ändern. Audit In-
terceptor nutzt seinerseits das Logdatei, um die momentane Funktionsweise der
Applikation mit den dafür vorgesehenen Standards zu vergleichen. Auÿerdem
bauen Secure Logger und Audit Interceptor ein standardisiertes System auf, das
dem Entwickler unwichtige Backend-Arbeit abnimmt.
Container Managed Security and Dynamic Service Management bilden die zwei-
te Gruppe. Sie sind für die Sicherheit der internen Organisation und des Mana-
gements der Applikation zuständig. Diese zwei Entwurfsmuster sind besonders
nützlich, wenn es um die Autorisierung und die Authentizierung von sehr vie-
len Nutzern geht. Sie verwalten die Reaktion gegen den Eingri, während er
andauert. Mit diesen zwei Security Patterns werden Deklarative Sicherheit und
statisches Mapping sichergestellt.
In der dritten Gruppe benden sich die zwei Entwurfsmuster Obfuscated Trans-
fer Object und Secure Session Object. Man nutzt sie, wenn die beim Transfer
von Daten mit mehreren Attributen entstandenen Probleme gelöst werden sol-
len. Das erste Entwurfsmuster dieser Gruppe gewährt das sichere Senden von
Daten zwischen den verschiedenen Teilen der Applikation, während das zweite
Entwurfsmuster die Daten zwischen die verschiedenen Sitzungen und die ver-
schiedenen Applikationen sendet. Bei dem Obfuscated Transfer Object sind die
Transferobjekte für die Sicherheit der Daten zuständig. Im Vergleich dazu sind
die Sicherheitskontexte bei Secure Session Object die Zuständigen. Zusammen-
fassend lässt sich sagen, dass die beiden Entwurfsmuster an das oben genannte
Problem unterschiedlich herangehen.
Policy Delegate und Secure Service Facade sind die zwei Entwurfsmuster der
letzten Gruppe. Sie sorgen dafür, dass die Interaktion zwischen den Klienten
und den Sicherheitsdienste reibungslos funktioniert. Für beide Entwurfsmuster
ist die Trennung von Klienten und Sicherheitsdienste charakteristisch. Das Ent-
wurfsmuster Policy Delegate vermittelt zwischen Klienten und Sicherheitsdiens-
te, indem es den Klienten daran hindert, die Komplexität der Backend Sicherheit
zu erfahren. Secure Service Facade integriert fein-granulare Anfragen und stellt
ein vereinheitlichtes Produkt vor. Die Sicherheits- und die Serviceimplementie-
rungen sind währenddessen voneinander getrennt.
Abschlieÿend soll darauf eingegangen werden, welche grundlegenden Probleme
sich bei der Implementierung von den Sicherheitsentwurfsmuster in der Praxis
ergeben, wenn man damit die vielen Lücken der IT-Sicherheit beheben will. An-
gesichts der hohen Anzahl von Sicherheitsentwurfsmustern ist es erstens sehr
schwierig, das für das jeweilige Problem geeignete Sicherheitsentwurfsmuster zu
wählen. Desweiteren soll hier erwähnt werden, dass Sicherheitsentwurfsmuster
von vielen Spezialisten im Bereich der Sicherheit als die Allheilmittel aufgefasst
werden. Es wird also übersehen, dass sie nur eine Ergänzung zu den Metho-
den und Werkzeugen der Systemsicherheit darstellen. Anstatt das Pattern an
das System anzupassen, wird das System an das Pattern angepasst. Auf diese
Weise rückt das Sicherheitsentwurfsmuster in den Mittelpunkt und man ver-
sucht alles andere daran anzupassen. Und genau darin ergibt sich aus meiner
Ansicht das gröÿte Problem. Hinzu kommt noch, dass die Implementierung von
Überblick über Java Enterprise Edition (JEE) Core Security Patterns 21
Literatur
AlCM01. Deepak Alur, John Crupi und Dan Malks. Core J2EE Patterns Best
Practicies and Design Strategies. Sun. 2001.
BCJM+ 02. Craig Berry, John Carnell, Matjaz Juric, Meeraj Moidoo, Nadia Nashi
und Sasha Romanosky. J2EE Design Patterns Applied. Wrox Press.
2002.
22 Fortgeschrittene Anwendungsentwicklung mit Java-Frameworks
EnKT04. Andreas Engel, Arne Koschel und Roland Tritsch. J2EE kompakt. Spek-
trum. 2004.
GHJV10. Erich Gamma, Richard Helm, Ralph Johnson und John Vlisides. De-
sign Patterns: Elements of Reusable Object-Oriented Software. Addison-
Wesley. 2010.
Ha14. Munawar Haz. Security Pattern Catalog, 07. 2014.
Micr14. Developer Network, Microsoft, 07 2014.
Oask01. Oask. Java Security 2nd ed. Addisonn-Wesley. 2001.
Orac14. Java EE Specication, Oracle Corporation, 07. 2014.
RoMo01. Mark Roth und Ron Monzillo. Securing Applications for the Java 2
Platform, Enterprise Edition (J2EE). Java One 2001 Conference, 2001.
SFBHB+ 06. Markus Schumacher, Eduardo Fernandez-Buglioni, Duane Hybertson,
Frank Buschmann und Peter Sommerland. Security Patterns Integra-
ting Security and Systems Engineering. Wiley Series in Software Design
Patterns. 2006.
StNL05. Christopher Steel, Ramesh Nagappan und Ray Lai. Core Security Pat-
terns: Best Practices and Strategies for J2EE, Web Services and Identity
Management . Sun. 2005.
YoWa08. Nobukazu Yoshioka und Hironori Washizaki. A survey on security pat-
terns. 2008.