Maschinelles Lernen des TLS-Zustandsautomaten
Zusammenfassung der Projektergebnisse
Das Transport Layer Security (TLS) Protokoll ist das am weitesten verbreitete Verschlüsselungsprotokoll im Internet, das zur Absicherung der Datenübertragung eingesetzt wird. Aufgrund seiner weitreichenden Nutzung in sicherheitskritischen Anwendungen ist die Sicherheit des Protokolls von höchster Bedeutung. Jedoch führt die Komplexität des TLS Protokolls dazu, dass Implementierungen Schwachstellen aufweisen können. Eine Möglichkeit solche Schwachstellen zu identifizieren, ist das Protocol State Learning. Dabei wird der Zustandsautomat einer Implementierung erlernt und untersucht, wobei der Automat das Antwortverhalten der Implementierung beschreibt. Im Rahmen dieses Projekts haben wir ein Tool namens TLS-StateVulnFinder entwickelt, dass den Zustandsautomaten von TLS-Client- als auch von TLS-Server-Implementierungen erlernt und diese automatisiert analysiert. Der Fokus unserer Analyse lag auf der Identifizierung kryptografischer Schwachstellen (z.B. Bleichenbacher oder Padding Oracle) sowie logischer Fehler. Anschließend haben wir das Tool zur Analyse gängiger Open Source TLS-Implementierungen eingesetzt und, wo möglich, sowohl Server- als auch Client-Implementierungen evaluiert. Es konnten keine kritischen Schwachstellen identifiziert werden. Zusätzlich haben wir einen Prototypen einer Continuous-Integration Lösung entwickelt, der regelmäßig neue Versionen von TLS-Implementierungen überwacht. Dieser führt automatisch die Kompilierung, Zustandsautomaten-Extraktion und Analyse durch, um die Sicherheit der TLS-Implementierungen kontinuierlich prüfen zu können.
Projektbezogene Publikationen (Auswahl)
-
TLS-Anvil: Adapting Combinatorial Testing for TLS Libraries. In Proceedings of the 31nd USENIX Conference on Security Symposium (SEC ’22)
Marcel Maehren, Philipp Nieting, Sven Hebrok, Robert Merget, Juraj Somorovsky & Jörg Schwenk
-
Exploring the Unknown DTLS Universe: Analysis of the DTLS Server Ecosystem on the Internet. In Proceedings of the 32nd USENIX Conference on Security Symposium (SEC ’23)
Nurullah Erinola, Marcel Maehren, Robert Merget, Juraj Somorovsky & Jörg Schwenk
-
We Really Need to Talk About Session Tickets: A Large-Scale Analysis of Cryptographic Dangers with TLS Session Tickets. In Proceedings of the 32nd USENIX Conference on Security Symposium (SEC ’23)
Sven Hebrok, Simon Nachtigall, Marcel Maehren, Nurullah Erinola, Robert Merget, Juraj Somorovsky & Jörg Schwenk
-
With Great Power Come Great Side Channels: Statistical Timing Side-Channel Analyses with Bounded Type-1 Errors. In Proceedings of the 33nd USENIX Conference on Security Symposium (SEC ’24)
Martin Dunsche, Marcel Maehren, Nurullah Erinola, Robert Merget, Nicolai Bissantz, Juraj Somorovsky & Jörg Schwenk
