Von: Conrado Gouvêa / Andre „Dexter“ Bereza

OpenSSL hat am 28 eine Sicherheitslücke offengelegt, die Server betreffen kann, die Diffie-Hellman verwenden, um sich auf Schlüssel in sicheren Verbindungen zu einigen.

Der Angriff

O OpenSSL ist eine universelle kryptografische Bibliothek mit der Fähigkeit, mithilfe des TLS-Protokolls eine sichere Verbindung zwischen zwei Punkten herzustellen.

Einer der Schritte einer sicheren Verbindung ist die Schlüsselvereinbarung, bei der verschiedene Arten von Algorithmen verwendet werden können. Bei dem betreffenden Algorithmus handelt es sich um Diffie-Hellman (DH), der 1976 von Whitfield Diffie und Martin Hellman entwickelt wurde. Er besteht aus drei Phasen: Parametergenerierung, Schlüsselgenerierung und der Vereinbarung selbst.

Die Generierung von DH-Parametern erfolgt normalerweise nur einmal zu Beginn der Serverkonfiguration und bleibt während des gesamten Serverbetriebs gleich. Die Schlüsselgenerierung wird idealerweise bei jeder Verbindung von beiden Parteien durchgeführt, gefolgt von der Schlüsselvereinbarung selbst. Auf diese Weise wird die Eigenschaft der „Vorwärtsgeheimnis“ erreicht, d. h., wenn der private Diffie-Hellman-Schlüssel auf irgendeine Weise durchsickert, können vorherige Verbindungen nicht unterbrochen werden, sondern nur nachfolgende. Aus Effizienzgründen generieren einige Server jedoch zu Beginn der Ausführung einen Schlüssel, der während der Ausführung des Servers von allen Verbindungen wiederverwendet wird. Dieses Vorgehen gefährdet die Vorwärtsgeheimnis, da durch das Durchsickern des DH-Schlüssels alle seit dem Start des Servers hergestellten Verbindungen unterbrochen werden können.

OpenSSL hat in Version 1.0.2 eine Funktion eingeführt, die die Generierung der in RFC 5114 beschriebenen Diffie-Hellman-Parameter ermöglicht. Das Problem besteht darin, dass diese Parameter nicht richtig definiert wurden und unsicher sind. Ein böswilliger Client kann mithilfe solcher Parameter den privaten Schlüssel eines Servers extrahieren, wenn es ihm gelingt, mehrere Male eine Verbindung zum Server herzustellen und der Server während seiner Ausführung bei allen Verbindungen denselben Diffie-Hellman-Schlüssel verwendet. Wie bereits erwähnt, wird dies nicht empfohlen, ist jedoch die Standardkonfiguration von OpenSSL.

Lösung

OpenSSL hat eine Einstellung namens „SSL_OP_SINGLE_DH_USE“. Wenn diese Einstellung aktiviert ist, generiert OpenSSL für jede neue Verbindung DH-Schlüssel. Wenn diese Option deaktiviert ist (die OpenSSL-Standardeinstellung), wird beim Starten der Anwendung ein einzelnes Schlüsselpaar generiert und während der gesamten Laufzeit der Anwendung für alle Verbindungen wiederverwendet.

In der neuesten Version 1.0.2f wurde OpenSSL so geändert, dass „SSL_OP_SINGLE_DH_USE“ immer aktiv ist und daher nicht deaktiviert werden kann. Darüber hinaus hat OpenSSL eine Prüfung auf dem Server hinzugefügt, um diesen Angriff durch Validierung der vom Client gesendeten Parameter zu erkennen und zu verhindern.

Frühere Versionen von OpenSSL sind für diesen Fehler nicht anfällig, da die Funktion, die unsichere Parameter generierte, vor OpenSSL 1.0.2 nicht existierte, aber die OpenSSL 1.0.1-Familie hat das Problem vorsorglich behoben. Dennoch ist in älteren Versionen von OpenSSL „SSL_OP_SINGLE_DH_USE“ standardmäßig deaktiviert. Interessant ist auch, dass die analoge Option „SSL_OP_SINGLE_ECDH_USE“, die sich allerdings auf Diffie-Hellman mit elliptischen Kurven bezieht, auch in neueren Versionen weiterhin standardmäßig deaktiviert ist.

Zusammenfassung

Was Sie als Servermanager tun sollten:
– Aktivieren Sie SSL_OP_SINGLE_USE und/oder aktualisieren Sie OpenSSL auf 1.0.2f
– Stellen Sie sicher, dass die Diffie-Hellman-Parameter nicht mit „genpkey“ unter Verwendung der Option „dh_rfc5114“ oder mit „dhparam“ und der Option „-dsaparam“ generiert wurden. Es ist möglicherweise einfacher, für alle Fälle neue Parameter ohne diese Optionen zu generieren.
– Alternativ können Sie TLS-Suiten deaktivieren, die DH verwenden, und nur ECDH verwenden (was effizienter ist) und SSL_OP_SINGLE_ECDH_USE aktivieren.

Was Sie als Benutzer oder Kundenmanager tun müssen:
– Es besteht kein Handlungsbedarf, es sind lediglich die Server betroffen.

Referenzen:
OpenSSL-Sicherheitshinweis: https://www.openssl.org/news/secadv/20160128.txt
Beschreibung des Angriffs durch den Täter: http://intothesymmetry.blogspot.com.br/2016/01/openssl-key-recovery-attack-on-dh-small.html[/ Vc_column_text] [vc_column_text]

DAS KÖNNTE IHNEN AUCH GEFALLEN:
Schwachstellen im Router ermöglichen Zugriff auf Daten und Dateien
Schwachstellen im Router ermöglichen Zugriff auf Daten und Dateien

Von: Kryptus Im Jahr 2018 begann Kryptus, die möglicherweise vorhandenen Unsicherheiten zu analysieren Lesen Sie mehr

USB-Sicherheitslücke (BadUSB)
USB-Sicherheitslücke (BadUSB)

Von: Vitor de Paulo / Conrado Gouvêa / Andre „Dexter“ Bereza BadUSB ist ein Lesen Sie mehr