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. DENIC eG, Frankfurt am Main
  2. NOVENTI HealthCare GmbH, München

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
Spiele-Angebote
  1. (-55%) 17,99€
  2. 49,95€
  3. (-50%) 4,99€
  4. 26,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
       


i-Cristal autonomer Bus - Interview (englisch)

Der nächste Schritt steht an: Der französische Verkehrsbetrieb plant einen Test mit einem autonom fahenden Bus. Er soll Anfang 2020 in einer französischen Großstadt im normalen Verkehr fahren.

i-Cristal autonomer Bus - Interview (englisch) Video aufrufen
Dell Ultrasharp 49 im Test: Pervers und luxuriös
Dell Ultrasharp 49 im Test
Pervers und luxuriös

Dell bringt mit dem Ultrasharp 49 zwei QHD-Monitore in einem, quasi einen Doppelmonitor. Es könnte sein, dass wir uns im Test ein kleines bisschen in ihn verliebt haben.
Ein Test von Michael Wieczorek

  1. Magicscroll Mobiles Gerät hat rollbares Display zum Herausziehen
  2. CJG50 Samsungs 32-Zoll-Gaming-Monitor kostet 430 Euro
  3. Agon AG322QC4 Aggressiv aussehender 31,5-Zoll-Monitor kommt für 600 Euro

Mobile-Games-Auslese: Tinder auf dem Eisernen Thron - für unterwegs
Mobile-Games-Auslese
Tinder auf dem Eisernen Thron - für unterwegs

Fantasy-Fanservice mit dem gelungenen Reigns - Game of Thrones, Musikpuzzles in Eloh und Gehirnjogging in Euclidean Skies: Die neuen Mobile Games für iOS und Android bieten Spaß für jeden Geschmack.
Von Rainer Sigl

  1. Mobile Gaming Microsoft Research stellt Gamepads für das Smartphone vor
  2. Mobile-Games-Auslese Bezahlbare Drachen und dicke Bären
  3. Mobile-Games-Auslese Städtebau und Lebenssimulation für unterwegs

Wet Dreams Don't Dry im Test: Leisure Suit Larry im Land der Hipster
Wet Dreams Don't Dry im Test
Leisure Suit Larry im Land der Hipster

Der Möchtegernfrauenheld Larry Laffer kommt zurück aus der Gruft: In einem neuen Adventure namens Wet Dreams Don't Dry reist er direkt aus den 80ern ins Jahr 2018 - und landet in der Welt von Smartphone und Tinder.
Ein Test von Peter Steinlechner

  1. Life is Strange 2 im Test Interaktiver Road-Movie-Mystery-Thriller
  2. Adventure Leisure Suit Larry landet im 21. Jahrhundert

    •  /