MIN113: Entwurf sicherer Anwendungssysteme
Kernmodule
MIN113: Entwurf sicherer Anwendungssysteme
Prof. Dr. Martin Grothe
Prof. Dr. Martin Grothe
Master Informatik
Informatik
Deutsch
Wintersemester
1 Semester
5 ECTS
Deutsche Notenskala 1-5
4SL
Design of Secure Application Systems
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.
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.
- 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
Erfolgreiche Bearbeitung semesterbegleitender Aufgaben, beispielsweise zur Sicherheitsanalyse bestehender Systeme, Bedrohungsmodellierung, Architekturentwicklung, Implementierung und Sicherheitsverifikation.
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.
- 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.