Entwicklung sicherer Software

Dozenten Prof. Dr. Maritta Heisel
Jens Leicht, M.Sc.
Art Hybrid
Moodle-Kurs Entwicklung sicherer Software
Überblick Sicherheit bedeutet, dass ein System funktioniert, ohne seine Umgebung zu gefährden. Sie bedeutet aber auch, ein System vor Angriffen aus seiner Umgebung zu schützen. Software muss so entwickelt werden, dass das System, dass die Software enthält, die Sicherheitsanforderungen erfüllt. Bisher wurden Sicherheit und Schutz meist getrennt betrachtet. In naher Zukunft werden wir eine zunehmende Anzahl von Systemen haben, die sowohl Sicherheits- als auch Schutzanforderungen erfüllen müssen. Dieser Kurs zeigt, wie Sie Software erstellen, die sowohl zur Sicherheit als auch zum Schutz beiträgt.

Inhalte im Detail:

  • Schutzkonzept (Safety), Terminologie
  • Sicherheitskonzept (Security), Terminologie
  • Typische Schutzanforderungen (funktionelle Eigenschaften)
  • Typische Sicherheitsanforderungen (Vertraulichkeit, Verfügbarkeit, Integrität und deren verfeinerte Versionen)
  • Zusammenhänge von Sicherheit und Schutz, ergänzende und widersprüchliche Ziele.
  • Sicherheit und Schutz von Systemen vs. Sicherheit und Schutz von Software
  • Bedrohungs- und Risikoanalyse (einschließlich CORAS)
  • Maßnahmen zur Festlegung von Sicherheits- und Schutzeigenschaften (z. B. Architekturen, Infrastruktur und Protokolle)
  • Sicherheits- und Schutznormen (IEC 61508, Common Criteria, ISO 27001)
  • Prozess zur Entwicklung sicherer Software (Ermittlung von Sicherheits- und Schutzzielen, Anforderungsentwicklung und -analyse, Auswahl von Sicherheitsmechanismen, Sicherheits- und Schutzmechanismen in der Softwarearchitektur, Implementierungs- und Testfragen)
Lernziele Studenten können
  • Sicherheit (Security) und Schutz (Safety) beschreiben und ihre Wechselbeziehungen erklären
  • die Beziehung zwischen der Sicherheit von Systemen und Software erklären
  • Techniken zur Spezifikation von Sicherheits- und Schutzeigenschaften kennen und anwenden
  • die Rolle von Standards erläutern
  • Techniken kennen und erklären, um Sicherheits- und Schutzeigenschaften festzustellen
  • Erklären, wie Sie Software so entwickeln, dass die Sicherheits- und Schutzanforderungen von Anfang an berücksichtigt werden
Kontakt jens.leicht[at]uni-due.de