Entwicklung sicherer Software SS 2008


Dr. Thorsten Schneider

 

Vorlesung (2V), 3 Credit-Points

Termin Mo, 15:00-18:00, MM-Hörsaal, Appelstraße 4
Beginn 07.04.2008
Prüfung Klausur

ACHTUNG: ES HAT SICH AUFGRUND DES WUNSCHES DER STUDENTEN EINE TERMINÄNDERUNG ERGEBEN!

Lernziele

Diese Vorlesung vermittelt Studenten Grundlagen der Entwicklung sicherer Software aus drei unterschiedlichen Sichten. Zum einem wird die Sicht des Secure Software Engineering vermittelt, welches Methoden, Verfahren und Prozesse für die Entwicklung sicherer Software Systeme zur Verfügung stellt. Die zweite Sicht vermittelt den Studenten die Sichtweise des Software Managements, welches für die Erstellung sicherer Software verantwortlich ist. Die dritte Sicht wird von dem Standpunkt des Software Entwicklers aus betrachtet, der für die Implementierung sicheren Codes zuständig ist. Kenntnisse aus den Vorlesungen zur Softwaretechnik und Software-Qualität werden um Sicherheitsaspekte ergänzt. Die Modellierung sicherer Softwaresysteme und die Kenntnisvermittlung von Angriffsmethodiken und sicherer Programmierung sind wesentlicher Anteil der Veranstaltung. Praktische Beispiele vertiefen das Wissen.

Im Rahmen der Vorlesung werden die Vorlesungsfolien bereitgestellt. Weiterhin werden übungsaufgaben und praktische übungen für das persönliche Training zur Verfügung gesetellt

Stoffplan

Abweichungen sind möglich!

Block 1 - Secure Software Engineering

Teil 1 - Einführung in das Thema Secure Software Engineering
Teil 2 - Terminologie im Secure Software Engineering
Teil 3 - Modelle im Secure Software Engineering

Block 2 - Spezifische Methoden des Secure Software Engineering

Teil 1 - Verfahren im Secure Software Engineering
Teil 2 - Management und Secure Software Engineering
Teil 3 - Methoden im Secure Software Engineering

Block 3 - Secure Code für Web Applikationen

Teil 1 - PHP Exploited
Teil 2 - SQL Injection

Block 4 - Secure Code für Binäre Applikationen

Teil 1 - Sichere C/C++ Entwicklung und Source Code Audits
Teil 2 - Buffer Overflows
Teil 3 - Training: Exploitation von Buffer Overflows

Block 5 und 6 - Grundlagen des Binary Auditing

Teil 1 - Einführung in x86 Assembler
Teil 2 - Einführung in IDA Pro
Teil 3 - Identifikation von HLL Strukturen
Teil 4 - Training: Binary Audits & Crash Analysis
Teil 5 - Training: Binary Auditing von Kopierschutzverfahren

Terminplan

Literaturempfehlungen