[Debian Linux/OpenSSL] Kritische Schwachstelle in OpenSSL (UPDATE)
(2008-05-13 12:46:40.270374+00)
Quelle:
http://lists.debian.org/debian-security-announce/2008/msg00152.html
Eine kritische Schwachstelle in den OpenSSL-Paketen der Linux-Distribution Debian führt dazu, dass SSL-Schlüssel, die auf einer betroffenen Umgebung erzeugt wurden, durch einen Angreifer leicht berechnet werden können. OpenSSL wird von zahlreichen Systemen, die kryptographische Verfahren zur Absicherung von Daten und Netzverkehr anbieten, verwendet. Unter anderen sind dies vor allem SSH und OpenVPN, sowie z.B. Webserver die HTTPS-Unterstützung anbieten. Debian stellt neue OpenSSL-Pakete bereit, die sofort installiert und mit deren Hilfe auch sofort neue Schlüssel generiert werden sollten. Die neuen Pakete beheben ausserdem zwei weitere Schwachstellen.
UPDATE: Exploit Code wurde veröffentlicht.
Betroffene Systeme
- CVE-2008-0166:
- OpenSSL-Pakete seit 2006-09-17:
- OpenSSL-Pakete der Versionen 0.9.8b-1 bis vor 0.9.8g-9 für Debian Linux
- OpenSSL-Pakete anderer Distributionen, sofern sie die Pakete der o.g. Debian-Distribution übernehmen oder auf Debian basieren. Dies sind z.B. ubuntu, ubuntu Server Edition, Kubuntu, Xubuntu, Edubuntu, Gobuntu, Koppix etc.
- Applikationen, die OpenSSL zur Erzeugung von Schlüsseln (und Zertifikaten) verwenden. z.B.:
- OpenSSH
- OpenVPN
- mod_ssl für apache
- DNSSEC-Implementierungen
- SIP-Implementierungen
- ...
- Sämtliches Schlüsselmaterial, das mit einer betroffenen OpenSSL-Version erzeugt wurde. Auch alle Signaturen, die mit solchen Schlüsseln erzeugt wurden, sind als kompromittiert anzusehen.
- OpenSSL-Pakete seit 2006-09-17:
- CVE-2007-4995:
- OpenSSL-Pakete Versionen vor 0.9.8g-9 für Debian Linux
- OpenSSL-Pakete anderer Distributionen, sofern sie die Pakete der o.g. Debian-Distribution übernehmen oder auf Debian basieren. Dies sind z.B. ubuntu, ubuntu Server Edition, Kubuntu, Xubuntu, Edubuntu, Gobuntu, Koppix etc.
- CVE-2007-3108:
- OpenSSL-Pakete Versionen vor 0.9.8g-9 für Debian Linux
- OpenSSL-Pakete anderer Distributionen, sofern sie die Pakete der o.g. Debian-Distribution übernehmen oder auf Debian basieren. Dies sind z.B. ubuntu, ubuntu Server Edition, Kubuntu, Xubuntu, Edubuntu, Gobuntu, Koppix etc.
Nicht betroffene Systeme
- CVE-2008-0166:
- OpenSSL-Pakete in der stable distribution Debian sarge
- OpenSSL-Pakete der Version 0.9.8g-9 und später
- GnuPG aller Versionen
- GNUTLS aller Versionen
- Nach derzeitgem Wissenstand: andere Linux-Distributionen
- CVE-2007-4995:
- OpenSSL-Pakete der Version 0.9.8g-9 und später
- CVE-2007-3108:
- OpenSSL-Pakete der Version 0.9.8g-9 und später
Einfallstor
- CVE-2008-0166:
Alle krypographischen Systeme/Protokolle, die auf OpenSSL basieren oder es verwenden. Dies sind z.B.: - CVE-2007-4995:
DTLS, TLS over UDP, je nach unterstützter Applikation unterschiedlich - CVE-2007-3108:
unbekannt
Angriffsvoraussetzung
- CVE-2008-0166:
Je nach System unterschiedlich, meist jedoch:- Zugriff auf eine Netzwerkverbindung, die das Senden von Authentifizierungsinformation oder verschlüsselten Daten an ein betroffenes System ermöglicht
(network)
- Zugriff auf eine Netzwerkverbindung, die das Senden von Authentifizierungsinformation oder verschlüsselten Daten an ein betroffenes System ermöglicht
- CVE-2007-4995:
Zugriff auf eine Netzwerkverbindung, die das Senden von entsprechendem UDP-Verkehr an ein betroffenes System ermöglicht
(network) - CVE-2007-3108:
Angriffsvektorklasse
- CVE-2008-0166:
Je nach System unterschiedlich, meist jedoch:- über eine Netzwerkverbindung
(remote)
- über eine Netzwerkverbindung
- CVE-2007-4995:
über eine Netzwerkverbindung
(remote) - CVE-2007-3108:
über eine Netzwerkverbindung
(remote)
Auswirkung
- CVE-2008-0166:
Je nach System unterschiedlich, z.B.:- SSH:
- Authentifizierter Zugriff auf ein betroffenes System und in der Folge:
Ausführung beliebigen Programmcodes auf dem beherbergenden Rechnersystem mit den Privilegien eines Benutzers, der SSH-Zugriff auf ein betroffenes System besitzt
(user compromise) - Sofern der Benutzer
root
sich ebenfalls per SSH zu einem betroffenen System verbinden kann:
Ausführung beliebigen Programmcodes auf dem beherbergenden Rechnersystem mit administrativen (root
) Privilegien
(system compromise)
- Authentifizierter Zugriff auf ein betroffenes System und in der Folge:
- OpenVPN: siehe SSH
- DNSSEC: Angriffe, die auf nicht krytographisch abgesichertes DNS möglich sind, insbesondere DNS-Spoofing und DNS-Cache-Poisoning.
- Verwendung von X.509-Zertifikaten z.B.:
- HTTPS:
- Erlangung von Benutzer-Credentials zur Authentifizierung bei Servern, damit ggf. Zugriff auf geschützte Bereiche
(application user compromise) - Erlangung eines Server-Zertifikates und damit Vortäuschung eines HTTPS-Servers gegenüber sich authentifizierenden Benutzern
- Abhören des verschlüsselten Datenstroms
(information leak)
- Erlangung von Benutzer-Credentials zur Authentifizierung bei Servern, damit ggf. Zugriff auf geschützte Bereiche
- POP3S: siehe HTTPS
- IMAPS: siehe HTTPS
- HTTPS:
- SIP:
- Erlangung von Benutzer-Credentials zur Authentifizierung bei Servern, damit Vortäuschung einer fremden Identität.
(identity theft)
Dies kann subsequent ausgenutzt werden, um- auf fremde Rechnung zu telefonieren (Gebührenbetrug)
(toll fraud) - ggf. vertrauliche Daten, die dem Benutzer gehören einzusehen
(information leak)
- auf fremde Rechnung zu telefonieren (Gebührenbetrug)
- Erlangung eines Server-Zertifikates und damit Vortäuschung eines SIP-Servers gegenüber sich authentifizierenden Benutzern
- Abhören des verschlüsselten Datenstroms
(information leak)
- Erlangung von Benutzer-Credentials zur Authentifizierung bei Servern, damit Vortäuschung einer fremden Identität.
- ...
- SSH:
- CVE-2007-4995:
Ausführung beliebigen Programmcodes auf dem beherbergenden Rechnersystem mit den Privilegien des OpenSSL-Prozesses. Die Privilegien erbt der Prozess vom aufrufenden Prozess.
(user compromise)
(system compromise sofern der aufrufende Prozessroot
-Privilegien besitzt.) - CVE-2007-3108:
Brechung der Verschlüsselung
Typ der Verwundbarkeit
- CVE-2008-0166:
Entwurfsfehler (bzw. Fehler bei der Wartung des Paketes)
(Design Flaw) - CVE-2007-4995:
unbekannt - CVE-2007-3108:
Seitenkanalangriff
(side channel attack)
Gefahrenpotential
- CVE-2008-0166:
- VPN-Lösungen, wie SSH und OpenVPN: sehr hoch
- Verwendung von Zertifikaten:
- mittel (bei reiner Server-Authentifizierung) bis
- hoch bei Benutzerauthentifizierung ggf. mit Zugriff auf sensitive Daten
- CVE-2007-4995:
hoch bis sehr hoch - CVE-2007-3108:
- Aus Sicht des beherbergenden Rechnersystems: mittel bis hoch
- Aus Sicht der Applikation: sehr hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)
Dringlichkeit
Die Dringlichkeit, die angegebenen Gegenmaßnahmen zu ergreifen ist
- sehr hoch
- CVE-2008-0166:
Durch einen Fehler wurde bei der Wartung der OpenSSL-Pakete am 17. September 2006 versehentlich Code verändert, der eine kritische Schwachstelle in das OpenSSL-System eingeführt hat. Die Schwachstelle führt dazu, dass SSL-Schlüssel, die auf einer betroffenen Umgebung erzeugt wurden, trivial vorhersagbar und damit kompromittierbar sind.
Die Schwachstelle sorgt dafür, dass die Menge der möglichen verschiedenen Schlüssel (sog. Schlüsselraum) die erzeugt werden können lediglich 32.767 Elemente enthält. Eine betroffene OpenSSL-Installation kann also nur 32.767 verschiedene Schlüssel je Schlüsseltyp, Schlüssellänge und Architektur des beherbergenden Rechnersystems erzeugen. Darüberhinaus sind diese Schlüssel alle vorhersagbar, so dass eine Liste aller dieser Schlüssel vorausberechnet werden kann.
Damit wird ein Angriff trivial.
Es ist mittlerweile Exploit Code veröffentlicht, der den Angriff demonstriert und im zugehörigen Papier werden auch noch Überlegungen angestellt, wie ein Angriff weiter optimiert werden kann. Die Dringlichkeit, betroffene Schlüssel auszutauschen und betroffene Systeme zu aktualisieren steigt damit stark.
Neben allen Systemen, die OpenSSL zur Erzeugung Ihrer TLS-Schlüssel oder Zertifikate nutzen (etwa Webserver, die HTTPS anbieten) sind insbesondere VPN-Lösungen z.B. über OpenSSH oder OpenVPN betroffen, die ihre Schlüssel mittels OpenSSL auf Debian-Systemen erzeugen.
Insbesonderes Augenmerk ist auf SSH-basierte Installationen zu legen, da diese oft Zugänge zu besonders sensitiven Bereichen absichern, etwa administrativen Zugang zu Netzwerkkomponenten, wie Switches und Routers, oder Firewallsystemen.
Debian stellt neue OpenSSL-Pakete bereit, die sofort installiert und mit deren Hilfe auch sofort neue Schlüssel generiert werden sollten.
- CVE-2007-4995:
Eine Schwachstelle in der Datagram Transport Layer Security-Implementierung (DTLS) kann von einem Angreifer zur Ausführung beliebigen Programmcodes auf dem beherbergenden Rechnersystem ausgenutzt werden. Der Programmcode wird dabei mit den Privilegien des OpenSSH-Prozesses ausgeführt, der sie wiederum von seinem Vaterprozess erbt. Die Ausnutzung der Schwachstelle kann also auf einem System, bei der dieser Vaterprozess administrative Privilegien besitzt, zur Kompromirttierung des beherbergenden Rechnersystems führen. OpenSSL 0.9.8g-9 behebt diese Schwachstelle.
Frühere Versionen von OpenSSL haben darüber hinaus DTLS nicht gemäß der Spezifikation implementiert, sondern ein wesentlich schwächeres Verfahren. Auch diese potentielle Schwachstelle wurde mit der nun bereitgestellten Version behoben.
- CVE-2007-3108:
Eine Schwachstelle in den Routinen zur Multiplikation von Intergerzahlen von OpenSSL ermöglicht einen Seitenkanalangriff, der zur Brechung der Verschlüsselung in der Implementierung ausgenutzt werden konnte. OpenSSL 0.9.8g-9 behebt diese Schwachstelle.
- Debian stellt ein Skript zur Identifizierung betroffenen Schlüsselmaterials bereit (OpenPGP-Signatur dazu)
- CVE-2008-0166:
- Umgehende Installation neuer OpenSSL-Pakete der Version 0.9.8g-9 oder später.
- Neuerzeugung aller Schlüssel, die seit September 2006 auf einem betroffenen System generiert wurden.
Achtung!: Dies betrifft ggf. auch Schlüssel, die auf einem betroffenen System erzeugt und dann auf ein anderes, nicht betroffenes System transferiert wurden.
- CVE-2007-4995:
Umgehende Installation neuer OpenSSL-Pakete der Version 0.9.8g-9 oder später. - CVE-2007-3108:
Umgehende Installation neuer OpenSSL-Pakete der Version 0.9.8g-9 oder später.
Vulnerability ID
- Funktionierender Exploitcode ist verfügbar
(proof-of-concept)
Weitere Information zu diesem Thema
- Detektor zur Identifizierung betroffenen Schlüsselmaterials (OpenPGP-Signatur dazu)
- Seite mit Information zum Austausch betroffenen Schlüsselmaterials
- Debian Wiki SSLkeys , Seite mit viel Information zur Identifikztion verwundbarer Schlüssel, dem Schlüsselaustausch bei verschiedenen Applikationen, die OpenSSL verwenden, etc.
- CVE-2008-0166:
- Ubuntu Security Notice USN-612-1, openssl vulnerability
- Ubuntu Security Notice USN-612-2, openssh vulnerability
- Ubuntu Security Notice USN-612-3, openvpn vulnerability
- Ubuntu Security Notice USN-612-4, ssl-cert vulnerability
- Ubuntu Security Notice USN-612-5, openssh update
- Ubuntu Security Notice USN-612-6, openvpn regression
Revisionen dieser Meldung
- V 1.0 (2008-05-13):
- Beschreibung der Schwachstelle CVE-2008-0166 veröffentlicht
- V 1.1 (2008-05-13):
- Beschreibungen für CVE-2007-4995 und CVE-2007-3108 hinzugefügt
- V 1.2 (2008-05-14):
- Da der Link zum von Debian bereitgestellten Skript zur Feststellung betroffenen Schlüsselmaterials in der Sektion Weitere Information zu diesem Thema offenbar leicht übersehen wurde, ist er nun nochmals in der nun hinzugefügten Sektion Feststellen der Verwundbarkeit enthalten.
- V 1.3 (2008-05-15):
- Bislang unveröffentlichte Information zur Natur der Schwachstelle in der Beschreibung hinzugefügt
- Exploit Status hinzugefügt
- Dringlichkeit hinzugefügt
- V 1.4 (2008-05-15):
- Links zu den entsprechenden Ubuntu-Advisories hinzugefügt
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=1453