TU Wien:Advanced Internet Security VU (Dabrowski)

Aus VoWi
Wechseln zu: Navigation, Suche

Daten[Bearbeiten]

Inhalt[Bearbeiten]

  • General Unix security
  • Memory Corruption
  • Windows Security
  • Race conditions
  • Reverse Engineering
  • Web Security
  • Malware

Mit Sicherheit eine der interessantesten (aber auch anspruchvollsten) Lehrveranstaltungen im Studium. Die Übung ist sehr praxisnah und realistisch aufbereitet. Die meiste Zeit kommt echte Hacker-Atmosphäre auf und der Lerneffekt ist enorm. Du hast das Gefühl mit fähigen und kompetenten Leuten zu tun zu haben.

Ablauf[Bearbeiten]

Der Übungsteil der Lehrveranstaltung umfasst insgesamt sechs sog. Challenges, die im Laufe des Semesters veröffentlicht werden und die Punkte bringen. Am Ende des Semesters gibt es eine schriftliche Prüfung. Üblicherweise nimmt ein Team der TU Wien mit den Teilnehmern dieser Lehrveranstaltung an einem CTF (Capture The Flag) Wettbewerb teil, was sehr cool ist, die Teilnahme ist aber optional.

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten]

  • Wissen aus Internet Security wird vorausgesetzt
  • Grundlegende C/C++ Programmierung (wichtig!)
  • Grundlegendes Linux-Knowhow

Vortrag[Bearbeiten]

Vorlesung ist wöchentlich. Es sind 1-2 Gastvorträge üblich, z.B. von weiteren SecLab-Members, Ikarus-Gastvortrag... Alle Vorträge sind interessant und sehr empfehlenswert, die Challenges sind aber durchaus auch ohne Besuch der Vorlesung lösbar.

Die Inhalte sind im Vergleich zu anderen Security-LVAs sehr technisch bzw. hardwarenah (Chip Reverse Engineering im Hardware-Lab, SDR/RFID Radio, Android bzw. iOS).

Übungen[Bearbeiten]

Es gibt insgesamt sechs sog. Challenges, für die im Schnitt ca. zwei Wochen Zeit ist. Dabei handelt es sich meist um mittelgroße Programmieraufgaben, die auf dem Laborrechner (SSH-Zugang) abgegeben werden können. Es gibt einen Grading Bot, der bis zur Deadline beliebig oft aufgerufen werden kann. Manchmal fühlt es sich eher an gegen den Grading Bot zu kämpfen als gegen die Challenges.

Challenges bringen Punkte für die Benotung, wobei mindestens 3 von 6 Challenges gelöst werden müssen, um zur Prüfung antreten zu dürfen. Teillösungen bringen keine Punkte (aber man kann beim Tutor freundlich nachfragen, wenn man irgendwo gar nicht weiterkommt). 5 Challenges bringen bereits 100% auf die Übung, die 6. bringt dann noch einen 10% Bonus auf die schriftliche Prüfung.

WS2015 Challenges[Bearbeiten]

  1. Unix Security (Unix Basics)
  2. Software Reverse Engineering (Binary Analyse & Patchen)
  3. Remote Buffer Overflow
  4. Virus
  5. PDF Exploit (anfällige Acrobat Reader Version mit JavaScript Heap Spray und Shellcode)
  6. Android Reverse Engineering (APK File Analyse)

WS2017 Challenges[Bearbeiten]

  1. Server-Side Template Injection
  2. Software Reverse Engineering (Binary Analyse & Patchen)
  3. Remote Buffer Overflow
  4. Software Defined Radio (Firmware einer Fernbedienung analysieren und mit Gnuradio ein Signal erstellen)
  5. Virus
  6. Android Reverse Engineering (APK File Analyse)

WS2018 Challenges[Bearbeiten]

  1. Eine Kombination aus 3+ OWASP Top 10 Lücken richtig ausnutzen und damit ein Botnetz ausschalten
  2. Android Reverse Engineering (APK File Analyse)
  3. Software Defined Radio (Firmware einer Fernbedienung analysieren und mit Gnuradio ein Signal erstellen)
  4. Reverse Engineering mit Hilfe von Symbolic Execution (angr)

