Auf dieser Website findest du die Unterlagen meiner Tutorübungen zur
Lehrveranstaltung
"IT Sicherheit (IN0042)". Damit diese nicht unkontrolliert herumschwirren, Studis
die noch keine Übung besucht haben nicht gespoilert werden, und der Anreiz in der Übung aufzutauchen
und mitzumachen ein wenig größer ist, gibt's in jeder Übung ein Passwort zum sofortigen Feischalten
der Unterlagen für die jeweilige Woche. Benutze den Nutzernamen studi
und das Passwort aus der jeweiligen Übungssession um auf die Folien, Beispiele und Demos zuzugreifen.
Falls du noch nicht in meiner Übung warst hast du dazu jede Woche am Montag von 10:00 - 12:00 im
Raum MI 01.07.014 und am Donnerstag von 10:00 - 12:00 im
Raum MI 01.13.007 dazu Gelegenheit. Abseits der Übung
stellst du allgemeine, inhaltliche Fragen die auch andere interessieren könnten am besten auf
Zulip im
#ITSec-Allgemein oder im
#ITSec-Hausaufgaben Channel.
Falls du mich direkt erreichen möchtest, kannst du mir aber gerne auf Zulip oder unter
itsec@tum.academy eine Mail schreiben.
Bitte beachte, dass die Ressourcen auf dieser Website nur Zusammenfassungen und Ergänzungen zum
offiziellen Material sind. Die offiziellen Ressourcen, Kommunikationsplattformen und Tools findest du
unter:
- Vorlesungswebsite (für allgemeine Infos zum Modul)
- TUMonline (für Vorlesungs- und Prüfungsanmeldung)
- Moodle (für Vorlesungsfolien und Übungsblätter)
- Zulip (für asynchrone Kommunikation, Fragen und Ankündigungen)
- Scoreboard (für Hausaufgaben Angaben und Abgabe)
- Sandkasten (sandboxed Server zum Ausführen eurer Exploits)
Falls du deine Python Skripte direkt auf dem Sandkasten mit vim bearbeiten willst, und noch keine vim-Konfiguration
aufgesetzt hast, kannst du gerne meine .vimrc herunterladen. Um die
Konfiguration zu aktivieren, lege die Datei zunächst unter dem Namen .vimrc
in deinem home Verzeichnis auf dem sandkasten ab. Um die darin referenzierten Plugins zu verwenden, musst du einmal
den Plugin-Manager Vundle
nachrüsten. Führe dazu einmal git clone https://github.com/VundleVim/Vundle.vim.git
~/.vim/bundle/Vundle.vim aus. Nach dem nächsten Start vom vim kannst du die Plugins mit dem Kommando
:PluginInstall installieren. Nach dem nächsten Neustart von vim, sollte alles
wie erwartet funktionieren. (Bemerkung: Das Plugin YouCompleteMe zur Autovervollständigung muss am Sandkasten nicht über
Vundle installiert werden, da es dort bereits global über die debian repositories zur Verfügung gestellt wird.)
-
01
Übung 1
Web Application Security
23.10.2023 bis 29.10.2023
In dieser Übung setzen wir die wichtigsten Tools für das kommende Semester auf,
und betrachten die Grundlagen diverser Injection Attacken mit Fokus auf SQL-Injections.
Ressourcen:
Slides aus Übung 1 (Stand: 23. Oktober 2023, 09:56)
Sqlite3 Mockup DB
Bash Skript: Sqlite Master Query
Bash Skript: Mockup-DB Full Query
Bash Skript: Mockup-DB Bool Query
Externe Links:
SQL Cheatsheet by sqltutorial.org
SQL Tutorial by selfhtml.org
SQL Test Interface des DB-Lehrstuhls
Python requests library API doc
-
02
Übung 2
Web Application Security II
30.10.2023 bis 05.11.2023
In dieser Übung kategorisieren wir Klassen von Attacken anhand der Schutzziele die
diese gefährden, behandeln die Grundlagen des Cross-Site-Scripting (XSS), und schauen
uns an wie man Injection Attacken verhindert. Als Bonus gibt's eine Aufgabe zu insecure
deserialization.
Ressourcen:
Slides aus Übung 2 (Stand: 30. Oktober 2023, 08:37)
XSS-Example Mockup Server Code
Negativbeispiel Client-Side Login
Externe Links:
Reflected/Stored XSS-Demo (GitHub/bgres)
Reflected XSS-Demo (GitHub/c0nf1den71al)
Live Version of Reflected XSS-Demo
DOMPurify XSS-Sanitizer
Mozilla HTTP cookie doc
PHP Serialization Format (Wikipedia)
PHP doc serialize() function
-
03
Übung 3
Kryptographie I
06.11.2023 bis 12.11.2023
In dieser Übung schließen wir das Thema der vorigen Woche ab, indem wir nochmal ein paar Aspekte
von XSS- und CSRF-Attacken wiederholen. Dann beginnen wir mit den Grundlagen der
Kryptographie. Hier behandeln wie ein paar Unterschiede von symmetrischen und assymetrischer
Verschlüsselung, betrachte eine fiktive Blockchiffre und deren Probleme, und behandeln RSA im Detail.
Ressourcen:
Slides aus Übung 3 (Stand: 06. November 2023 13:34)
SliDo Poll Results Part 1
SliDo Poll Results Part 2
Externe Links:
Known RSA Issue Talk at 29C3 (Video, Slides)
Weak key analysis study
Key lenght recommendations
-
04
Übung 4
Kryptographie II
13.11.2023 bis 19.11.2023
In der vierten Übung vertiefen wir das Thema Kryptographie, indem wir uns zunächst mit ein paar
Betriebsmodi von Blockchiffren auseinandersetzen. Weiter geht's mit den grundlegenden Schwachstellen
des WEP Protokolls, das auf einer Stromchiffre basiert. Schlussendlich widmen wir uns einer
Padding-Oracle Attacke zum Knacken symmetrischer verschlüsselungen mithilfe undurchdachter
Fehlermeldungen.
Ressourcen:
Slides aus Übung 4 (Stand: 13. November 2023, 10:01)
SliDo Poll Results
-
05
Übung 5
Kryptographie III
20.11.2023 bis 26.11.2023
Mit Woche 5 nähern wir uns mit kryptographischen Hashfunktionen dem Ende des Kryptographie Kapitels.
Während wir uns zunächst die Wichtigkeit der vier Grundlegenden Eigenschaften einer kryptographischen
Hashfunktion anhand einer Dummy-Funktion vor augen führen, schauen wir uns im nächsten Schritt echte
Angriffe an, die durch MD5-Kollissionen ermöglicht wurden. Zu guter Letzt besprechen wir Message
Authentication Codes (MACs) und die Vorteile von HMAC gegenüber simpleren Keyed-Hash-Konzepten.
Ressourcen:
Slides aus Übung 5 (Stand: 23. November 2023, 10:15)
Beispiel Script mit MD5 Kollission (.tar.gz)
Fastcoll Tool zum generieren von MD5 Kollisionen
Writeup as PDF (original source) und Video zur Präsentation Malicious X.509 Zertifikatausstellungen durch MD5 Kollissionen
SliDo Poll Results
-
06
Übung 6
Schlüsselmanagement
27.11.2023 bis 03.12.2023
Anknüpfend an die vergangene Woche schauen wir uns in dieser Übung zunächst an, was es mit dem Prinzip
"Encrypt-Then-MAC" sowie mit AEAD-Chiffren auf sich hat. Dann stürzen wir uns ins Thema Pseudo Number
Generators (PRNGs), die ja für das Generieren von Schlüsseln eine wichtige Rolle spielen. Zu guter Letzt
geht es dann ans Thema Schlüsselaustausch. Bisher hatten wir bei symmetrischen Chiffren immer angenommen,
dass sich die beteiligten Parteien bereits vorab auf einen gemeinsamen Key geeinigt haben. In dieser
Übung schauen wie uns mit dem Diffie-Hellman Protokoll eine Möglichkeit an damit umzugehen, wenn das
noch nicht passiert ist.
Ressourcen:
Slides aus Übung 6 (Stand: 27. November 2022, 02:17)
xorshift32 python code
SliDo Poll Results
-
07
Übung 7
Authentifizierung I
04.12.2023 bis 10.12.2023
Beschreibung folgt...
Ressourcen:
Slides aus Übung 7 (Stand: 7. Dezember 2023, 12:49)
-
08
Übung 8
Authentifizierung II
11.12.2023 bis 17.12.2023
Beschreibung folgt...
Ressourcen:
Slides aus Übung 8 (Stand: 11. Dezember 2023, 09:28)
-
09
Übung 9
Authentifizierung III
18.12.2023 bis 24.12.2023
Beschreibung folgt...
Ressourcen:
Slides aus Übung 9 (Stand: 07. Jänner 2024, 21:03)
-
10
Übung 10
Netzsicherheit
08.01.2024 bis 14.01.2024
Beschreibung folgt...
Ressourcen:
Slides aus Übung 10 (Stand: 07. Jänner 2024, 21:06)
-
11
Übung 11
Verzeichnisrechte und Protokollsicherheit
15.01.2024 bis 21.01.2024
Beschreibung folgt...
Ressourcen:
Slides aus Übung 11 (Stand: 15. Jänner 2024, 10:05)
SliDo Poll Results
-
12
Übung 12
Zugriffskontrolle
22.01.2024 bis 28.01.2024
Beschreibung folgt...
Ressourcen:
Slides aus Übung 12 (Stand: 21. Jänner 2024, 23:14)
-
13
Übung 13
Systemsicherheit
29.01.2024 bis 04.02.2024
Beschreibung folgt...
Ressourcen:
Slides aus Übung 13 (Stand: 28. Jänner 2024, 23:54)
Vuln/Exploit Examples (Stand: 28. Jänner 2024, 23:55)
-
14
Übung 14
Systemsicherheit
05.02.2024 bis 11.02.2024
Beschreibung folgt...
Ressourcen:
Slides aus Übung 14 (Stand: 26. Februar 2024, 15:46)
-
Rep
Wiederholungs Q&A
Semesterstoff
26.02.2024
Abweichend von meiner ursprünglichen Ankündigung findet die Wiederholungsstunde im Raum 00.08.059 statt.