Grazer Lauschangriff braucht bloß TCP/IP - weder Malware noch Sicherheitslücke

Jede aus dem Internet geladene Datei weist ein typisches Latenzmuster auf. Damit lässt sich ermitteln, welches Video oder welche Webseite ein User abruft.

In Pocket speichern vorlesen Druckansicht 159 Kommentare lesen
Bronzestatue eines Paparazzo

(Bild: Kurt Bauschardt CC BY-SA 2.0)

Lesezeit: 6 Min.

Welche Webseiten oder Videos Internet-Nutzer gerade anschauen, deckt eine Angriffsmethode auf, die ein Forschungsteam der Technischen Universität Graz gefunden hat. Überraschenderweise kommt die Methode ohne jegliche Schnüffelsoftware auf dem Gerät des Opfers aus. Die Angriffe lassen sich von beliebigen Positionen im Internet führen, von denen aus sich IP-Pakete an das Opfer schicken lassen. Zum Forschungsteam gehören unter anderem Daniel Gruss und Stefan Gast, die auch an der Entdeckung der beiden Schwachstellen von Intel-Prozessoren, Spectre und Meltdown, beteiligt waren.

Der SnailLoad genannte Lauschangriff gründet darauf, dass Downloads verschiedener Dateien Schwankungen der Paketlaufzeiten aufweisen (Round Trip Times, RTTs), und dass diese Schwankungen individuell sind, sofern dieselbe Datei vom selben Server auf demselben Netzwerkweg geladen wird. Das ist bei vielen Downloads der Fall, etwa bei gängigen Webseiten oder auch YouTube-Videos. Hinzu kommt: Wenn zwei Dateien gleichzeitig heruntergeladen werden, beeinflusst das Schwankungsmuster der einen die Schwankungen der anderen auf wiederum charakteristische Weise. Kennt man die Muster beider Dateien, kann man so allein aus einem der Muster auf die andere Datei rückschließen.

Die Ursache für die typischen Latenzschwankungen sind Puffer in Netzwerkknoten beim Übergang von den schnellen Kernnetzen der Provider zur "letzten Meile", die zum Anschluss der Opfer führt. Jegliche Netzwerkaktivität der Opfer füllt und leert die Puffer auf spezifische Weise, was wiederum auf Serverseite zu charakteristischen Verzögerungen bei der Übertragung führt.

SnailLoad nutzt einen Flaschenhals beim Übergang vom Kernnetz des Providers zur Anschlussleitung des Internetteilnehmers aus. Der Flaschenhals führt zu charakteristischen Latenzen beim Download von Netzwerkpaketen. Angreifer können diese Informationen missbrauchen, um darauf rückzuschließen, welche Website oder welches Video ein Internetnutzer gerade anschaut.

(Bild: Stefan Gast & Mitarbeiter)

Zur Messung brauchen die Angreifer einen Server, der für längere Zeit eine Datei an das Opfersystem sendet und dessen Sendezeitpunkte der einzelnen Datenpakete genau ausgelesen werden können. Die Datei kann ein großes, aber unsichtbares Bild auf einer Webseite sein; dessen typische Latenz dient beim Messaufbau als Sonde. Schließlich braucht man noch die Latenzmuster der Dateien, die man mittels der Sonde identifizieren möchte. Die sind aber von gängigen Webseiten oder YouTube-Videos leicht zu bekommen.

Um die Methode in der Praxis zu testen, haben sich die Forscher zum Ziel gesetzt, bestimmte YouTube-Videos zu identifizieren. Dafür zeichneten sie Netzwerklatenzkurven auf, während das Opfer verschiedene YouTube-Videos in Full-HD-Auflösung ansah. Die Latenzwerte wurden per Short-Time Fourier Transformationen behandelt und diese Ergebnisse einem Convolutional Neural Network zugeführt, um die verschiedenen Kurven bestimmten Videos zuzuordnen. Bei der Auswertung über zehn verschiedene Internetverbindungen erreichte SnailLoad Genauigkeiten zwischen 37 und 98 Prozent.

Auf dieselbe Weise ließen sich auch bestimmte Websites identifizieren. In einem Szenario mit 100 populären Websites erreichte SnailLoad eine Quote von 63 Prozent. Bemerkenswert ist, dass der Angriff auch dann funktionierte, wenn die Trainings- und Testdaten von verschiedenen Netzwerkverbindungen stammten, wenngleich mit reduzierter Genauigkeit.

