Ihr habt euch schon einmal mit eurem Google, Facebook, Apple oder Amazon Account auf imdb.com, stackoverflow.com oder auf einer anderen Webseite eingeloggt? Oder habt ihr kürzlich Zoom Zugriff auf euren Google Kalender gegeben? Im Hintergrund werden Nachrichten – wie signierte JSON Web Tokens – von standardisierten Protokollen ausgetauscht, bei denen Message-Level Security zum Einsatz kommt. Ganz so einfach ist es jedoch nicht – wir blicken hinter die Kulissen und zeigen euch verschiedene Angriffe, die unter anderem unerlaubte Zugriffe auf fremde Accounts ermöglichen. Die hohe Praxisrelevanz dieser sicherheitskritischen Single Sign-On Verfahren wird immer wieder von der Community unter Beweis gestellt.

Habt ihr schon einmal eine Rechnung von eurer Amazonbestellung heruntergeladen und in Adobe Acrobat (Pro/DC) aufgemacht? Auf der linken Seite findet ihr ein Signaturpanel, denn das PDF ist signiert, um die Authentizität und Integrität des Dokuments zu schützen. Reicht das aus oder kann auch hier etwas schiefgehen?

Fristen und Termine
Termine im Wintersemester 2022/2023
- Beginn / Erste Veranstaltung: Freitag, den 14.10.2022
- Vorlesung: Freitags von 10:00 Uhr bis 11:30 Uhr im Raum NC 6/99
- Übung: Freitags von 11:45 Uhr bis 13:15 Uhr im Raum NC 6/99
Prüfung
- Prüfungsform: schriftlich
- Prüfungsanmeldung: FlexNow
- Datum: TBA
- Dauer: 120 min
- Raum: TBA
- Erlaubte Hilfsmittel:
- 2 DIN A4 Blätter = 4 Seiten mit eigenen handschriftlichen Notizen
- Keine Kopien. keine Ausdrucke
- Nicht programmierbarer wissenschaftlicher Taschenrechner
- 2 DIN A4 Blätter = 4 Seiten mit eigenen handschriftlichen Notizen
Lernziele
Studierende verfügen nach erfolgreichem Abschluss der Vorlesung über ein umfassendes Verständnis der Sicherheit der folgenden Technologien: Datenformate im Web, REST APIs, Authentifizierungs- und Autorisierungsprotokollen und Dokumentenformaten. Durch die praxisnahe Arbeit im Rahmen der Übungen bauen die Studierenden ihre Recherche-Fähigkeiten aus und erlernen weiterhin den sicheren Umgang mit verschiedenen Penetrationswerkzeugen. Am Ende der Vorlesung sind die Studierenden in der Lage, systematisch umfassende Sicherheitsanalysen sowie praktische Angriffe auf die behandelten Technologien selbstständig durchzuführen. Weiterhin sind die Studierenden in der Lage, das erlernte Wissen auf andere Technologien zu übertragen und komplexere Angriffsmöglichkeiten selbst durch kreatives Denken zu finden und auszunutzen.
Inhalte
Die Vorlesung behandelt das Thema Message-Level Security. Anders als bei SSL/TLS, welches einen sicheren Transportkanal aufbaut, geht es bei Message-Level Security darum, Nachrichten – wie HTTP Requests – auf Nachrichtenebene zu schützen. Hierbei kommt es auf die korrekte Verwendung von kryptografischen Verfahren als auch eine sichere Bereitstellung von API-Schnittstellen an.
Im Rahmen der Vorlesung werden verschiedene Verfahren von Message-Level Security beleuchtet:
- JSON ist eine universelle Datenbeschreibungssprache, die unter anderem von jedem modernen Browser unterstützt wird. Mithilfe von JSON-Signature und JSON-Encryption können JSON Nachrichten direkt geschützt werden. Doch reicht das aus oder können diese Sicherheitsmechanismen umgangen werden?
- OAuth ist eine sehr weitverbreitete Technologie zum Delegieren von Berechtigungen und wird heutzutage von allen großen Webseiten wie Facebook, Google, Twitter, Github usw. eingesetzt. Die Vorlesung erklärt tiefgehende Details und gängige Fehler/Angriffe, die bei der Verwendung von OAuth entstehen können.
- OpenID Connect ist eine Erweiterung für OAuth, um Benutzer:innen auf Webseiten mithilfe eines Drittanbieters zu authentifizieren (z. B. mittels Single Sign-On Verfahren wie „Sign in with Google“). OpenID Connect hat sich in den letzten Jahren zum de facto Standard für Web-Logins über Drittanbieter etabliert. In der Vorlesung wird detailliert erklärt, was die Unterschiede zu OAuth sind und welche Angriffe auf OpenID Connect möglich sind. In den praktischen Übungen können Sie Ihre Exploit-Fähigkeiten unter Beweis stellen. Schaffen wir es, den Account des Opfers übernehmen?
- SAML steht für Security Assertion Markup Language und ist ein Single Sign-On Standard, der eine weitgehende Verbreitung in Business-Szenerien findet. Allerdings existieren zahlreiche Angriffe von Identitätsdiebstahl bis hin zu Remote Code Execution.
- PDF ist das vermutlich am weitesten verbreitetste universelle Dokumentenaustauschformat. In der Vorlesung werden die Sicherheitseigenschaften von PDFs beleuchtet. Insbesondere werden hierbei digitale Signaturen untersucht, welche z. B. bei Verträgen zum Einsatz kommen. Wird es uns gelingen, signierte Dokumente zu fälschen?
Den Studierenden wird ein tiefgehendes Verständnis der Systeme vermittelt. Zu allen untersuchten Systemen werden Angriffe vorgestellt, die sowohl aus der akademischen Welt als auch aus der Pentesting-Community stammen. Die Übungen bieten die Möglichkeit, das erlernte Wissen praktisch auszuprobieren. Hierzu erhalten die Studierenden eine virtuelle Maschine.
Empfohlende Vorkenntnisse
- Grundkenntnisse HTTP, HTML und Kryptographie
- Grundkenntnisse der englischen Sprache, da dies die Sprache von Foliensatz, Übungsaufgaben und der Virtuellen Maschine sind
Voraussetzungen für den Erhalt der Credits
Bestandene Modulabschlussprüfung
Online oder Präsenz?
Präsenz