ORR2013 - Bewertungsphase
OpenRheinRuhr 2013
Ein Pott voll Software
Speakers | |
---|---|
Martin Kaiser |
Schedule | |
---|---|
Day | 09.11.2013 - 2013-11-09 |
Room | Vortragsraum 2 |
Start time | 15:50 |
Duration | 01:00 |
Info | |
ID | 236 |
Event type | Lecture |
Track | Freies Wissen |
Language used for presentation | German |
HDCP2
von den Schwierigkeiten, ein Security-Protokoll zu entwerfen
HDCP2 versucht als Nachfolger des gehackten HDCP-Systems, die sichere Übertragung von Audio-/Video-Inhalten z.B. zwischen einem TV und einem Smartphone/Tablet zu gewährleisten.
Obwohl es keine offensichtlichen Schwachstellen gibt, ist es gelungen, das Authentifizierungsprotokoll zu umgehen und bestehende Verbindungen zu übernehmen.
Der Vortrag zeigt, wie aus vielen kleinen Problemen eine große Sicherheitslücke wurde und wie sich diese Lücke mit Hilfe von freier Software in der Praxis nachweisen ließ.
Der Aufbau des Vortrags könnte ungefähr so aussehen:
Einführung
- es ist schwierig, ein sicheres Protokoll zu entwickeln
- "Protokolle leben ewig"
HDCP2
- Anwendungsbeispiele
- TV-Inhalte auf ein mobiles Gerät streamen
- Miracast
- aus welchen Komponenten besteht HDCP2?
- Authentifizierung
- revocation
- proximity control
- verschlüsselte Übertragung der Nutzdaten
- Anwendungsbeispiele
HDCP2 Authentifizierung
- Zufallszahlen
- Zertifikatsaustausch
- Schlüsselberechnung
- Pairing
Probleme des Authentifizierungsprotokolls
- Transmitter wird nicht authentifiziert
- Nachrichten sind nicht signiert
- Schlüsselberechnung verwendet nur Werte, die vom Transmitter kommen
Idee für den Anriff auf die Authentifizierung
- Verwendung einer bekannten, konstanten "Zufallszahl"
- der Receiver entschlüsselt den gecachten Master-Key, ohne es zu bemerken
- der Angriff nutzt eine Schwachstelle des Protokolls, es ist keine fehlerhafte Implementierung notwendig
Testaufbau, Hilfsmittel
- Netzwerk mit TV, Handy, PC
- Wireshark dissector für HDCP2
- libgcrypt, OpenSSL
Durchführung des Angriffs
- echte Authentifizierung mitloggen
- Fake-Transmitter implementieren, der dem Receiver präparierte Daten unterschiebt
Was haben wir gewonnen?
- wir können Verbindungen übernehmen
- zum Decodieren der Nutzdaten fehlt noch eine "geheime" Konstante, die alle Lizenznehmer kennen
Abhilfe
- Verzicht auf pairing
- Änderung der Spezifikation --> Software-Update auf den Geräten erforderlich
Fazit
- Protokolle sind kompliziert
- offene Standards helfen, die Schwachstellen zu erkennen und zu beheben