Der Heartbleed-Exploit macht sich eine Schwachstelle in der Umsetzung der Heartbeat-Erweiterung des TLS-Protokolls in OpenSSL zunutze. Er funktioniert erstaunlich einfach und absolut zuverlässig.
Der sogenannte Heartbeat soll es eigentlich Server und Client ermöglichen, eine TLS-Verbindung am Leben zu halten. Zu diesem Zweck sendet einer der Kommunikationspartner eine Payload mit beliebigem Inhalt an das andere Ende. Der Kommunikationspartner schickt dann exakt die selben Daten zurück, um zu zeigen, dass die Verbindung nach wie vor in Ordnung ist.
Das Problem bei der Umsetzung der TLS-Heartbeat-Funktion in OpenSSL war, dass das Programm nicht überprüft, wie lang die empfangene Payload tatsächlich ist – der Empfänger glaubt dem Absender einfach. Der kann in das dafür vorgesehene Feld payload_length im Header des Payload-Paketes beliebige Werte schreiben, bis hin zur maximal in der Spezifikation vorgesehenen Größe von 64 KByte. Lügt der Absender bei der Größe der Payload, kann er letztlich Speicher der Gegenstelle auslesen. Dieser Heartbleed-Angriff funktioniert in beide Richtungen, aber im Folgenden sei angenommen, dass ein böser Client einen verwundbaren Server angreift. weiterlesen »
Keine Kommentare:
Kommentar veröffentlichen