TU Wien:Software Security VU (Weippl)

Aus VoWi
Wechseln zu: Navigation, Suche

Daten[Bearbeiten]


Inhalt[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]

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]

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]

noch offen

Übungen[Bearbeiten]

1. sshd Backdoor[Bearbeiten]

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

2. Web Application Analysis[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]

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]

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]

noch offen

Zeitaufwand[Bearbeiten]

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

Unterlagen[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]

Verbesserungsvorschläge / Kritik[Bearbeiten]

noch offen