[Generic/SSL] Rückfalloption vieler TLS-Implementierungen auf SSL 3.0 ausnutzbar (Poodle)
(2014-10-15 09:12:55.67626+00)
Quelle:
https://www.openssl.org/~bodo/ssl-poodle.pdf
Die Verschlüsselungsprotokollfamilie des Standards SSL 3.0 gilt als veraltet und es wird empfohlen, sie nirgends mehr anzuwenden, da sie Schwachstellen enthalten. Empfohlene Nachfolger sind die Protokolle der TLS-Familie (aktuell in der Version TLS 1.2). Dennoch verfügen viele SSL-Implementierungen über eine Rückfalloption (sog. protocol downgrade dance) auf SSL 3.0, die die Kommunikation mit veralteten Installationen erlauben. Diese Option kann in vielen Fällen von einem Angreifer dazu ausgenutzt werden, die Kommunikation in SSL 3.0 zu erzwingen und die Schwachstellen zum Brechen ihrer kryptographischen Absicherung zu nutzen, selbst wenn sowohl Client als auch Server TLS implementieren. Es wird daher dringend empfohlen, Softwareinstallationen (sowohl Clients als auch Server) so einzustellen, dass die Verwendung, bzw. der R̈́ückfall auf SSL 3.0 ausgeschlossen ist.
Inhalt
Zusammenfassung
Betroffen: | TLS 1.2 und frühere Versionen |
Plattform: | alle, auf denen TLS implementiert ist |
Einfallstor: | TLS-Handshake |
Angriffsvoraussetzung: | Zugang zum Netzwerk, über das der anzugreifende TLS-Handshake abläuft |
Angriffsvektorklasse: | remote |
Auswirkung: | Kompromittierung der TLS-Kommunikation |
Typ: | Entwurfsfehler (design flaw) |
Gefahrenpotential: | hoch (Hinweise zur Einstufung des Gefahrenpotentials.) |
Workaround: | ja |
Gegenmaßnahmen: | neue Version sobald verfügbar |
Vulnerability ID: | CVE-2014-3566 |
Auswirkung
- Kompromittierung der TLS-Kommunikation
Dazu zählen:- Abhören der Kommunikation
- Abfangen von per TLS abgesicherten Passwörtern
- Einschleusen von Daten in bestehende Kommunikationsverbindungen
- ...
Beschreibung
Um aktueller Software zu ermöglichen, mit älterer Software (sog. legacy software) verschlüsselt kommunizieren zu können, sieht das TLS-Protokoll in der Handshake-Phase die Aushandlung der Protokollversion vor, mit der schlussendlich kommuniziert werden soll. Um Abwärtskompatibilität mit alten Implementierungen zu gewährleisten, ist in der aktuellen TLS-Version auch die Möglichkeit des Rückfalls auf SSL 3.0 vorgesehen (sog. protocol downgrade dance), obwohl diese Protokollversion veraltete und nicht mehr als sicher angesehene Verschlüsselungsalgorithmen verwendet. Die Verwendung von SSL 3.0 gilt als nicht mehr dem Stand der Technik entsprechend.
Ein Angreifer, der Zugriff auf ein Netzwerk besitzt, über das zwei Systeme einen TLS-Handshake ausführen, kann durch die geschickte Manipulation dieser Kommunikation die Systeme dazu veranlassen, kein höherwertiges Protokoll als SSL 3.0 zu verwenden. In der Folge kann der Angreifer die in SSL 3.0 verwendeten schwachen kryprographischen Algorithmen brechen (wofür automatisierte Software existiert) und die Komminikation der Systeme belauschen, um z.B. Zugangsdaten und die damit verbundenen Identitäten stehlen.
Es wird daher empfohlen, Software, die TLS verwendet, so zu konfigurieren, dass die Kommunikation mit SSL 3.0 sowie die Verwendung schwacher kryprographischer Algorithmen ausgeschlossen ist.
Von der Verwendung veralteter Software, die keine höherwertigen Protokolle als SSL 3.0 verwenden können (etwa Internet Explorer 6) wird generell dringend abgeraten und das Bekanntwerden dieser Schwachstelle sollte zum Anlass genommen werden, entsprechende noch im Einsatz stehende Software endgültig stillzulegen.
Workaround
- Konfiguration von Software derart, dass beim protocol downgrade dance weder SSL 3.0 noch unsichere kryptographische Algorithmen ausgehandelt werden.
Im Folgenden soll an einigen Beispielen eine entsprechende Konfiguration gezeigt werden. Generell ist Vorsicht geboten bei eigenen Konfigurations-Strukturen oder SSL-Direktiven in Vhost-Definitionen. Unter anderem kann dann eine andere Konfigurationsdatei für die SSL-Einstellungen verantwortlich sein. Unter UNIX oder Gnu/Linux kann hier die Kommandosequenz# su root Password: # cd / # grep -r '[Cc]ipher'
helfen. Sie liefert als Ergbnis alle Datei- oder Verzeichnisnamen auf dem System, die die Zeichenkettecipher
oderCipher
enthalten. Im Folgenden wird angenommen, dass Ort und Name der Konfigurationsdateien dem Standard entsprechen.
Beispiele für Serversoftware:- apache:
öffnen Sie die ssl-Konfigurationsdateissl.conf
# vim /etc/apache2/mods-available/ssl.conf
Suchen Sie die EinträgeSSLCipherSuite
,SSLProtocol
,SSLProtocol
und ändern bzw ergänzen Sie sie folgendermaßen:SSLCipherSuite HIGH:ALL:!ADH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!aECDH:!aECDSA:!SEED SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder On
Starten Sie apache neu je nach Installation mit den Kommandos# service apache2 restart
oder# systemctl restart apache2.service
- lighttpd:
öffnen Sie die ssl-Konfigurationsdatei10-ssl.conf
# vim /etc/lighttpd/conf-enabled/10-ssl.conf
Suchen Sie die Einträgessl.cipher-list
,ssl.use-sslv3
,ssl.honor-cipher-order
und ändern bzw ergänzen Sie sie folgendermaßen:ssl.cipher-list = "HIGH:ALL:!ADH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!aECDH:!aECDSA:!SEED" ssl.use-sslv3 = "disable" ssl.honor-cipher-order = "enable"
Starten Sie lighttpd neu je nach Installation mit den Kommandos# service lighttpd restart
oder# systemctl restart lighttpd.service
- Firefox:
gehen Sie ins Konfigurationsmenü des Browsers, indem sieabout:config
im Adressfeld eingeben.
Suchen Sie die Optionsecurity.tls.version.min
und setzen Sie den Wert von "0" auf "1".
Alternativ kann das Add-On disable-ssl-30 installiert werden, das die o.a. Konfigurationsänderung durchführt. - Information zur entsprechenden Umkonfiguration weiterer Browser findet sich auf der Webseite von
ZDNet
- apache:
- Einstellung der Verwendung von Software, die keine höherwertigen Protokolle als SSL 3.0 beherrscht, wie etwa IE 6.
Gegenmaßnahmen
- Installation entsprechend angepasster Softwareversionen, sobald diese verfügbar sind
(sg) (og)
Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.
Copyright © 2022 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
https://cert.uni-stuttgart.de/ticker/article.php?mid=1730