Verschlüsselungs-GAU im Internet: Es gibt eine schwere Sicherheitslücke (mit dem schönen Beinamen „Heartbleed“) in der Verschlüsselungsbibliothek OpenSSL, mit der man das halbe Internet kompromittieren kann. Ein Angreifer kann Schlüssel, Passwörter, Kreditkartennummern und andere geheime Daten klauen.
OpenSSL ist eine Standard-Verschlüsselungsbibliothek, die von allem eingesetzt wird, das irgendetwas mit SSL tut. OpenSSL war in den letzten Monaten bereits durch ein NSA-Backdoor in einem der Zufallszahlengeneratoren aufgefallen, der jedoch nie funktioniert hat, wodurch der Schaden gering war. Bei dem neuen Heartbleed-Angriff ist das anders.
Ein Programmierfehler erlaubt es jedem Kommunikationspartner, Speicher der Gegenstelle auszulesen. Konkret bedeutet das: Ein Angreifer kann Schlüssel, Passwörter und andere geheime Daten klauen.
Die Entdecker der Lücke sprechen vom Heartbleed Bug, weil der Fehler in der Heartbeat-Funktion gefunden wurde. Über einen Heartbeat tauschen Kommunikationspartner Statusinformationen aus, vor allem um festzustellen, ob das Gegenüber noch aktiv ist. Durch eine fehlende Überprüfung eines Speicherzugriffs kann ein Angreifer dabei bis zu 64 KByte der Gegenstelle auslesen, heißt es im Security Advisory TLS heartbeat read overrun (CVE-2014-0160). Laut der Beschreibung der Entdecker gelang es in Tests auf diesem Weg die geheimen Schlüssel eines Server-Zertifikats, Usernamen, Passwörter und auch verschlüsselte übertragenen Daten wie E-Mails zu stehlen. Und das alles ohne irgendwelche Spuren auf dem Server zu hinterlassen.
In erster Linie betroffen sind jetzt alle Betreiber von Servern, die SSL zur Verschlüsselung einsetzen. Das sind nicht nur Web-Server, sondern häufig auch solche für E-Mail, VPN und andere Dienste. Es ist äußerst wichtig, diese Systeme jetzt schnellstmöglichst zu sichern. Die Version OpenSSL 1.0.1g enthält den Fehler nicht mehr. Debian stellt bereits ein Update bereit; andere Distributionen werden bald folgen. Wer OpenSSL selbst mit der Option -DOPENSSL_NO_HEARTBEATS
übersetzt, kann eine nicht anfällige Bibliothek erzeugen. [Update: Versionen vor der aktuellen 1.0.1 wie das auf älteren Systemen noch verbreitete OpenSSL 0.9.8 sind offenbar nicht betroffen.]