MIN113: Entwurf sicherer Anwendungssysteme

Kernmodule

MIN113: Entwurf sicherer Anwendungssysteme

Kurzporträt MIN113: Entwurf sicherer Anwendungssysteme
Worum geht es? Entwurf sicherer Anwendungssysteme behandelt Sicherheit als Architektur- und Entwicklungsaufgabe. Die Studierenden analysieren Bedrohungen, Schutzbedarfe, Vertrauensgrenzen, Identitäts- und Zugriffskonzepte sowie Sicherheitsmechanismen in neuen und bestehenden Anwendungssystemen.
Wofür braucht man es? Die Kompetenzen werden gebraucht, um Software nicht nachträglich zu flicken, sondern Sicherheit systematisch zu entwerfen, umzusetzen und zu überprüfen. Sie sind relevant für Websysteme, APIs, Unternehmensanwendungen, Plattformen und sicherheitskritische Dienste.
Wieso ist es interessant? Interessant ist das Modul, weil Sicherheit selten aus einer einzelnen Maßnahme entsteht. Erst das Zusammenspiel von Architektur, Code, Betrieb, Tests, Datenflüssen und Angreifermodellen entscheidet, ob ein System belastbar ist.
Modulverantwortung

Prof. Dr. Martin Grothe

Lehrperson(en)

Prof. Dr. Martin Grothe

Verwendbarkeit

Master Informatik

Fächergruppe

Informatik

Modultyp
Wahlpflicht
Sprache

Deutsch

Angebot

Wintersemester

Dauer

1 Semester

Credits

5 ECTS

Benotung

Deutsche Notenskala 1-5

SWS

4SL

Workload
Präsenzstudium: 45 Std. Selbststudium: 90 Std.
Engl. Titel

Design of Secure Application Systems

Empfohlene Voraussetzungen

Empfohlen werden Kenntnisse in Programmierung, Software Engineering, Softwarearchitektur, Softwaretests und Versionsverwaltung. Erwartet werden außerdem Grundlagen zu Web- und API-basierten Anwendungen, Datenbanken, Betriebssystemen, Rechnernetzen sowie zu grundlegenden Schutzzielen, Bedrohungen und Schutzmaßnahmen der IT-Sicherheit.

Lernergebnisse / Kompetenzen
WAS

Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, neue und bestehende komplexe Anwendungssysteme hinsichtlich ihrer Sicherheitsanforderungen, Bedrohungen, Schwachstellen und Architekturentscheidungen zu analysieren. Sie können geeignete Sicherheitsarchitekturen entwickeln, bestehende Systeme risikobasiert absichern und strukturell verbessern, ausgewählte Maßnahmen implementieren und deren Wirksamkeit überprüfen.

WOMIT

Die Studierenden erreichen dieses Lernergebnis, indem sie

  • fachliche Prozesse, Systemgrenzen, schützenswerte Werte, Datenflüsse, Schnittstellen und Vertrauensgrenzen analysieren,
  • bestehende Architekturen, Quelltexte, Konfigurationen und Abhängigkeiten erschließen und sicherheitsrelevante Schwächen identifizieren,
  • Bedrohungsmodelle erstellen, Angriffsflächen, Missbrauchsszenarien und Risiken priorisieren und daraus überprüfbare Sicherheitsanforderungen und Akzeptanzkriterien ableiten,
  • Architekturvarianten und Verbesserungsmaßnahmen hinsichtlich Sicherheit, Wartbarkeit, Performance, Kompatibilität und Betriebsaufwand vergleichen,
  • Prinzipien und Muster sicherer Softwarearchitekturen sowie Identitäts-, Authentifizierungs-, Autorisierungs-, Daten- und Secret-Management-Konzepte entwerfen oder verbessern,
  • Härtungs-, Refactoring- und Migrationsmaßnahmen für bestehende Anwendungssysteme planen und eine Sicherheitsarchitektur als lauffähigen Prototyp oder abgesicherten Systemteil umsetzen,
  • automatisierte Sicherheits-, Integrations-, Regressions- und Missbrauchstests entwickeln und die Wirksamkeit der Maßnahmen bewerten,
  • Architekturentscheidungen, Änderungen, Prüfergebnisse, technische Grenzen und verbleibende Risiken dokumentieren, präsentieren und verteidigen.
