Sichere Softwareentwicklung
Dieser Kurs vermittelt die notwendigen Grundlagen der sicheren Softwareentwicklung, um typische Software-Verwundbarkeiten zu erkennen und zu vermeiden. Durch das praktische Ausnutzen solcher Verwundbarkeiten bzw. das gezielte Durchführen von Angriffen wird ein tiefgehendes Verständnis für deren Ursachen und Auswirkungen geschaffen. Dieses Wissen befähigt dazu, bei der eigenen Implementierung von Softwaresystemen konsequent nach dem Secure-by-Design-Ansatz vorzugehen und potenzielle Verwundbarkeiten von Anfang an zu vermeiden.
Lehrinhalte:
- Einführung in die sichere Softwareentwicklung
- Secure Software Development Lifecycle & Threat Modeling
- Grundlagen der Softwaresicherheit
- Prinzipien des sicheren Programmierens
- Grundlagen von Angriffen
- Vorbereitung, Durchführung und Analyse typischer Softwareangriffe, u. a. SQL-Injection, Cross-Site-Scripting (XSS), Format-String
- Analyse typischer Programmierfehler, die zu Sicherheitslücken führen
Literatur: keine
Voraussetzungen: Grundlegende Programmiererfahrung in mindestens einer Programmiersprache wie Java oder C/C++. Grundlegende Linux-Kenntnisse sind von Vorteil.
