OpenSSL lässt sich gefälschte Zertifikate unterschieben [Update]

Ein Update auf Version 0.9.8j behebt das Problem. Auch der Hersteller des Nameservers BIND hat ein Update veröffentlicht, um Spoofing in DNSSEC-gesicherten Zonen zu verhindern.

In Pocket speichern vorlesen Druckansicht 117 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Daniel Bachfeld

Ein Fehler in der weit verbreiteten SSL/TLS-Bibliothek OpenSSL lässt sich von Angreifern ausnutzen, um Anwendern vorzugaukeln, dass eine gefälschte Signatur in einem Zertifikat gültig sei. Damit wäre es unter anderem möglich, mit einer Man-in-the-Middle-Attacke eine SSL-Verbindung aufzubrechen, ohne das ein auf OpenSSL aufbauender Client eine Warnung erhält. Dadurch ließe sich die Kommunikation belauschen.

Das Problem basiert auf der fehlerhaften Überprüfung von DSA- und ECDSA-Schlüsseln. Der Digital Signature Algorithm (DSA) ist ein reines Signaturverfahren und beruht auf diskreten Logarithmen. ECDSA ist eine Variante auf Basis von Elliptischen Kurven. Beide Algorithmen lassen sich alternativ zum RSA-System einsetzen.

Laut Bericht wird der von der Funktion EVP_VerifyFinal zurückgegebene Wert von anderen OpenSSL-Funktionen nicht korrekt ausgewertet. Gleiches soll nach Angaben des oCERT auch für die Funktionen DSA_verify und DSA_do_verify gelten. Bei Zertifikaten mit RSA-Schlüsseln tritt das Problem nicht auf. Zudem ist der Fehler auch nicht in der Validierung von Client-Zertifikaten auf der Server-Seite enthalten, egal welcher Schlüssel verwendet wird. Betroffen sind alle OpenSSL-Versionen bis einschließlich 0.9.8i. In Version 0.9.8j ist der Fehler behoben.

Der Fehler betrifft laut Bericht des oCERT auch den Nameserver BIND, den NTP-Client von ntp.org sowie Suns GridEngine. Der Hersteller von BIND hat bereits ein Update herausgebracht, ohne das sogar in DNSSEC-gesicherten Infrastrukturen das Einschleusen gefälschter Namensanfragen möglich wäre. Als Workaround schlägt der Hersteller ISC vor, die Algorithmen DSA und ECDSA in der Konfiguration zu deaktivieren.

[Update]Nach Angaben von Sun sind nur GridEngines bis Version 5.3 betroffen. Die Nachfolgeversionen ab SGE 6.0 sollen der Fehler nicht mehr enthalten. [/Update]

Siehe dazu auch:

(dab)