TU Wien:Software Security VU (Weippl)

From VoWi
Jump to navigation Jump to search
Diese LVA wurde ersetzt durch TU Wien:Systems and Applications Security VU und befindet sich daher nur noch zu historischen Zwecken im VoWi.

Daten[edit | edit source]

Lecturers Bernhard GarnEdgar Weippl
ECTS 3
Alias Software Security (en)
Department Information Systems Engineering
When summer semester
Last iteration 2020SS
Language "if required in english" was not recognized as a supported language code.
Links tiss:188959
Zuordnungen
Master Software Engineering & Internet Computing Wahlmodul Advanced Security
Master Business Informatics Wahlmodul ISE/EXT - Information Systems Engineering Extension
Master Data Science Wahlmodul FDS/EX - Fundamentals of Data Science - Extension

Mattermost: Channel "software-security"RegisterMattermost-Infos

Inhalt[edit | edit source]

Theory: - Towards a more secure software, - software quality requirement, - development of secure software in teams; - Applied examples: Implementation of security aspects in small JAVA and/or C# applications. Specific content: - Security in distributed systems, - buffer overflows and unexpected input, - authentication and authorization, - trust management and PKI, cryptographic libraries. There will be one large project that covers both the theory and the practical part. Topics will be discussed in the first lecture on Mar 8. We will use two books to cover the theory (see TUWEL course for details); the practical part will be the implementation of a project of your choice; prior to starting with the implementation, you will need to discuss the project with the lecturer. An oral exam will cover the theory and you will need to explain how you implemented the project. Prerequisites: - Programming experience in C++/C/Java/C# - theoretical knowledge of the classes Security and Internet Security

Themen SS17 (chronologisch):

  • OWASP Advanced Topics
  • Reverse Engineering
  • Software Analysis
  • (Midterm exam)
  • Web Security Testing
  • Language Security
  • Security Protocol Interaction Testing
  • Smart Contracts
  • (Final exam)

Ablauf[edit | edit source]

4 Vorlesungstermine mit mehr oder weniger willkürlich gewählten Themen. Im SS 2013 unter anderem Code Obfuscation, Cloud and Data Security and Web Application Security. Das Thema Cloud and Data Security hatte nur marginal mit dem Thema Security zu tun. 3 Assignments waren zu lösen und es gab 2 schriftliche Tests.

Benötigte/Empfehlenswerte Vorkenntnisse[edit | edit source]

Die Inhalte eines Introduction to Security sollten bekannt sein. Für die Challenges keine Scheu, sich auch mal mit good old C Code und Assembler auseinanderzusetzen (Übersetzerbau von Vorteil!).

Vortrag[edit | edit source]

noch offen

Übungen[edit | edit source]

SS20[edit | edit source]

1. TLS Backdoor[edit | edit source]

Ein Backdoor in eine SSL Library einbauen, sodass ein Angreifer bei Client-Key Verification unter bestimmten Umständen Zugriff erhält.

Vor SS20[edit | edit source]

1. sshd Backdoor[edit | edit source]

Einen kleinen Backdoor-Patch für den OpenSSH Server entwickeln, der einem eigenen Keypair immer Zugriff gewährt.

2. Web Application Analysis[edit | edit source]

Das VM-Image eines gehackten Webservers (PHP-CMS) analysieren, und:

  • eine ungefähre Timeline der Attacke rekonstruieren und begründen,
  • weiteres Schadenspotential eruieren,
  • alle gefundenen Schwachstellen kategorisieren sowie
  • fixen.

3. Binary Analysis / Code Obfuscation[edit | edit source]

Ein Linux-ELF-Binary analysieren, welches von sich aus nicht viel macht.

Mittels Debugger, Disassembler und Hexeditor mögliche Trigger Conditions finden und patchen, so dass das Programm seine geheime Nachricht preisgibt (z.B. Datum und Tageszeit).

Prüfung, Benotung[edit | edit source]

Midterm sowie Final exam, mit der Möglichkeit eines nach Wahl erneut zu absolvieren.

Gewichtung 50/50 Assignments und written exams, wobei jeder Teil für sich positiv sein muss.

Dauer der Zeugnisausstellung[edit | edit source]

noch offen

Zeitaufwand[edit | edit source]

Angemessen, bei etwas vorhandener Erfahrung mit C/PHP/Disassembling nicht zu hoch.

Unterlagen[edit | edit source]

Benötigte Bücher zur Vorlesung (in TUWEL zum Download):

  • Gary McGraw - Software Security: Building Security In
  • The IDA Pro Book - Guide to the World's most popular Disassembler
  • Materialien

Tipps[edit | edit source]

Verbesserungsvorschläge / Kritik[edit | edit source]

noch offen