Abo
  • Services:

HEIST: Timing- und Kompressionsangriff auf TLS

Durch die geschickte Kombination eines Timing-Angriffs in Javascript und der bereits bekannten Breach-Attacke ist es möglich, Geheimnisse in TLS-Verbindungen zu entschlüsseln. Anders als früher ist dafür kein Man-in-the-Middle-Angriff nötig.

Artikel veröffentlicht am , Hanno Böck
HEIST - ein neuer Angriff auf TLS kombiniert einen Timing-Angriff und einen Angriff auf die HTTP-Kompression.
HEIST - ein neuer Angriff auf TLS kombiniert einen Timing-Angriff und einen Angriff auf die HTTP-Kompression. (Bild: Black-Hat-Slides)

Zwei Forscher der Universität Leuven haben auf der Sicherheitskonferenz Black Hat in Las Vegas einen neuen Angriff gegen HTTPS-verschlüsselte Webseiten namens HEIST vorgestellt (HTTP Encrypted Information can be Stolen through TCP-windows). Dieser kombiniert einen Timing-Angriff mittels Javascript mit bereits bekannten Schwächen von TLS in Kombination mit komprimierten Daten.

Crime und Breach

Stellenmarkt
  1. item Industrietechnik GmbH, Solingen
  2. Phoenix Pharmahandel GmbH & Co KG, Mannheim

2012 entdeckten die Sicherheitsforscher Juliano Rizzo und Thai Duong den sogenannten Crime-Angriff. Sie nutzten dabei die Tatsache aus, dass die Kompression von TLS Informationen über die verschlüsselten Daten preisgibt. Der Crime-Angriff war jedoch in der Praxis nicht relevant, da die TLS-eigene Kompression nur selten genutzt wurde. Ein Jahr später wurde jedoch auf der Black Hat der Breach-Angriff präsentiert, der die von HTTP genutzte Gzip-Kompression ausnutzte. Nahezu alle Webseiten nutzen Gzip, um die übertragenen HTML-Daten zu komprimieren.

Beide Angriffe benötigen eine Webseite, die einen vom Angreifer kontrollierten String enthält. Das kann beispielsweise ein GET- oder POST-Parameter sein, der in irgendeiner Weise in der ausgelieferten HTML-Seite reflektiert wird und in deren HTML-Code enthalten ist. Befindet sich in derselben Webseite ein für den Angreifer interessantes Geheimnis - beispielsweise ein CSRF-Token für ein Formular -, kann der Angreifer durch Ausprobieren dieses Geheimnis schrittweise herausfinden. Immer wenn der Angreifer ein weiteres Zeichen des gesuchten Geheimnisses errät, werden die komprimierten Daten kleiner. Dadurch erhält der Angreifer Feedback und kann letztendlich den gesamten geheimen String entschlüsseln. Dieser bereits bekannte Angriff funktioniert jedoch nur, wenn der Angreifer die übertragenen Daten belauschen kann.

Timing-Angriff auf TCP-Verbindung

Mathy Vanhoef und Tom Van Goethem von der KU Leuven fanden jedoch heraus, dass sich die Information über die Länge der komprimierten und verschlüsselten Daten auch mittels Javascript extrahieren lässt. Dabei nutzten die Forscher die Funktionsweise von TCP aus. Üblicherweise werden bei TCP zunächst vom Server zehn Pakete übertragen, anschließend wartet der Server auf Antworten vom Client und überträgt dann eine höhere Anzahl von Paketen. Mittels zwei Javascript-Funktionen kann ein Angreifer herausfinden, wie lange eine TCP-Antwort eines durch das Skript abgesendeten Requests benötigt.

Eine Antwort des Servers, die in die ersten zehn TCP-Pakete passt, ist dabei schneller als eine, die mehr Pakete benötigt, da dafür ein weiterer Roundtrip notwendig ist. Durch Ausprobieren mit dem reflektierten Parameter kann der Angreifer herausfinden, wie groß er diesen Parameter setzen muss, damit er entweder genau in die ersten zehn TCP-Pakete passt oder genau ein Byte zu groß ist.

Mit dieser Information ist der Breach-Angriff wieder möglich. Der Angreifer muss lediglich die Länge der Antwort entsprechend anpassen und kann dann anhand der Zeit, die eine Antwort benötigt, darauf schließen, ob das nächste geratene Zeichen korrekt ist.

Mit HTTP/2 funktioniert dieser Angriff noch in einer zusätzlichen Variante. Bei HTTP/2 werden alle HTTP-Requests, auch wenn sie parallel abgeschickt werden, über eine einzige TCP-Verbindung gesendet. Das führt dazu, dass der Angriff auch dann funktioniert, wenn der reflektierte String und das gesuchte Geheimnis sich auf unterschiedlichen Seiten befinden.

Einem Opfer eine Seite mit vom Angreifer kontrolliertem Javascript unterzuschieben, ist oft nicht schwer. Die Entdecker erwähnen als Beispiel, dass dieses Javascript durch eine Werbeanzeige kommen könnte, da Ad-Netzwerke oft nicht besonders sicher seien.