WOZU

Die Studierenden nutzen diese Kompetenzen, um neue Anwendungssysteme sicher zu entwerfen sowie bestehende und gewachsene Systeme systematisch zu untersuchen, abzusichern und nachhaltig weiterzuentwickeln. Sie können Sicherheitsmaßnahmen risikobasiert priorisieren, technisch umsetzen und deren Wirksamkeit nachvollziehbar nachweisen.

Inhalte
  • Security by Design, Secure by Default, Privacy by Design und Defense in Depth
  • Greenfield- und Brownfield-Entwicklung: sicherer Neuentwurf sowie Sicherheitsanalyse und Verbesserung bestehender Systeme
  • Sicherheitsanforderungen, Schutzbedarf, Security User Stories, Misuse Cases und überprüfbare Akzeptanzkriterien
  • Systemkontexte, Datenflussmodelle, Angriffsflächen, Vertrauensgrenzen und Bedrohungsmodellierung mit Angreiferprofilen, STRIDE, Attack Trees und Geschäftslogikbedrohungen
  • Schwachstellen-, Risiko- und Priorisierungsverfahren für technische und architektonische Sicherheitsprobleme
  • Sichere Architekturprinzipien und -muster, Sicherheits-Trade-offs und Architecture Decision Records
  • Identitäts- und Zugriffsarchitekturen: Authentifizierung, Autorisierung, Sitzungen, Tokens, Dienstidentitäten und Mandantenisolation
  • Sichere Web-, API- und Servicearchitekturen einschließlich Eingabevalidierung, serverseitiger Autorisierung, sicherer Kommunikation und Fehlerbehandlung
  • Daten-, Schlüssel-, Zertifikats- und Secret-Management
  • Sicherheitsorientiertes Refactoring, Systemhärtung, Resilienz und Missbrauchsschutz (Rate Limiting, Timeouts, Idempotenz, sichere Degradation)
  • Security Logging, Monitoring, Auditierbarkeit und Sicherheitsverifikation durch Reviews, negative Tests sowie statische und dynamische Analyse
  • Sicherheitsstandards und Rahmenwerke (OWASP ASVS, OWASP SAMM, NIST SSDF, BSI) sowie praktische Analyse und Absicherung eines Anwendungssystems
Prüfungsvorleistung

Erfolgreiche Bearbeitung semesterbegleitender Aufgaben, beispielsweise zur Sicherheitsanalyse bestehender Systeme, Bedrohungsmodellierung, Architekturentwicklung, Implementierung und Sicherheitsverifikation.

Prüfungsleistung

Studien- oder Projektarbeit. Das Prüfungskonzept ist als Projektarbeit mit Präsentation und Fachgespräch ausgestaltet und umfasst den sicheren Entwurf eines neuen Anwendungssystems oder die Analyse, Absicherung und strukturelle Verbesserung eines bestehenden Systems. Die Studierenden erstellen ein Bedrohungsmodell, leiten überprüfbare Sicherheitsanforderungen ab, entwickeln und bewerten geeignete Architekturmaßnahmen und implementieren Sicherheitsmechanismen in einem lauffähigen Prototyp oder Bestandssystem. Die Wirksamkeit der Maßnahmen wird durch automatisierte Sicherheits-, Integrations-, Regressions- und Missbrauchstests überprüft. Architekturentscheidungen, Änderungen, Prüfergebnisse, Auswirkungen und verbleibende Risiken werden dokumentiert und fachlich verteidigt.

Literatur
  • R. Anderson: Security Engineering: A Guide to Building Dependable Distributed Systems.
  • A. Shostack: Threat Modeling: Designing for Security.
  • D. Johnsson, D. Deogun, D. Sawano: Secure by Design.
  • M. Fowler: Refactoring: Improving the Design of Existing Code.
  • OWASP: Application Security Verification Standard und Software Assurance Maturity Model, jeweils in aktueller Fassung.
  • Aktuelle wissenschaftliche Publikationen, Standards und technische Dokumentationen zu sicherer Softwareentwicklung, Bedrohungsmodellierung und Sicherheitsarchitekturen.