Prüfung[Bearbeiten]

Die Prüfung am Ende des Semesters ist schriftlich, keine Unterlagen erlaubt. Es werden Fragen zu den behandelten Themen gestellt, bis auf wenige Ausnahmen Textfragen, die mit einem kurzen Absatz auf Englisch oder Deutsch beantwortet werden können.

Mit dabei ist oft auch ein Stück Assembler-Code, dessen printf-Ausgaben nachvollzogen werden müssen. Sourcecode von Malware war auch schon dabei, der interpretiert werden musste (ein einfacher Virus).

Die Benotung ist sehr fair.

Dauer der Zeugnisausstellung[Bearbeiten]

WS08: Prüfung am 28.02.2009, Zeugnis erhalten am 14.03.2009 (ca. 2-3 Wochen)

Literatur[Bearbeiten]

Vorlesungsfolien gibt es auf der LVA-Homepage zum Download, die Unterlagen reichen im Normalfall als Vorbereitung auf die Prüfung.

Zeitaufwand/Anspruch[Bearbeiten]

Hängt sehr stark von den Vorkenntnissen zum Thema der aktuellen Challenge ab. Im Durchschnitt etwa 1-6 Stunden pro Challenge.

Andere Meinung: Sehr hoch. Meist musst du doch einiges Recherchieren und Nachvollziehen, deshalb würde ich eher mit 10 bis 15 Stunden pro Challenge rechnen (also insgesamt mindestens 100 Stunden allein für die Übung).

Weitere Meinung: Ebenfalls sehr hoch. Wer gut C programmieren kann, ist klar im Vorteil. Auch Assembler Code nachvollziehen können ist absolutes Muss. 2 Challenges (Linux, Android) waren super easy mit "nur" 4h Aufwand. Der Rest jeweils 20h+ pro Übung.

Das Seclab ist als einziges der diese LVA abhaltenden Institute auch tatsächlich in der Security-Forschung tätig. Vermutlich ist das Niveau der Vortragenden deswegen so hoch.

Meinung zu "Das Seclab ist als einziges der diese LVA abhaltenden Institute auch tatsächlich in der Security-Forschung tätig." -- (Clemens Hlauschek, external lecturer @ESSE, industrial researcher @RISE GmbH, 2018): Diese Information ist outdated und einfach falsch. Wer Zweifel daran hat, kann mich gerne direkt kontaktieren und mit mir darüber sprechen.

Noch eine Meinung (2017): Die Challenges sind ähnlich wie in in InetSec gestaltet, jedoch deutlich schwieriger (immerhin eine LV im Master) als die Vorgänger. Wer vorher schon mal Assembly (zB in Übersetzerbau) gemacht hat ist klar im Vorteil, und wer kein C (tiefgängig) und Python (zumindest syntaktisch) beherrscht, wird wahrscheinlich Probleme haben. Wenn man aber das nötige Vorwissen mitbringt ist die LV sehr interessant, und man lernt tatsächlich Techniken die in der echten Welt relevant sind. (Keygen, Cracks, Malware, advanced buffer overflows, etc.). Ich würde der LV eine klare Empfehlung ausstellen, auch wenn man 3 ECTS billiger bekommen kann.

Hilfreiche Links[Bearbeiten]

Fast immer sind "hilfreiche Links" zum aktuellen Thema bei der Angabe zur jeweiligen Challenge angegeben.

Wo gibts Mitschriften, Skripten, Folien...[Bearbeiten]

Vorlesungsfolien gibt es auf der LVA-Homepage zum Download, Skriptum wird keines zur Verfügung gestellt und Mitschriften entstehen eher selten.

Tipps[Bearbeiten]

  • Früh genug anfangen mit den Challenges und sie nicht unterschätzen (meistens ergeben sich noch unerwartete Stolpersteine beim ersten Abgabeversuch)
  • Wenn Interesse für Security da ist, ist diese LVA sehr, sehr empfehlenswert!
  • CTF-Contest: iCTF / WE_0WN_YOU

Verbesserungsvorschläge / Kritik[Bearbeiten]

noch offen