Vorlesung Entwicklung sicherer Software (Sommersemester 2007)
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.
Die Vorlesung wird an der Universität Hannover und vorraussichtlich auch an der FH Hannover angeboten. Dozent ist Univ.-Doz. Dr. Thorsten Schneider.
Stoffplan
Einführung in das Thema “Secure Software Engineering”
- Zahlen und Fakten
- Begriffsabgrenzungen (Hacker vs. Cracker, Security vs. Safety)
- Problemstellungen
- Klassifikation von Angriffsverfahren
- Klassifikation von Schutzverfahren
Terminologie im Secure Software Engineering
- Standards
- Normen
- Begrifflichkeiten der Community und der Szene
- Abgrenzungen zu den anderen IT-Security Fachgebieten
Modelle im Secure Software Engineering
- Vorgehensmodelle für die IT-Sicherheit
- The Trustworthy Security Development Lifecycle
- CLASP
Management und Secure Software Engineering
- Tätigkeiten und Verantwortung des Managements
- Secure Software Auditing
- Kosten-, Aufwand- und Risikoanalysen (Security Risk Management)
- Tiger Teams
- Schwachstellen-Datenbanken
Verfahren im Secure Software Engineering
- Security Requirements
- Richtlinien für die Berichterstattung
- Abuse Cases und Misuse Cases
- Security Modeling, sicheres Design und sichere Architektur
- Threat Modeling und Attack Trees
- Security Testing
- Security Auditing
Methoden im Secure Software Engineering
- Penetrationstests auf Applikationsebene
- Penerationstests auf Web-Ebene
- Fuzzing
- Statische und Dynamische Code-Analyse
- Reverse Code Engineering
- Testen auf Sicherheitsschwachstellen
Entwicklung sicherer binärer Applikationen
- Buffer Overflows
- Heap Overflows
- Format String Schwachstellen
- Exploitation und Shellcodes
Entwicklung sicherer Web-Applikationen
- PHP-Schwachstellen
- SQL Injection
Erweiterte Schutzverfahren
- Prävention von Reverse Code Engineering Analysen
- Elimination symbolischer Informationen
- Grundlagen binärer Dateien (Dateiformate: PE-Files, ELF-Files)
- Virale und maligne Methoden als Schutzverfahren
- Code Encryption und Self-Encryption
- Anti-Disassembler Methoden
- Anti-Debugger Methoden
- Code Obfuskation
- Kontrollfluss Transformationen, Anti-Decompiler Methoden
- Datentransformationen
- Packer, Shrinker und Crypter
- Binary Watermarking
Terminplan Uni Hannover 15:30 - 18:30
- 16.04.2007 - Vorlesung
- 23.04.2007 - Vorlesung
- 30.04.2007 - ENTFÄLLT (Brückentag zum 1. Mai)
- 07.05.2007 - Vorlesung
- 14.05.2007 - Vorlesung
- 21.05.2007 - Vorlesung
- 28.05.2007 - ENTFÄLLT (Brückentag / Pfingstmontag)
- 04.06.2007 - Vorlesung
Terminplan FH Hannover 14:30 - 18:30
- 14.03.2007 Vorlesung und Übung
- 21.03.2007 Vorlesung und Übung
- 28.03.2007 Vorlesung und Übung
- 18.04.2007 Vorlesung und Übung
- 25.04.2007 Vorlesung und Übung
- 02.05.2007 Vorlesung und Übung
- 09.05.2007 Vorlesung und Übung
- 16.05.2007 Vorlesung und Übung
- 23.05.2007 Vorlesung und Übung
- 30.05.2007 Vorlesung und Übung
- 06.06.2007 Vorlesung und Übung
- 13.06.2007 Vorlesung und Übung
Literaturempfehlungen
- Pavol Cerven: “Crackproof Your Software”, No Starch Press, 2002
- Adam Young and Moti Yung: “Malicious Cryptography - Exposing Cryptovirology”, Wiley, 2004
- Eldad Eilam: “Reversing - Secrets of Reverse Engineering”, Wiley, 2005
- James C. Foster: “Sockets, Shellcode, Porting & Coding - Reverse Engineering Exploits and Tool Coding for Security Professionals”, Syngress, 2005
- Peter Szor, “The Art of Computer Virus Research and Defense”, Addison-Wesley,2005
- Greg Hoglund und Gary McGraw: “Exploiting Software: How to Break Code”, Addison-Wesley, 2004
- Michael Howard und David C. LeBlanc: “Writing Secure Code”, Microsoft Press, 2002

