Vorlesung Entwicklung sicherer Software (Sommersemester 2008)
ACHTUNG: ES HAT SICH AUFGRUND DES WUNSCHES DER STUDENTEN EINE TERMINÄNDERUNG ERGEBEN!
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 Leibnitz Universität Hannover angeboten.
Dozent
Dozent ist Univ.-Doz. Dr. Thorsten Schneider
Veranstaltungsort
Multimedia-Hörsaal der Leibnitz Universität Hannover
Hinweis
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
Trainingsmaterial:
- Damn Vulnerable Linux Strychnine+E605
[Webseite]
[direkter Download 1.6 GB Grösse!] - Damn Vulnerable Linux enthält alle relevanten Werkzeuge und Trainingsmaterialien!
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
Trainingsmaterial:
- Damn Vulnerable Linux Strychnine+E605
[Webseite]
[direkter Download 1.6 GB Grösse!] - Damn Vulnerable Linux enthält alle relevanten Werkzeuge und Trainingsmaterialien!
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 Uni Hannover 15:00 -17:45
- 07.04.2008 - Vorlesung
- 21.04.2008 - Vorlesung
- 05.05.2008 - Vorlesung
- 19.05.2008 - Vorlesung
- 26.05.2008 - Vorlesung (geändert!)
- 23.06.2008 - Vorlesung
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
Weitere Literatur
- Hacker Disassembling Uncovered
- Hacker Debugging Uncovered
- Disassembling Code: IDA Pro and SoftICE
- Reversing: Secrets of Reverse Engineering
- Sockets, Shellcode, Porting and Coding: Reverse Engineering Exploits and Tool Coding for Security Professionals
- Exploiting Software. How to Break Code.: How to Break Code
- The Shellcoder’s Handbook. Discovering and Exploiting Security Holes
- Art of Computer Virus Research and Defense
- Buffer Overflow Attacks. Detect, Exploit, Prevent
- Rootkits. Subverting the Windows Kernel
- Assembly Language for Intel-Based Computers
- Rootkits: Subverting the Windows Kernel
- Secure Coding in C and C++. (SEI Series in Software Engineering)
- Secure Programming with Static Analysis. Getting Software Security Right with Static Analysis
- Secure Coding in C and C++. (SEI Series in Software Engineering)
- Writing Secure Code.
- Building Secure Software. How to Avoid Security Problems the Right Way.: How to Avoid Security Problems the Right Way (Addison-Wesley Professional Computing)
- Microsoft Windows Internals
- CD Cracking Uncovered: Protection Against Unsanctioned CD Copying
- The Windows 2000 Device Driver Book, A Guide for Programmers, Second Edition
- Microsoft Windows Security Inside Out for Windows XP and Windows 2000
- 19 Deadly Sins of Software Security: Programming Flaws and How to Fix Them
- Buffer Overflow Attacks Detect Exploit, Prevent
- Debugging By Thinking A Multidisciplinary Approach
- Exploiting Software How to Break Code

