TU Wien:Advanced Security for Systems Engineering VU (Fankhauser)

Aus VoWi
Wechseln zu: Navigation, Suche


Daten[Bearbeiten]


Inhalt[Bearbeiten]

Vorlesungen zu den Themen:

  • Web Application Security (SQL Injection, XSS, CSRF, Session Fixation Attacks, ...)
  • XML Security (XML Signature/Encryption, multiple attacks, WS-*, ...)
  • Attacks on Applications 1 (Stack Buffer Overflow attacks, Shellcode Writing, Stack Canary, W^X, Attacks/Mitigations, ...)
  • Attacks on Applications 2 (Race Conditions access/open, String Format Vul., Integer Overflow, Return Oriented Programming, Defeating ASLR, ...)
  • Passwort Security (Austrian ePass: how does it work)
  • Security of VoIP (Gastvortrag: VoIP: how does it work, Attacks/Mitigations, Honeypots...)
  • Forensics (Padding Oracle Attack, RSA-Issues with weak primes, full disk encryption (fde), anti-fde, anti-anti-fde, anti-anti-anti-fde (no joke ^^)...)
  • Skimming (mostly magnet stripe skimmers, NFC skimming, Fake PIN pads...)
  • Mobile Applications (Exploit android applications, using Activities, Content Providers, Services, Broadcast Receivers, IMSI Catcher, Structure of GSM, auth. 2G/3G...)
  • Secure Architectures (Design Principles: Least Privilege, Separation of Duties, Fail Secure, Open Design...)

Ablauf[Bearbeiten]

Grundsätzlich ca. 10 Vorlesungstermine mit etwa 1-3 Gastvorträge. Parallel dazu drei Übungen, welche (bis uf die erste) in 3er Teams zu absolvieren sind.

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten]

Vortrag[Bearbeiten]

WS2015: Die Qualität der Vorträge variierte von schlecht bis sehr gut. Die ersten beiden (WebApp u. XML Security) waren eher eintönig und theoretisch gestaltet. Attacks on Application 1 und 2 wären grundsätzlich interessant, dem Vortrag lässt sich aber nur schwer folgen. Die restlichen Vorträge sind i.d.R. sehr spannend und beinhalten teilweise praktische Demos (z.B. ePass, VoIP Honeypots, Android Exploits...)

Übungen[Bearbeiten]

WS2015: Es waren drei Labs zu machen:

  • Lab0: Einstiegsübung. Sobald diese absolviert ist, wird einem ein Zeugnis ausgestellt. (Einzelarbeit)
  • Lab1: (Teamarbeit) Exploits für je 2 Binaries schreiben, SQL-Injection in Webseite ausnützen.
  • Lab2: (Teamarbeit) RSA-Keys mit Schwachstellen kompromittieren, Oracle Padding Attacke durchführen, weitere Attacken zu VoIP und XML

Die Übung war grundsätzlich sehr schwierig gestaltet. Vor allem bei Lab1 waren kaum Hilfestellungen (z.B. Source Codes, um welche Schwachstelle handelt es sich?...) verfügbar. Tipp: geht bei der Vorlesung zum Vortragenden und fragt nach Hilfestellungen zu den Challenges (bzw. auch per E-Mail sind Infos zu bekommen). (In unserem Fall war dieser selbst über den Schwierigkeitsgrad überrascht. Angeblich hätte das nicht so schwierig werden sollen)

WS2016: Auch hier waren 3 Labs zu machen

  • Lab0: Einstiegsübung (Einzelarbeit). Modus wie 2015. Aufgabe: S/MIME Verschlüsselung im Mailclient einrichten
  • Lab1: (Teamarbeit) Sehr umfangreich:
    • Mehrere Buffer Overflow Attacken (u.a. in Umgebungen mit keinen, statischen oder dynamischen Libraries), mit/ohne ASLR, ...
    • QR Code aus Bild-Schnippseln auslesen (z.B. mit ImageMagick)
    • Passwörter cracken (7z files mit Tools: crark, ...), Muster definieren etc.
    • Source Code Analyse (diff)
    • Blind SQL Injection
  • Lab2: Weniger umfangreich als lab1, aber nicht zu unterschätzen.
    • Einzelaufgabe: Textaufgabe: Beschreibe eine Schwachstelle eines Open Source Projekts und wie diese ein gewähltes Secure Design Principle verletzt,
    • Teamarbeit: : XML-RPC-Exploit, Card-Skimming, Reverse Engineering (VHDL Code)

Achtung: Serverumgebung setzt sich meist täglich zurück, also alle Daten von Exploitversuchen unbedingt lokal in Kopie halten.

Für jedes Lab muss ein Bericht geschrieben werden, wo erklärt wird, wie man Lösungen erreicht hat bzw wie weit man mit unfertigen Lösungen gekommen ist (bringt auch Punkte) Außerdem muss man zum Abgabegespräch für lab1+lab2, hier muss man über die Lösungen der Teammitglieder bescheid wissen. Sehr faire Bewertung, motivierte Tutoren, die kreative Lösungen gutheißen

Prüfung, Benotung[Bearbeiten]

WS2015: 60% Übung, 40% Prüfung. Relative schwere Prüfung, vorallem aber durch die vielen Multiple-Choice-Fragen. Zeit ist mit 120 Minuten genügend vorhanden. Wer alle Challenges geschafft bzw. verstanden hat, sollte mit der Prüfung aber keine Probleme haben.

Dauer der Zeugnisausstellung[Bearbeiten]

  • Letztes Abgabegespräch am 26.1., Zeugnis am 8.3. (6 Wochen)

Zeitaufwand[Bearbeiten]

Die Übung ist interessant aber fordernd gestaltet. Ohne Vorkenntnisse ist es sehr aufwendig sich in alle benötigten Techniken einzulesen.

Unterlagen[Bearbeiten]

noch offen

Tipps[Bearbeiten]

  • Frühzeitig mit dem Challenges anfangen. Für die schwierigen Aufgaben können gerne mal 15-20 Stunden benötigt werden.
  • Im Zweifelsfall der LVA ein E-Mail mit dem aktuellen Stand/Problem. Meistens gibt es Tipps für weitere Schritte.

Verbesserungsvorschläge / Kritik[Bearbeiten]

Die Vortragenden fragen im Allgemeinen ob Studenten anwesend sind, die den Vortrag auf Englisch hören wollen bzw. kein Deutsch können. Dazu muss man sagen dass die Vorträge auf Englisch eine ziemlich schlechte Qualität haben, was schade ist.