TU Wien:Software Security VU (Weippl)

Aus VoWi
Zur Navigation springen Zur Suche springen
Diese LVA wurde ersetzt durch TU Wien:Systems and Applications Security VU und befindet sich daher nur noch zu historischen Zwecken im VoWi.

Daten[Bearbeiten | Quelltext bearbeiten]

Vortragende Bernhard GarnEdgar Weippl
ECTS 3
Letzte Abhaltung 2020S
Sprache „if required in english“ ist kein zulässiger Sprachcode.
Mattermost software-securityRegisterMattermost-Infos
Links tiss:188959, eLearning
Zuordnungen
Masterstudium Data Science
Masterstudium Business Informatics
Masterstudium Software Engineering & Internet Computing


Inhalt[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

noch offen

Übungen[Bearbeiten | Quelltext bearbeiten]

SS20[Bearbeiten | Quelltext bearbeiten]

1. TLS Backdoor[Bearbeiten | Quelltext bearbeiten]

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

Vor SS20[Bearbeiten | Quelltext bearbeiten]

1. sshd Backdoor[Bearbeiten | Quelltext bearbeiten]

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

2. Web Application Analysis[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

noch offen

Zeitaufwand[Bearbeiten | Quelltext bearbeiten]

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

Unterlagen[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]

noch offen