Lehre
Modellbasierte Softwaretechniken für sichere Systeme
Vorlesung (2 SWS) und Übung (2 SWS)
Beschreibung
Entwicklung und Pflege vertrauenswürdiger,
sicherheitskritischer Systeme sind große Herausforderungen. Es
werden viele softwareintensive Systeme entworfen, realisiert und
eingesetzt, die gravierende Sicherheitslücken aufweisen. Wir
wissen das aus eigener Erfahrung und aus Schlagzeilen über
spektakuläres Fehlverhalten von Systemen bzw. über
erfolgreiche Angriffe auf sie. Die Gründe dafür sind
vielfältig. Manchmal fehlt den Entwicklern das notwendige
Sicherheitsbewußtsein, oft fehlen die notwendigen Kenntnisse
über die Entwicklungsprozesse, -methoden, -verfahren und
-werkzeuge oder sie werden nicht eingesetzt, weil man sich den
vermeintlich zu großen Zeit- und Kostenaufwand beim derzeitigen
Konkurrenzdruck nicht leisten zu können glaubt.
Beim Engineering oder Reengineering sicherheitskritischer
Softwaresysteme stellen sich u.a. folgende Fragen:
- Welche Methoden gibt es für ein umfassendes
Risikomanagement, mit denen Experten aus den
Geschäftsprozessen und Arbeitsabläufen eine
vollständige Analyse der Sicherheitsrisiken durchführen
und Vorschläge zu ihrer angemessenen Behandlung ableiten
können?
- Welche Methoden gibt es für das Engineering bzw.
Reengineering sicherheitskritischer Systeme, für die Auswahl
eines geeigneten Entwicklungsprozesses und geeigneter Werkzeuge
sowie zur Qualitätssicherung?
- Welche Werkzeuge gibt es, die z.B. die
Geschäftsprozessmodelle, UML-Systemspezifikationen,
Software-Quelltexte und Konfigurationsdateien automatisch auf
Sicherheit analysieren können?
- Kann man z.B. mit UML oder CASE-Werkzeugen wie AutoFocus
Sicherheitsanforderungen einfach und intuitiv spezifizieren? Und
gibt es Werkzeuge für Simulation, Konsistenzprüfung,
Codegenerierung, Verifikation und Test der Sicherheitsaspekte?
- Sind die erstellten Modelle als Dokumentation für die
Zertifizierung nach relevanten Standards brauchbar?
Zielsetzung: Die Vorlesung gibt
Antworten auf diese Fragen. Die Teilnehmenden werden die
Anforderungen an sicherheitskritische Systeme und die
Bedrohungsarten verstehen. Sie erhalten einen Überblick
über die vorhandenen Techniken zur Vermeidung von
Sicherheitsrisiken und Abwehr von Bedrohungen. Sie werden die
Besonderheiten beim Management sicherheitsrelevanter
Softwareprojekte, den Nutzen von Sicherheitsaufwendungen und die
einschlägigen Normen und Verordnungen kennen. Schließlich
werden sie sich intensiv mit modellbasierten Techniken zur
Entwicklung sicherheitskritischer Systeme sowie zur Analyse und zum
Reengineering existierender Software beschäftigt haben, die
damit gewonnenen Praxiserfahrungen einschätzen können, und
einen Überblick über vorhandene Werkzeuge und deren
Leistungsfähigkeit haben.
Im Anschluss an die
Vorlesung kann im März ein darauf aufbauendes
Seminar besucht werden.
Inhalt
Beispiele häufiger Sicherheitsprobleme Sicherheitsgrundlagen
- Sicherheitsanforderungen (Security)
- Sicherheitsfunktionen (Authentifizierung u.a.)
- Sicherheitskonzepte (Autorisierung u.a.)
Sicherheitsrisiken und Bedrohungen Abwehrmechanismen
- Kryptographie, Signaturen
- Zutrittskontrolle, Berechtigungen
- Netzwerksicherheit, mobile Systeme
- Java und C Sicherheit
- Smart Cards
Richtlinien und Normen für sichere Systeme
- Common Criteria (ISO 15408)
Modellbasierte Techniken zur Entwicklung sicherer Systeme
sowie zu Sicherheits-Analyse existierender Software
- Vorgehensmodelle für die Entwicklung sicherer Systeme
- Sicherheitskritische Geschäftsprozesse mit UML
- Architektur-Sicherheitsanalyse: Secure Model-Driven
Architecture
- UML-Erweiterungen (UMLsec)
- Engineering-Prinzipien für sichere Systeme
- Sicherheits-Patterns und -Frameworks
- Sicherheits-Analyse, -Validierung und -Verifikation mit
UML und AutoFocus
- Sicherheits-Code-Analyse
- Automatisiertes Sicherheitstesten
- Management sicherheitskritischer Berechtigungen
Werkzeuge für die Sicherheitsanalyse Anwendungsbeispiele
aus industriellen Projekten
- Anwendungsdomänen: Banken, Versicherungen,
e-Government, e-Commerce, e-Business
- Bezahlsysteme auf Basis von Smart Cards
- Biometrische Authentifikationssysteme
Termine
Vorlesungen
- Montags, 14.00-16.00, GB IV Raum 322
Übung
- Montags, 12.00-14.00 im Raum 322, Jan Jürjens und
Martín Ochoa
Sonstiges
- Zu verlegende Termine (wg. Dienstreisen): 16.11.2009:
vorgezogen auf Mo 02.11.: 12.00-14.00 Uhr. 14.12.2009: TBD.
01.02.2010: TBD
- Gastvortragender: 23.11.2009, 14:15, GB 5, Raum 420
(Kolloquium): Prof. Dr. Peter Herrmann (Norges
teknisk-naturvitenskapelige universitet, Trondheim - Institutt for
telematikk): Kollaborationsbasierte Entwicklung verteilter Systeme
- Vorlesungsfreie Termine: 21./28.12.2009
Vorlesung
Folien
- Einführung (pdf)
- Netzwerksicherheit und Kryptographie (pdf)
- Modell-basierte Sicherheit mit UML (pdf)
- Secure Architectures (pdf)
- Kryptographische Protokolle (pdf)
(zu A. 10a: Folie 6; zu A. 11:
Axiome)
- Elektronische Geldbörsen (pdf)
- Biometrische Authentisierung (pdf)
- Models vs. Code (pdf)
Einordnung
Diplom
Schwerpunkte 1 (Software-Konstruktion) und 5 (Sicherheit und
Verifikation)
Master Informatik / Angewandte Informatik
Modul-Beschreibung
Literatur
Feedback
Wir haben großes Interesse an veranstaltungsbegleitendem Feedback,
um auf Änderungswünsche gleich (und nicht erst im
nächsten Semester) eingehen zu können. Bitte äußern
Sie entsprechende Hinweise im Anschluss an eine Vorlesung, per
email, oder auch über das
anonyme
Kontaktformular des Lehrstuhls (im letzteren Fall bitte die
Veranstaltung erwähnen, auf die sich der Hinweis bezieht).
Vielen Dank!
Kontakt
Zum
Profil von Prof. Dr. Jan Jürjens