Lösung für Schwachstelle im Design von SSL/TLS in Sicht
Eine Erweiterung des TLS-Protokolls soll die im vergangenen Jahr bekannt gewordene TLS-Renegotiation-Schwachstelle beseitigen. Angreifer können dann keine eigenen Pakete mehr in gesicherte Verbindungen einschleusen.
- Daniel Bachfeld
Für die Anfang November vorigen Jahres bekannt gewordene TLS-Renegotiation-Schwachstelle im Design des SSL/TLS-Protokolls zeichnet sich eine Lösung ab, die das Problem beheben soll. Die IETF hat dazu RFC 5246 (The Transport Layer Security [TLS] Protocol Version 1.2) erweitert und die neue TLS-Extension renegotiation_info eingeführt, die kryptografisch relevante Informationen einer Verbindung speichert. Bislang fehlte dem TLS-Protokoll eine eindeutig authentifizierte Zuordnung eines Client-Requests vor einer TLS-Renegotiation zu dem Request nach der Neuaushandlung. Die Erweiterung nimmt nun zusätzliche Informationen auf, die den Zustand einer TLS-Verbindung speichern sollen ("secure_renegotiation", "client_verify_data" und "server_verify_data").
Durch die Lücke ist es Angreifern möglich, eigene Pakete in gesicherte SSL-Verbindungen einzuschleusen und so beispielsweise Webanwendungen zu manipulieren. Auf diese Weise war es einem Entwickler bei Testangriffen auf Twitter gelungen, per SSL übertragene Tweets eines Opfers an eigene Tweets anzuhängen und auf diese Weise an die Authentifzierungsdaten im Cookie zu gelangen. Die Schwachstelle ermöglicht es jedoch nicht, eine SSL-Verbindung direkt im Klartext mitzulesen.
Ursache des Problems ist ein Designfehler im TLS-Protokoll bei der Neuaushandlung der Parameter einer bestehenden TLS-Verbindung. Diese kann zu unterschiedlichen Anlässen auftreten, beispielsweise wenn ein Client auf einem Webserver auf einen geschützten Bereich zugreifen will und der Server ein SSL-Client-Zertifikat zur Authentifizierung anfordert.
Hier sieht das Protokoll keine eindeutig Zuordnung des Requests auf eine bestimmte URL zu dem anschließend ausgelieferten Client-Zertifikat vor – der Server nimmt es einfach als korrekt an. Die Entdecker der Probleme sprechen daher in diesem Zusammenhang von einem "Authentication Gap". Eine bildliche Darstellung eines möglichen Angriffs ist hier zu finden.
Als Workaround hatten die meisten Hersteller einfach TLS-Renegotiation abgeschaltet. Zu größeren Störungen hat dies aber offenbar nicht geführt. Mit der Verabschiedung des Drafts "Transport Layer Security (TLS) Renegotiation Indication Extension" können die Hersteller nun an einem Patch arbeiten, der TLS-Renegotiation wieder aktiviert, sie aber zugleich sicherer macht. Bis dahin müssen aber noch zahlreiche Tests durchgeführt werden; insbesondere die Interoperabilität und Rückwärtskompatibiltät verschiedener Implementierungen muss sichergestellt sein. Ein Überblick über den Status der einzelnen Hersteller gibt es hier.
Siehe dazu auch:
- OpenSSL fixt TLS-Schwachstelle
- Passwortklau durch Schwachstelle im SSL/TLS-Protokoll
- Schwachstelle im SSL/TLS-Protokoll
(dab)