Geschrieben von hone and zzak am 10.4.2014
Übersetzt von Quintus
In der OpenSSL-Implementation der Heartbeat-Erweiterung (RFC6520
) von TLS/DTLS
(Protokolle zum Verschlüsseln der Transportschicht) wurde eine
kritische Sicherheitslücke entdeckt. Es handelt sich hierbei um ein
schwerwiegendes Sicherheitsproblem, dem die CVE-Kennung
CVE-2014-0160
zugewiesen wurde.
Seine Ausnutzung kann das Auslesen des Serverspeichers durch den Client und umgekehrt ermöglichen; ein Angreifer kann auf diese Weise sensible Daten wie beispielsweise — aber nicht nur — die für die SSL-Verschlüsselung genutzen geheimen Schlüssel und Authentifizierungs-Tokens erhalten.
Weitere Informationen zu den Angriffen finden Sie auf heartbleed.com.
In wiefern ist Ruby betroffen?
Ruby ist dann betroffen, wenn es über die OpenSSL-C-Extension in der Standard Library statisch gegen eine verwundbare Version von OpenSSL gelinkt wurde.
Von diesem Angriff betroffen sind die OpenSSL-Versionen 1.0.1 bis 1.0.1f (eingeschlossen). Sie können wie folgt herausfinden, mit welcher Version der OpenSSL-Bibliothek Ruby gelinkt wurde:
Um herauszufinden, welche Version von OpenSSL momentan mit Ruby installiert ist, gehen Sie so vor:
Mit emboss’ Skript können Sie überprüfen, ob Ihre Client-Software oder ein Service verwundbar ist.
Lösungen
Zur Aktualisierung auf OpenSSL Version 1.0.1g
oder jünger sollten
Sie den Paketmanager Ihres Betriebssystems darauf hin überprüfen, ob
ein aktuelles OpenSSL angeboten wird. Möglicherweise müssen Sie, um
die Frage zu beantworten, ob die angebotene Version von OpenSSL
unabhängig von der verfügbaren Versionsnummer gepatched wurde, Ihren
Betriebssystem-Distributor kontaktieren.
Wenn eine Aktualisierung keine Möglichkeit darstellt, kompilieren Sie ein
korrigiertes OpenSSL mit der Option -DOPENSSL_NO_HEARTBEATS
.
Bei einem aktualisierten OpenSSL wird empfohlen, Ruby neu zu kompilieren um sicherzustellen, dass keine Links zu einer verwundbaren OpenSSL-Version mehr zurückbleiben.
Das bedeutet auch, dass alle Werkzeuge, mit denen Ruby gebaut werden
kann, also etwa RVM oder ruby-build, ebenfalls aktualisiert werden
müssen. Wenn Sie Ruby selbst kompilieren, benutzen Sie die
--with-openssl-dir
-Option, um gegen das aktualisierte
OpenSSL-Installationsverzeichnis zu linken.
Nachdem Sie OpenSSL und Ruby aktualisiert haben, ist es erforderlich, alle Programme, die noch die verwundbare Version benutzen, neu zu starten.
Zahlreiche Betriebssystemdistributionen bieten bereits korrigierte Versionen und neu gebaute Pakete für die von diesem Angriff betroffenen Bibliotheken an (oder werden es in naher Zukunft tun). Es ist daher für die Aufrechterhaltung Ihrer Sicherheit unerlässlich, Ihren Betriebssystem-Distributor im Auge zu behalten.