Kein Man in the Middle nötig

Der entscheidende Unterschied zwischen dem neuen Angriff und dem bisher schon bekannten Breach-Angriff ist, dass der Angreifer hier den Netzwerkverkehr des Opfers nicht mitlesen muss. Somit ist kein Man-in-the-Middle-Angriff nötig.

Abhilfe gegen den Breach-Angriff ist nicht einfach. Zwar könnte man die Kompression abschalten, aber das ist kaum erwünscht, da sich HTML-Daten sehr gut komprimieren lassen. Auf die Kompression zu verzichten, würde erhebliche Performanceeinbußen bedeuten. Denkbar wäre es, geheime Daten von der Kompression auszunehmen. Das wird in der HTTP2-Header-Kompression HPACK versucht. Für Daten, die sich innerhalb des HTML-Teils befinden, beispielsweise CSRF-Tokens, ist ein derartiger Mechanismus aber nur schwer umsetzbar.

Verhindern lässt sich der Angriff, wenn man Third-Party-Cookies im Browser deaktiviert. Einige Webseiten könnten dann jedoch nicht mehr funktionieren.

Same-Site-Cookies könnten Abhilfe schaffen

Eine neuere Möglichkeit, die gegen solche und ähnliche Angriffe Schutz bietet, sind sogenannte Same-Site-Cookies. Damit kann eine Webapplikation verhindern, dass Seitenzugriffe, die von einer anderen Webseite kommen, in einem Account eingeloggt sind. Allerdings existiert für Same-Site-Cookies bislang nur ein Entwurf. In Chrome werden Same-Site-Cookies bereits unterstützt.

Nachtrag vom 8. August 2016, 11:13 Uhr

Tal Be'ery weist auf Twitter darauf hin, dass der wesentliche Teil des HEIST-Angriffs - die Ausnutzung mittels Javascript und Timing - keine Neuheit ist. Be'ery hatte bereits 2013 auf der Black Hat einen ähnlichen Angriff mit dem Namen TIME vorgestellt. Offenbar war dieser frühere Angriff den Autoren des HEIST-Angriffs und vielen anderen - darunter auch dem Autor dieses Artikels - nicht bekannt.



Anzeige
Top-Angebote
  1. 69,95€ mit Vorbesteller-Preisgarantie
  2. (-68%) 8,99€
  3. 69,99€

mustermensch 09. Aug 2016

Nein habe ich nicht. Das mit Http2 ist eine weitere Variante des Angriffs (du benötigst...

hannob (golem.de) 04. Aug 2016

Die Same Origin Policy schützt davor, dass ein Angreifer Daten von einem fremden Host...

LASERwalker 04. Aug 2016

Dann müsste man einfach mehr Daten sammeln um den "Zufall" herauszurechnen. Das ist immer...

kayozz 04. Aug 2016

Ist auch noch nicht Freitag


Folgen Sie uns
       


Nokia 1 - Test

Das Nokia 1 ist HMD Globals günstigstes Android-Smartphone, wirklich Spaß macht die Nutzung uns allerdings nicht. Trotz Android Go weist das Gerät Leistungsschwächen auf.

Nokia 1 - Test Video aufrufen
Black-Hoodie-Training: Einmal nicht Alien sein, das ist toll!
Black-Hoodie-Training
"Einmal nicht Alien sein, das ist toll!"

Um mehr Kolleginnen im IT-Security-Umfeld zu bekommen, hat die Hackerin Marion Marschalek ein Reverse-Engineering-Training nur für Frauen konzipiert. Die Veranstaltung platzt inzwischen aus allen Nähten.
Von Hauke Gierow

  1. Ryzenfall CTS Labs rechtfertigt sich für seine Disclosure-Strategie
  2. Starcraft Remastered Warum Blizzard einen Buffer Overflow emuliert

Recycling: Die Plastikwaschmaschine
Recycling
Die Plastikwaschmaschine

Seit Kurzem importiert China kaum noch Müll aus dem Ausland. Damit hat Deutschland ein Problem. Wohin mit all dem Kunststoffabfall? Michael Hofmann will die Lösung kennen: Er bietet eine Technologie an, die den Abfall in Wertstoff verwandelt.
Ein Bericht von Daniel Hautmann


    Projektoren im Vergleichstest: 4K-Beamer für unter 2K Euro
    Projektoren im Vergleichstest
    4K-Beamer für unter 2K Euro

    Bildschirme mit UHD- und 4K-Auflösung sind in den vergangenen Jahren immer preiswerter geworden. Seit 2017 gibt es den Trend zu hoher Pixelzahl und niedrigem Preis auch bei Projektoren. Wir haben vier von ihnen getestet und stellen am Ende die Sinnfrage.
    Ein Test von Martin Wolf

    1. Sony MP-CD1 Taschenbeamer mit Akku und USB-C-Stromversorgung
    2. Mirraviz Multiview Splitscreen-Games spielen ohne die Möglichkeit, zu schummeln
    3. Sony LSPX-A1 30.000-Dollar-Beamer strahlt 80 Zoll aus 0 cm Entfernung

      •  /