Security Patterns Benny Clauss Sicherheit in der Softwareentwicklung WS 07/08
Gliederung Pattern Was ist das? Warum Security Pattern? Security Pattern Aufbau Security Pattern Alternative Beispiel Patternsysteme Anmerkung
Pattern Was ist das? Ein Entwurfsmuster (engl. design pattern) beschreibt eine bewährte Schablone für ein Entwurfsproblem. Es stellt damit eine wiederverwendbare Vorlage zur Problemlösung dar. Entstanden ist der Ausdruck in der Architektur, von der er für die Softwareentwicklung übernommen wurde. (Wikipedia http://de.wikipedia.org/wiki/entwurfsmuster)
Warum Security Pattern? Es ist doch besser von Erfahrungen anderer zu profitieren ODER? Security Patterns vermitteln Erfahrungen von Experten. Deshalb gibt es Pattern sie beschreiben ein Muster, welches sich schon Mehrfach bewährt hat und dann dokumentiert wird.
Security Pattern Aufbau Kontext: Umgebung des IT Systems / Anwendung Problem: Gefahren die zu beachten sind Anforderung: Bedrohte Schutzziele die erfüllt werden sollen
Security Pattern Aufbau Lösung: Maßnahmen die die Risiken minimieren Platz für Diskussion der Vor- und Nachteile Es soll mindestens eine Maßnahme für jede Bedrohung geben Verwandte Pattern: Abhängigkeit zu anderen Security Patterns
Security Pattern II Pattern Name and Classification : A descriptive and unique name that helps in identifying and referring to the pattern. Intent: A description of the goal behind the pattern and the reason for using it. Also Known As: Other names for the pattern.
Structure: A graphical representation of the pattern. Class diagrams and Interaction diagrams may be used for this purpose. Security Pattern II Motivation (Forces): A scenario consisting of a problem and a context in which this pattern can be used. Applicability: Situations in which this pattern is usable; the context for the pattern.
Security Pattern II Participants: A listing of the classes and objects used in the pattern and their roles in the design. Collaboration: A description of how classes and objects used in the pattern interact with each other. Consequences: A description of the results, side effects, and trade offs caused by using the pattern.
Security Pattern II Implementation: A description of an implementation of the pattern; the solution part of the pattern. Sample Code: An illustration of how the pattern can be used in a programming language Known Uses: Examples of real usages of the pattern.
Security Pattern II Related Patterns: Other patterns that have some relationship with the pattern; discussion of the differences between the pattern and similar patterns.
Beispiel Kontext: Serveranwendungen verwenden Cookie zur Speicherung von Informationen Das geschieht über das HTTP Protokoll Problem: Server der Cookie erzeugt hat kann ihn als einziger lesen Diese Konvention reicht nicht um die Privatsphäre zu schützen Dienstanbieter können Aktivitäten verfolgen Benutzerdaten können zusammengeführt werden Mit Hilfe HTML basierte E-Mail Nachrichten können Cookies eines Benutzer personalisieren
Beispiel Anforderung: Anonymität Unverknüpfbarkeit Benutzbarkeit Lösung: Verwendung einschränken periodisch löschen bester Schutz Cookie deaktivieren Fazit Schutz der Privatsphäre ist immer ein Kompromiss. Mehr Schutz Mehr Einschränkungen
Patternsysteme Sie dienen der Zusammenfassung verschiedener Pattern um ein größeres Problem zu lösen. Hier gibt es auch ein Beispiel, in dem mehrere Pattern zusammengefasst werden, um die Sicherheit einer Anwendung zu erhöhen. Yoder, J., Barcalow, J.: Architectural P atterns for E nabling Application S ecurity. 4th C onference on P atterns Languages of P rograms (P LoP ),Monticello/IL, 1997
Anmerkung was ist hier zu sehen? http://www.security-patterns.de/ Sie könne Expertenwissen vermitteln. Sie können Gefahren zeigen die vergessen wurden. Sie zeigen Lösungen auf. Aber Problematisch ist das wer und wie!!!