SE5003 Secure Coding

Modulverantwortliche
  • Prof. Dr. Andre Rein
Lehrende
  • Tobias Mierzwa
  • Prof. Dr. Andre Rein
Notwendige Voraussetzungen zur Teilnahme

Keine

Empfohlene Voraussetzungen zur Teilnahme

Keine

Kurzbeschreibung

Vertiefung der Kenntnisse der sicheren Softwareentwicklung. Die erlernten Fähigkeiten werden im Rahmen eines praktischen Übungslabors angewendet und gefestigt.

Inhalte

In dem Modul werden grundlegende Aspekte der sicheren Softwareentwicklung vermittelt.

  • Secure Software Development Life Cycle (SSDLC)
  • Threat Modeling
  • Fuzzing
  • Identifikation und Abwehrmaßnahmen von modernen Sicherheitslücken
  • Design und Implementierung von Logging und Audit Trails
  • Entwicklung von Sicherheitslösungen für eine anfällige Anwendung
  • Aktuelle Tools für Secure Coding
Qualifikations- und Lernziele

Fachkompetenzen

  • Die Studierenden sind in der Lage, die einzelnen Phasen des Secure Software Development Life Cycle (SSDLC) zu erläutern und geeignete Technologien für deren Umsetzung auszuwählen.
  • Sie können die am meisten verbreiteten Sicherheitsrisiken für Anwendungen benennen, verstehen und beschreiben.
  • Sie können Schwachstellen in Anwendungen identifizieren und geeignete Sicherheitslösungen entwickeln.

Methodenkompetenzen (fachlich & überfachlich)

  • Die Studierenden sind in der Lage Sicherheitstests auf Applikationsebene, aus der Sicht eines Angreifers, umzusetzen.
  • Sie können die Werkzeuge zur Umsetzung der einzelnen Phasen des SSDLC anhand von prototypischen Fallbeispielen und anhand geeigneter Methoden anwenden.

Sozialkompetenzen

  • Die Studierenden können Ideen und Ergebnisse präsentieren und in einem fachlichen Diskurs reflektieren.
  • Sie können anhand von Anwendungsbeispielen eigene Standpunkte entwickeln und diese mit Argumenten untermauern, die auf Methoden- und Fachkenntnissen basieren.

Selbstkompetenzen

  • Die Studierenden sind in der Lage die Wichtigkeit der einzelnen Phasen vom Secure Software Development Life Cycle (SSDLC) für zukünftige Projekte einzuordnen,
  • Sie können sich mit dem in der Veranstaltung erarbeiteten Wissen selbstständig in alternative Konzepte für sichere Entwicklung von Anwendungen einarbeiten und diese anwenden.
ECTS-Leistungspunkte (CrP)
  • 6 CrP
  • Arbeitsaufwand 180 Std.
  • Präsenzzeit 60 Std.
  • Selbststudium 120 Std.
Lehr- und Lernformen
  • 4 SWS
  • Seminar/Seminaristischer Unterricht 2 SWS
  • Praktikum 2 SWS
Studiensemester
  • Informatik (M.Sc. 2022)
  • Ingenieur-Informatik (M.Sc. 2022)
Dauer
1 Semester
Häufigkeit des Angebots
Nach Bedarf
Unterrichtssprache
Deutsch
Bonuspunkte

Nein

Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.

Prüfungsleistungen

Prüfungsvorleistung:

Übungsaufgaben und/oder Hausübungen

(Art und Anzahl wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)

Prüfungsleistung:

Mündliche Prüfung oder Projekt oder eine Kombination aus beiden.

(Art des Leistungsnachweises wird den Studierenden rechtzeitig

und in geeigneter Weise bekannt gegeben.)

Benotung
Die Bewertung des Moduls erfolgt gemäß §§ 9, ggf. 12 (Teilleistungen), ggf. 18 (Arbeiten, Kolloquien) der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung).
Verwendbarkeit
Gemäß § 5 der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung) Verwendbarkeit in allen Masterstudiengänge der THM möglich.
Literatur, Medien
  • Adam Shostack: Threat Modeling: Designing for Security
  • NIST SP 800-53 Rev. 5 Security and Privacy Controls for Information Systems and Organizations
  • ISO/IEC 27034-1 http://www.iso27001security.com/html/27034.html
  • OWASP TOP https://owasp.org/www-project-top-ten/
  • Aktuelle Literatur und Publikationen

Rechtliche Hinweise