Fakultät für Informatik

TU München - Fakultät für Informatik
Software- and Systems Engineering Research Group

TUM

Vorlesung | Sommersemester 2005
Modellbasierte Softwaretechniken für sichere Systeme
Dr. Jan Jürjens

 

Vorlesung

Die Vorlesung ist im Bereich:  Praktische Informatik I, Vorlesung: 2 + 1 Std.

Zeit und Ort der Vorlesung:  Donnerstags, 14.15-15.45, Zimmer 01.11.018 (Konrad Zuse)
keine Vorlesung am: 5.5., 19.5 und 26.5
Beginn:  14.4.2005
Ende:  14.7.2005
Übung:  Donnerstags, 13.15-14.00 bzw. 16.00-16.45 jeweils im Raum 1.11.18 Ali Sunyaev (sunyaev/at/in.tum.de), Mark Yampolskiy (mark_yampolskiy/at/yahoo.com)
Scheinkriterium:  50% Aufgabenpunktzahl, aktive Teilnahme an Uebungen, mdl. Test. Die bei den Übungen erreichte Note fließt mit 15% in die Endnote ein.
Prüfbarkeit (Diplomprüfung), ECTS-Credits:  wird am 14.4. vereinbart
Sprache:  Deutsch mit englischen Folien (bei Bedarf Präsentation auch auf Englisch)
Mailing-Liste:  Aktuelle Informationen werden über die Vorlesungs-Mailingliste verschickt (Admin: sunyaev/at/in.tum.de)
Kontakt:  Jan Jürjens

Hörerkreis:  Studenten der Informatik in den Studiengängen Bachelor, Master, Aufbaustudenten und Diplom nach dem Vordiplom
Empfehlenswert für:   Hauptfach und Nebenfach Informatik

Anmerkung:  Die Vorlesung ist als Vertiefung (nicht Ersatz) der allgemeinen Software-Engineering-Vorlesungen (wie z.B. Software Engineering II) gedacht. Grundkenntnisse im Software Engineering (z.B. die wichtigsten UML Diagramme) werden vorausgesetzt.

Überblick:

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.

Folien zur Vorlesung:

  • 14.04.05: Einführung (pdf)
  • 21.04.05: Netzwerksicherheit und Kryptographie (pdf)
  • 28.04.05: Modell-basierte Sicherheit mit UML (pdf)
  • 19.05.05: Secure Architectures (pdf)
  • 02.06.05: Kryptographische Protokolle (pdf)
  • 09.06.05: Elektronische Geldbörsen (pdf)
  • 16.06.05: Biometrische Authentisierung (pdf)
  • 23.06.05: Secure Layered Architectures (pdf)
  • 30.06.05: Konfigurationen (pdf)
  • 07.07.05: Methodolgy (pdf)
Alle Folien (8,5 MB !).

Musterlösungen:


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

Literatur:

SEP, BA, DA, MA, Werkvertrag:

Im Zusammenhang mit den in der Vorlesung behandelten Themen werden auch SEPs, BAs, DAs, MAs und Werkverträge betreut bzw. vergeben.


Dr. Jan Jürjens, 05.04.2005

© Software & Systems Engineering Research Group
Sitemap |  Kontakt/Impressum
Letzte Änderung: 2005-07-21 10:10:35