[Generic/OpenSSL] Ernste Schwachstelle in OpenSSL
(2014-04-07 23:46:48.496858+00)
Quelle:
https://www.openssl.org/news/secadv_20140407.txt
Eine Schwachstelle in der TLS heartbeat extension kann von einem Angreifer durch das Senden eines speziell formulierten Paketes dazu ausgenutzt werden, bis zu 64 kbytes des Speichers eines TLS-Servers oder Clients auszulesen (sog. Heartbleed Bug). Dies kann u.U. dazu führen, dass der Angreifer in den Besitz des privaten Schlüssel des Servers oder Clients kommt. TLS-Verbindungen mit OpenSSL-Installationen der betroffenen Versionen müssen daher als unsicher angesehen werden. Auch zwischegespeichte Passwörter oder andere sensitive Daten können unter Ausnutzung dieser Schwachstelle aus dem Speicher eines betroffenen Systems ausgelesen werden. Das OpenSSL-Team hat eine neue Version herausgegeben, die die Schwachstelle behebt. Es wird dringend zur unverzüglichen Aktualisierung betroffener Systeme und dem Austausch des jeweiligen Schlüsselpaars geraten. Ebenfalls sollten alle Passwörter, die über eine betroffene TLS-Verbindung ausgetauscht wurden, vorsorglich geändert werden.
Inhalt
- Zusammenfassung
- Betroffene Systeme
- Nicht betroffene Systeme
- Plattform
- Einfallstor
- Angriffsvoraussetzung
- Angriffsvektorklasse
- Auswirkung
- Typ der Verwundbarkeit
- Gefahrenpotential
- Beschreibung
- Workaround
- Gegenmaßnahmen
- Vulnerability ID
- Exploit Status
- Weitere Information zu diesem Thema
- Revisionen dieser Meldung
Zusammenfassung
- CVE-2014-0160:
Betroffen: OpenSSL Version 1.0.1 bis 1.0.1f (und jeweilige Beta-Versionen), 1.0.2-beta und 1.0.2-beta1 Nicht betroffen: OpenSSL Version 1.0.1g sowie 1.0.2-beta2 (sobald verfügbar) sowie 1.0.0, 0.9.x und frühere Versionen Plattform: Unixoid und Microsoft Windows Einfallstor: TLS-Datenpaket Angriffsvoraussetzung: Netzwerk Angriffsvektorklasse: remote Auswirkung: Kompromittierung der OpenSSL-basierten Kommunikation Typ: Pufferüberlaufschwachstelle Gefahrenpotential: sehr hoch Workaround: nein Gegenmaßnahmen: neue Version, Austausch der Schlüssel, Zurückziehen der Zertifikate, ggf. Beantragung und Installation neuer Zertifikate, Ánderung der Passworte Vulnerability ID: CVE-2014-0160, VU#720951 Version: V 2.2 (2014-04-15)
Betroffene Systeme
- OpenSSL Versionen 1.0.1, 1.0.1a, 1.0.1b, 1.0.1c, 1.0.1d, 1.0.1e, 1.0.1f (inkl. die jeweiligen Beta-Versionen)
1.0.1-beta1 wurde am 3. Januar 2012, 1.0.1 am 14. März 2012 veröffentlicht. - OpenSSL Versionen 1.0.2-beta, 1.0.2-beta1
- Liste betroffener Drittanbietersoftware (CERT/CC)
Achtung, diese ist voreingestellt aktiv, die Nichtverwundbarkeit kann also nur angenommen werden, wenn sie vor Inbetriebnahme explizit deaktiviert wurde! Die Heartbeat Extension wurde am 1. Januar 2012 ins Code-Repository eingestellt.
Nicht betroffene Systeme
- OpenSSL Version 1.0.1g
- OpenSSL Version 1.0.2-beta2
- OpenSSL Versionen 1.0.0 und 0.9.x und früher
Plattform
Einfallstor
- Speziell formuliertes Datenpaket im Rahmen einer TLS-Sitzung.
Angriffsvoraussetzung
- Zugang zu einem Netzwerk, über das eine TLS-Sitzung mit einem verwundbaren System aufgebaut werden kann.
(network)
Angriffsvektorklasse
- über eine Netzwerkverbindung
(remote)
Auswirkung
- Kompromittierung des privaten Schlüssels eines OpenSSL-Servers oder -Clients und damit Kompromittierung der gesamten per OpenSSL verschlüsselten oder authentifizierten Kommunikation.
(information leak) - Kompromittierung der im Rahmen von per OpnSSL abgesicherter Kommunikation ausgetauschten und auf einem betroffenen OpenSSL-Server oder -Client zwischengespeicherten Information (z.B. Passwörter).
(information leak)
Typ der Verwundbarkeit
- Pufferüberlaufschwachstelle
(memory leak)
Gefahrenpotential
- sehr hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)
Beschreibung
Eine Pufferüberlaufschwachstelle in der TLS heartbeat extension der Verschlüsselungssuite OpenSSL kann von einem Angreifer durch das Senden eines speziell formulierten Paketes dazu ausgenutzt werden, bis zu 64 Kilobyte des durch die Programme der Suite belegten Arbeitsspeichers auf dem beherbergenden System auszulesen. Dabei ist es unerheblich, ob das System als Server oder Client agiert. Dies kann dazu führen, dass der Angreifer in den Besitz des privaten Schlüssel des Servers oder Clients kommt und damit die gesamte per TLS verschlüsselte oder authentifizierte Kommunikation von oder zu diesem System als kompromittiert anzusehen ist. Auch beliebige andere Information, die im Rahmen betroffener TLS-Kommunikation ausgetausch und im für den jeweiligen Prozess reservierten Speicher abgelegt wurde, kann über diese Schwachstelle in die Hände des Angreifers gelangen, Da viele Kommunikationsverbindungen per OpenSSL abgesichert werden, die zur Authentifizierung von Benutzern Passwörter verwenden, liegen diese i.A. eine Zeit lang im Speicher betroffener Implementierungen. Durch ständiges Anwenden des Angriffs ist es denkbar, dass diese Passwörter ausgelesen werden.
Die Schwachstelle ist in den Routinen der TLS heartbeat extension enthalten, die mit OpenSSL Version 1.0.1 eingeführt wurde, um langfristige TLS-Verbindungen aufrecht erhalten zu können. Sie ist nur für wenige Anwendungsfälle tatsächlich erforderlich, voreingestellt jedoch aktiviert. Wurde sie bei der Installation nicht explizit deaktiviert, ist ein System der o.g, Versionen als verwundbar einzustufen.
Um die Schwachstelle erforlgreich ausnutzen zu können muss der Angreifer keine gültige TLS-Verbindung zu einem betroffenen System aufbauen, es ist ausreichend, im Rahmen des Verbindungsaufbaus (Handshake) entsprechende Pakete zu senden.
Mit der betroffenen Version 1.0.1 wurde außerdem die Unterstützung der Protokolle TLS 1.1 und 1.2 durch OpenSSL eingeführt, so dass ausgerechnet Dienstebetreiber und -nutzer betroffen sind, die mit der Umstellung von einer älteren OpenSSL-Version auf eine nunmehr von dieser Schwachstelle betroffene Version Sicherheitsbewusstsein demonstriert haben. Besonders ärgerlich ist, dass die Schwachstelle von einer Funktion verursacht wird, die eher selten genutzt wird, jedoch unverständlicherweise voreingestellt aktiv ist. Damit wird das grundlegende Sicherheitsprinzip der Minimalität (nur tatsächlich erforderliche Dienste sind aktiviert) verletzt.
OpenSSL wird zur Absicherung der Kommunikation verschiedener Implementierungen von Server- und Clientapplikationen verwendet, zB von Web- und Mailservern (apache, nginx, Postfix, Sendmail etc.). Sofern diese eine betroffene Version einsetzen sind ihre Schlüssel und ggf. dafür ausgegebene Zertifikate sowie die Benutzerpassworte als kompromittiert anzusehen.
Die Ausnutzung der Schwachstellen hinterlässt keine Spuren, so dass im Nachhinein nicht festgestellt werden kann, ob ein erfolgreicher Angriff stattgefunden hat. Die Schwachstelle ist außerdem offenbar seit mindestens einer Woche bekannt, da verschiedene Betreiber von potentiell betroffenen Diensten vorab informiert wurden. Daher sind alle verwundbaren Installationen als kompromittiert anzusehen.
ACHTUNG! Es wird daher dringend zur unverzüglichen Aktualisierung betroffener Systeme und dem Austausch des jeweiligen Schlüsselpaars sowie der über die TLS-Verbindung gesendeten Passwörter geraten!
Man beachte, dass erteilte Zertifikate für derart (potentiell) betroffene Schlüssel zurückgezogen werden müssen!
Workaround
- Theoretisch könnte durch Abschaltung der TLS heartbeat extension die Schwachstelle beseitigt werden, da jedoch davon ausgegangen werden muss, dass die Schwachstelle bereits ausgenutzt worden sein könnte, ist dieser Workaround nicht in den Fällen praktikabel, in denen ein betroffenes System mit eingeschalteter TLS heartbeat extension (ist voreingestellt aktiv) am Netz war.
Gegenmaßnahmen
- Installation von OpenSSL Version 1.0.1g (verfügbar seit Apr 7 19:21:29 2014 UTC) oder
- Installation von OpenSSL 1.0.2-beta2, sobald verfügbar
- Löschung des (potentiell) betroffenen Schlüsselpaars
- Zurückziehen aller Zertifikate, die für den (potentiell) betroffenen öffentlichen Schlüssel ausgestellt sind; Bei Zertifikaten innerhalb der DFN-Zertifizierungshierarchie, soll dies über die CA des DFN geschehen.
- Erzeugung eines neuen Schlüsselpaares
- Erzeugung eines CSR für den neuen öffentlichen Schlüssel und Beantragung eines neuen Zertifikates (nur für Mitglieder der Universität Stuttgart, bzw. Belwue)
- Installation des neuen Zertifikates
- Änderung aller über eine betroffene TLS-Verbindung gesendeter Passwörter.
Vulnerability ID
Weitere Information zu diesem Thema
- Heartbleed Bug
- Golem.de: Keys auslesen mit OpenSSL
- Heartbleed Masstest Skript zum Testen von OpenSSL-Servern auf Verwundbarkeit
- DFN-CERT-2014-0420
Exploit Status
- Es ist davon auszugehen, dass diese Schwachstelle schon länger bekannt war und aktiv ausgenutzt wurde und wird
(malware)
Revisionen dieser Meldung
- V 1.0 Kurzmeldung (2014-04-07)
- V 2.0 Vollmeldung (2014-04-08)
- V 2.1 Erweiterung/Verallgemeinerung (2014-04-11)
- V 2.2 Liste betroffener Drittanbietersoftware hinzugefügt (2014-04-15)
Weitere Artikel zu diesem Thema:
- [Generic/OpenSSL] Mehrere Schwachstellen in OpenSSL (2014-06-05)
Sechs Schwachstellen in OpenSSL der Versionen 0.9.8, 1.0.0 und 1.0.1 können von einem Angreifer dazu ausgenutzt werden, beliebigen Programmcode auf dem beherbergenden System (sowohl auf Servers als auch auf Clients) auszuführen, schwache Sitzungsschlüssel in TLS-Sitzungen zu erzwingen, betroffene Installationen in einen unbenutzbaren Zustand zu versetzen oder Daten in bestehende Sitzungen einzuschleusen. Das OpenSSL-Team stellt neue Versionen der verschiedenen Zweige bereit, die die Schwachstellen beheben. Es wird empfohlen, betroffene Installationen umgehend zu aktualisieren. Nach derzeitigem Wissensstand sind Passwörter und/oder Zertifikate nur zu ändern, falls ein betroffenes System erfolgreich angegriffen und kompromittiert wurde (wie dies auch bei jeder anderen Kompromittierung der Fall wäre).
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=1721