Heartbleed: Die Lücke, durch die Angreifer Serverspeicher lasen
Im April 2014 ließ eine Lücke in OpenSSL Angreifer den Speicher von 24–55 % der HTTPS-Server beliebter Websites lesen. Warum ein Patch allein nicht reichte.

Sofortmaßnahmen
- Aktualisiere OpenSSL von den Versionen 1.0.1 bis 1.0.1f auf 1.0.1g oder neuer.
- Wenn du nicht sofort aktualisieren kannst, kompiliere OpenSSL mit der Option
-DOPENSSL_NO_HEARTBEATSneu. - Behandle Schlüssel, die mit einer verwundbaren Version erzeugt wurden, als gestohlen. Erzeuge einen neuen privaten Schlüssel, besorge ein neues Zertifikat und widerrufe das alte.
- Prüfe auch Netzwerkgeräte und eingebettete Geräte: Viele wurden mit einer verwundbaren OpenSSL-Version ausgeliefert.
- Jahr
- 2014
- CVSS-3.1-Wert
- 7,5 hoch
- der HTTPS-Server unter den eine Million meistbesuchten Websites waren anfangs verwundbar
- 24–55 %
- der eine Million meistbesuchten HTTPS-Websites ersetzten binnen drei Wochen ihre Zertifikate
- 23 %
- Reichweite erfüllt
Anfangs waren 24–55 % der HTTPS-Server in der Alexa Top 1 Million verwundbar. Zwei Tage nach der Bekanntgabe waren noch etwa 2 Millionen HTTPS-Server verwundbar (The Matter of Heartbleed, 2014).
- Massenausnutzung nicht erfüllt
Forscher zählten 5.948 Angriffsversuche auf 217 Ziele in vier überwachten Netzwerken. Die Quellen belegen keine Massenangriffe (The Matter of Heartbleed, 2014).
- Schaden nicht erfüllt
Eine verlässliche Gesamtzahl gibt es nicht. Der Diebstahl von 900 Sozialversicherungsnummern bei der kanadischen Steuerbehörde Canada Revenue Agency ist nur aus der Presse bekannt (CTV News).
- Außergewöhnliche Reaktion erfüllt
Schlüssel und Zertifikate mussten als kompromittiert gelten (US-CERT). Binnen drei Wochen ersetzten 23 % der HTTPS-Websites in der Alexa Top 1 Million ihre Zertifikate (The Matter of Heartbleed, 2014).
| Betroffen | OpenSSL, die Verschlüsselungssoftware hinter vielen HTTPS-Servern |
|---|---|
| CVE | CVE-2014-0160 |
| CVSS-Vektor | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| Schwachstellentyp (CWE) | CWE-125 |
| Behoben in | OpenSSL 1.0.1g (7. April 2014) |
| In der CISA-Liste ausgenutzter Schwachstellen seit | 4. Mai 2022 |
| Gefunden von | Das Sicherheitsteam von Google und Codenomicon, unabhängig voneinander |
- 1Fehler gelangt in den Code
- 2Entdeckt+811 Tage
- 3Dem Hersteller gemeldet+822 Tage
- 4Patch verfügbar+828 Tage
- 5Erste Angriffe beobachtet+829 Tage
- 6In die CISA-Liste ausgenutzter Schwachstellen aufgenommen+3777 Tage
Am 7. April 2014 behob das OpenSSL-Projekt eine Sicherheitslücke, durch die jeder im Internet Teile des Arbeitsspeichers eines Servers auslesen konnte. Dazu gehörten Passwörter und manchmal die geheimen Schlüssel des Servers. OpenSSL ist ein Software-Baustein, mit dem viele Webserver, Mailserver und Geräte ihre Verbindungen verschlüsseln. Ein Beispiel ist HTTPS, die sichere Form des Webs. Eine Messstudie schätzt, dass anfangs 24–55 % der HTTPS-Server der eine Million meistbesuchten Websites verwundbar waren.
So funktionierte der Angriff
Verschlüsselte Verbindungen im Web nutzen ein Protokoll namens TLS. Es hat eine „Heartbeat“-Funktion (Herzschlag), die eine Verbindung offen hält. Eine Seite schickt eine kurze Nachricht und eine Zahl, die ihre Länge angibt. Die andere Seite schickt die Nachricht zurück.
OpenSSL vertraute dieser Zahl und verglich sie nie mit der tatsächlichen Länge. Ein Angreifer konnte eine Nachricht von einem Byte schicken, aber behaupten, sie sei 65.535 Byte lang. Der Server kopierte dann bis zu 64 KB aus dem Speicher neben der Nachricht in die Antwort. Dazu konnten Passwörter gehören und die Sitzungs-Cookies, die Nutzer angemeldet halten. Manchmal konnte auch der private Schlüssel des Servers darunter sein, das Geheimnis, das seine verschlüsselten Verbindungen schützt.
Die Anfrage hinterließ keine Spuren in den normalen Logdateien und ließ sich beliebig oft wiederholen, jedes Mal für ein neues Stück Speicher. Derselbe Fehler wirkte auch umgekehrt: gegen Programme, die sich mit einem bösartigen Server verbanden. Der fehlerhafte Code kam am 31. Dezember 2011 in OpenSSL und erschien am 14. März 2012 in Version 1.0.1. Er war also etwa zwei Jahre im Einsatz, bevor er entdeckt wurde.
- Angreiferschickt einen Heartbeat mit 1 Byte Daten
- OpenSSLglaubt die angegebene Länge von 65.535 Byte
- Serverspeicherbis zu 64 KB landen in der Antwort
- Angreiferliest Passwörter, Cookies oder sogar Schlüssel mit
Reichweite und Schaden
Die besten Messungen stammen aus „The Matter of Heartbleed“, einer Studie von 2014. Ihre Autoren forschen an der University of Michigan, der University of California Berkeley, dem Forschungsinstitut ICSI und der Purdue University. Die Studie nutzt die Alexa Top 1 Million, eine Rangliste der eine Million meistbesuchten Websites. Als die Lücke bekannt wurde, waren 24–55 % der HTTPS-Server auf dieser Liste verwundbar, schätzen die Autoren. Darunter waren mindestens 44 der 100 meistbesuchten Websites. Einer der Entdecker hatte zuerst von 66 % gesprochen, gestützt auf den Marktanteil der Webserver Apache und nginx. Die Studie hält diese Zahl für zu hoch.
Große Websites patchten schnell: Innerhalb von 24 Stunden hatten alle Websites der Top 100 bis auf 5 den Fix installiert. Zwei Tage nach der Bekanntgabe waren noch 11,5 % der HTTPS-Websites in der Alexa Top 1 Million verwundbar. Dasselbe galt für 6 % aller HTTPS-Server im Internet, etwa 2 Millionen Rechner. Nach rund zwei Wochen kam der Rückgang fast zum Stillstand.
| Anfangs, untere Schätzung | 24 % | |
|---|---|---|
| Anfangs, obere Schätzung | 55 % | |
| 9. April 2014 | 11,5 % | |
| 4. Juni 2014 | 3,1 % |
Die ersten beiden Balken zeigen die Spanne, die die Studie für den Beginn schätzt, die anderen beiden sind Messungen. Quelle: The Matter of Heartbleed (2014).
Nicht nur Websites waren gefährdet. In einer Stichprobe von 1 % des Internets waren 7,5 % der Mailserver mit Verschlüsselung verwundbar. Drei Tage nach der Bekanntgabe waren 48 % der Relays von Tor, einem Netzwerk für anonymes Surfen, noch verwundbar. Ein vollständiger Scan des Internets am 24. April 2014 fand 588.686 verwundbare Rechner. Davon waren 56 % eingebettete Geräte, also kleine Geräte mit fest eingebauter Software.
Die Forscher durchsuchten außerdem den aufgezeichneten Datenverkehr von vier überwachten Netzwerken nach Angriffen. Vor der Veröffentlichung der Lücke fanden sie keinen Versuch. Der erste kam 21 Stunden und 29 Minuten nach der Bekanntgabe. Insgesamt zählten sie 5.948 Versuche von 692 Quellen gegen 217 Ziele. Wie viele Daten weltweit gestohlen wurden, ist unbekannt. Der bekannteste Fall stammt aus der Presse. Die Canada Revenue Agency, die kanadische Steuerbehörde, gab an, dass über Heartbleed 900 Sozialversicherungsnummern entwendet wurden. Eine verlässliche Gesamtzahl zum Schaden gibt es nicht.
Der Patch und die Reaktion
Das Sicherheitsteam von Google entdeckte die Lücke am 21. März 2014 und patchte seine eigenen Server noch am selben Tag. Am 1. April informierte es das OpenSSL-Team. Das finnische Sicherheitsunternehmen Codenomicon fand die Lücke Anfang April unabhängig davon und meldete sie über das NCSC-FI, das nationale Cybersicherheitszentrum Finnlands. Am 7. April veröffentlichte OpenSSL die Version 1.0.1g. Der Fix ist einfach: OpenSSL verwirft jetzt Heartbeat-Nachrichten, deren angegebene Länge größer ist als die enthaltenen Daten.
Das Update allein reichte nicht, weil ein Angreifer den privaten Schlüssel eines Servers unbemerkt kopiert haben konnte. Das US-CERT, das Computer-Notfallteam der US-Regierung, warnte: „Alle Schlüssel, die mit einer verwundbaren Version von OpenSSL erzeugt wurden, sollten als kompromittiert gelten.“ Die Betreiber mussten neue Schlüssel erzeugen und neue Zertifikate beantragen, die digitalen Ausweise von Websites. Die alten Zertifikate mussten sie widerrufen, damit Browser ihnen nicht mehr vertrauen. Zwischen dem 9. und dem 30. April ersetzten 23 % aller HTTPS-Websites in der Alexa Top 1 Million ihre Zertifikate, 4 % widerriefen sie.
Websites, die langsam gepatcht wurden, tauschten auch ihre Schlüssel nur langsam aus:
| Hatten den Fix installiert | 73 % | |
|---|---|---|
| Hatten ihr Zertifikat ersetzt | 10,1 % |
Websites der Alexa Top 1 Million, die am 9. April 2014 verwundbar waren. Quelle: The Matter of Heartbleed (2014).
Von den verwundbaren Websites, die ihr Zertifikat tatsächlich ersetzten, verwendeten 14 % denselben privaten Schlüssel weiter. Das brachte keinen Schutz. Nur 19 % widerriefen das alte Zertifikat. Warnungen wirkten. In einem Experiment mit rund 150.000 verwundbaren Rechnern patchten von den Forschern benachrichtigte Betreiber 47 % mehr als Betreiber ohne Benachrichtigung.
Die National Vulnerability Database bewertet Heartbleed auf CVSS 3.1 mit 7,5 von 10, also als „hoch“ und nicht als „kritisch“. Denn Angreifer können mit der Lücke Daten lesen, aber weder verändern noch einen Server lahmlegen.
Weiterlesen: NTP monlistZurück: ShellshockÜbersicht: Schwachstellen