Entwicklung sicherer Software

Lecturer Dr.-Ing. Denis Hatebur
Prof. Dr. Maritta Heisel
Art Vorlesung (2 SWS) und
Übung(2 SWS)
in deutscher oder englischer Sprache mit englischen Folien und Arbeitsmaterial
Syllabus Der Terminus "Sicherheit" wird in zwei Bedeutungen verwendet: Safety bedeutet, dass ein System funktioniert, ohne seine Umwelt zu gefährden. Security bedeutet, dass ein System vor Angriffen aus seiner Umwelt geschützt werden muss. Software muss so konstruiert werden, dass das System, innerhalb dessen die Software eingesetzt wird, geforderte Sicherheitseigenschaften erfüllt. Bisher wurden Safety und Security weitgehend getrennt betrachtet und behandelt. Jedoch sind immer mehr Systeme sowohl Safety- als auch Security-kritisch. Diese Veranstaltung zeigt Wege auf, Software so zu konstruieren, dass sie beiden Arten von Sicherheit gerecht wird. Inhalt im Einzelnen:
  • Konzept von Safety, Terminologie
  • Konzept von Security, Terminologie
  • Typische Safety-Anforderungen
  • Typische Security-Anforderungen (Vertraulichkeit, Verfügbarkeit, Integrität und deren Derivate)
  • Zusammenhang von Safety und Security, sich ergänzende und sich widersprechende Ziele
  • Bedrohungsanalysen für Safety und Security (z.B. Hazard Analysis, Angreifermodellierung)
  • Sicherheit von Systemen vs. Sicherheit von Software
  • Bedrohungs- und Risikoanalyse (auch mit CORAS)
  • Maßnahmen zur Etablierung von Safety- und Security-Eigenschaften (z.B. Sicherheitsarchitekturen, Sicherheitsinfrastrukturen, Protokolle)
  • Standards für Safety und Security (IEC 61508, Common Criteria, ISO 27001)
  • Prozess zur Entwicklung sicherer Software (Erhebung und Repräsentation von Sicherheitszielen, Abwägung konfligierender Anforderungen, Auswahl von Sicherheitsmechanismen, Einfließen von gewählten Sicherheitsmechanismen in die Architektur der Software, Implementierungs- und Testaspekte)
Lernziele Die Studenten sind in der Lage:
  • Safety und Security beschreiben und deren Zusammenhänge erklären können
  • Sicherheit von Systemen mit Sicherheit von Software in Verbindung setzen können
  • Techniken zur Spezifikation von Sicherheitseigenschaften kennen und anwenden können
  • Rolle von Standards erklären können - Techniken zur Etablierung von Safety und Security nennen und erklären können
  • Erklären können, wie Software so konstruiert werden kann, dass Sicherheitsanforderungen von vorneherein berücksichtigt werden
Studien-/Prüfungsleistung Schriftliche Klausurarbeit auf englisch und deutsch (90 Minuten) oder mündliche Prüfung auf englisch oder deutsch (30-45 Minuten)
Kontakt denis.hatebur[at]uni-duisburg-essen.de