SnailLoad erweitert die Varianten für Seitenkanalangriffe über das Netzwerk erheblich. Zahlreiche frühere Arbeiten, die auf einen Man-in-the-Middle angewiesen sind, könnten in vollständig Angriffe aus der Distanz umgewandelt werden. Vermutlich kann die Methode auch aufdecken, wenn zwei Nutzer miteinander videotelefonieren.

Die Abwehr eines SnailLoad-Lauschangriffs halten die Autoren für eine Herausforderung, denn die Ursachen – unterschiedliche Bandbreiten und Puffer im Netzwerkpfad – lassen sich kaum beseitigen. "Künstlich hinzugefügtes Rauschen zur Netzwerkverbindung kann die Genauigkeit des Angriffs verringern, geht aber zu Lasten der Dienstqualität für den Nutzer", schreiben die Forscher in ihrer Studie.

Christoph Lüders, einer der ursprünglichen Entwickler hinter dem Windows-Tuning-Tool cFosSpeed, hält die Methode für plausibel, sieht zugleich aber auch Abwehrmöglichkeiten: "Was wir aus Erfahrung wissen, ist, dass Downloads von verschiedenen Servern in der Tat auf dem Client verschiedene Latenzmuster hinterlassen. Allerdings ist das statistisch nur dann signifikant, wenn man mindestens Tausende von Paketen verschickt. Möglichkeiten, diese Technik auszuhebeln, sind offensichtlich: Man könnte ein paar Junk-Daten vorher oder dahinter schicken, möglicherweise einfach mit HTTP-X-Headern. Man könnte kleine Pausen beim Senden machen, der Sender könnte die Daten mit kleinen Verzögerungen verschicken oder hin und wieder einen nur halb-vollen Block an Daten verschicken. Oder der Sender könnte alte Datenblöcke einfach nochmal schicken. Der Empfänger würde die einfach verwerfen. Ebenso könnte der Empfänger die Empfangsquittungen (ACK-Pakete) leicht verzögern. Da gibts sicher noch weitere Wege, natürlich auch Kombinationen aller Maßnahmen".

Prinzipiell könnten auch Dinge wie unterschiedliche Netzwerkkarten, während der Messung verschieden ausgelastete Geräte der Anwender, verschiedene TCP-Stacks oder auch einfach unterschiedliches Surfverhalten auf die Güte der Messung auswirken. Wir haben daher Stefan Gast, Erstautor der Studie um weitere Informationen gebeten.

c't: Habt ihr untersucht, wie sich verschiedene Betriebssysteme, beziehungsweise verschiedene TCP-Stacks in eurem Messszenario verhalten?

Stefan Gast: Einer unserer Teilnehmer hat das Video-Fingerprinting auf macOS ausgeführt und es funktioniert dort genauso wie auf Linux. Ein paar unserer Basisexperimente haben wir auch unter Windows ausgeführt. Es ist möglich, dass eventuelle Hintergrundnetzwerkaktivitäten von Windows etwas mehr Rauschen in unser Signal bringen. Dies ließe sich aber durch mehr Trainingsdaten oder längere Aufzeichnungen kompensieren, wie bei anderen Seitenkanalangriffen auch.

Die zugrundeliegende Ursache sind die unterschiedlichen Geschwindigkeiten von Backbone-Verbindungen und typischen Internetanschlüssen. Somit tritt der Effekt unabhängig vom verwendeten TCP/IP-Stack auf.

c't: Von asymmetrischen Internetanschlüssen, die langsamer senden, als sie empfangen, kennt man das Phänomen, dass beliebige Uploads einen Download bremsen können. Wie wirken sich Uploads auf die Analysegenauigkeit von SnailLoad aus?

Stefan Gast: Parallele Transfers, egal ob Uploads oder Downloads, verschlechtern unsere Ergebnisse signifikant, sofern sie tatsächlich die Kapazität der Internetanbindung – Upstream oder Downstream – überschreiten. Für Downloads haben wir das untersucht und belegt, siehe Abschnitt 8, Abbildung 11 in unserem Paper. Bei parallelen Uploads wird es einen ähnlichen Effekt geben, nur dass sich dann die ausgehenden Pakete auf dem eigenen Internet-Gateway, also dem Router stauen.

(dz)