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?
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.

Neuigkeiten

  • 20.06.2012 - ! DIE VORLESUNG FÄLLT AM 3. JULI LEIDER AUS !
  • 08.08.2012 - Die mündlichen Prüfungen finden in Raum 333 in der OH14 statt

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

Dienstags, 16:15-18:00 Uhr, OH14, Raum E02

Übung

Mittwochs, 16:15-18:00 Uhr, OH14, Raum 304

 

Die Übung am 11.04.2012 fällt aus.

Die Übung am 25.04.2012 fällt krankheitsbedingt aus.

Die Übung am 02.05.2012 fällt wegen der Fachschaftsvollversammlung (FVV) aus.

Die Übung am 04.07.2012 fällt aus.

 

Prüfungstermine

Die mündlichen Prüfungen werden am 08.08.2012 sowie am 09.08.2012 durchgeführt. Die Reservierung eines Prüfungstermins kann über den folgenden Link vorgenommen werden. Die Reservierung ersetzt nicht die Anmeldung der Prüfung beim Prüfungsamt.

Die Deadline für die Reservierung ist der 08.07.2012 bis spätestens 24 Uhr.

Vorlesungsfolien

Termine

  • Di 03.04.12: Teil 0
  • Di 10.04.12: Teil 1
  • Di 17.04.12: Teil 2
  • Di 22.04.12: Teil 3
  • Di 01.05.12: Feiertag
  • Di 08.05.12: Teil 4 bis Folie 21
  • Di 15.05.12: Teil 0 Folie 17, Teil 4 ab Folie 22, Teil 5 bis Folie 27
  • Di 22.05.12: Teil 5 ab Folie 27, Teil 6 bis Folie 22
  • Di 29.05.12: Teil 6 ab Folie 22, Teil 7
  • Di 05.06.12: Teil 8, Teil 9 (bis Folie 7)
  • Di 12.06.12: Teil 9 (ab Folie 8), Teil 10 (bis Folie 13)
  • Di 19.06.12: Teil 10 (ab Folie 11 bis Folie 35)
  • Di 26.06.12: Teil 10 (ab Folie 36), Teil 10a
  • Di 03.07.12: FÄLLT AUS !
  • Di 10.07.12: Teil 10b, Wiederholung

Übungsblätter

Die Übungsblätter werden Dienstags nach dem Ende der Vorlesung bereitgestellt. Pro Übungsblatt sind maximal 10 Punkte erreichbar, wobei es insgesamt 11 Übungsblätter geben wird. Zum Bestehen der Studienleistung werden 50% der insgesamt erreichbaren Punkte benötigt. Einwurf der Lösungen in den Briefkasten 5 in der OH20 bis spätestens Montags, 14:00 Uhr. Weitere Leerungen des Briefkastens erfolgen nicht. Gruppenabgaben von bis zu zwei Studierenden sind erlaubt. Abgaben in elektronischer Form (E-Mail) werden nicht akzeptiert.

Leistungsnachweis

Diplom

Für Studierende nach den Prüfungsordnungen 2000/2001: Studierende können zu dieser Lehrveranstaltung einen Leistungsnachweis erwerben oder eine Fachprüfung ablegen. Leistungsnachweise über den erfolgreichen Besuch von Vorlesung und Übungen werden erteilt, sofern die Studierenden die von den Veranstaltern festgelegten Kriterien für eine erfolgreiche Bearbeitung der Übungsaufgaben erfüllen. Eine Fachprüfung kann in Form einer mündlichen Prüfung am Ende des Semesters abgelegt werden.

Master Informatik / Angewandte Informatik

Die Prüfungsleistung wird anhand der Modulprüfung in Form einer schriftlichen oder einen mündlichen Prüfung ermittelt. Die Bearbeitung der Übungsaufgaben bereitet auf die Teilnahme an der Modulprüfung vor. Die erfolgreiche Bearbeitung der Übungsaufgaben ist Voraussetzung für die Teilnahme an der Fachprüfung. NB: Bachelorstudenten, die ein Master-Studium an der TU Dortmund anstreben, dürfen zwar an der Vorlesung teilnehmen, allerdings dürfen sie erst zu der Vorlesung geprüft werden, wenn sie dann schon im Masterstudium sind.

Einordnung

Diplom

Modul-Beschreibung

Master Informatik / Angewandte Informatik

Schwerpunkte 1 (Software-Konstruktion) und 5 (Sicherheit und Verifikation)

Literatur

  • Jan Jürjens: Secure Systems Development with UML, Springer 2005 (https://rgse.uni-koblenz.de/jj/umlsec)

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