Web-Browser: Neues History-Leck schwer zu stopfen

Eine Javascript-Funktion erlaubt es indirekt, die Ladezeiten einer Webseite zu messen. Damit lässt sich herausfinden, ob ein Besucher bestimmte Links schon einmal aufgerufen hat.

In Pocket speichern vorlesen Druckansicht 58 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Fabian A. Scherschel

Verschiedene Browser-Hersteller arbeiten daran, zu verhindern, dass Webseiten über eine Javascript-Funktion herausfinden können, ob ein Nutzer bestimmte Webseiten schon einmal besucht hat. Abhilfe schafft im Moment nur der sogenannte Incognito- beziehungsweise Privatsphären-Modus des jeweiligen Browsers. Der Nutzer kann natürlich auch Javascript ganz deaktivieren oder nur auf vertrauenswürdigen Seiten erlauben.

Der Timing-Angriff macht sich zunutze, dass Browser wie Microsofts Internet Explorer und Mozillas Firefox in einer Datenbank nachschauen, ob eine Domain schon besucht wurde. Dies ist nötig, um den entsprechenden Link anders einzufärben. Das dauert unterschiedlich lange, je nachdem, ob der Eintrag vorhanden ist oder nicht. Der Angreifer kann requestAnimationFrame dazu verwenden, die Ladezeit der Webseite zu messen und so durch eingebettete Links aus dem Browser andere Ladezeiten herauskitzeln, falls die Links schon mal besucht wurden.

Die betreffende Javascript-Funktion wird zwischen den Rendering-Phasen des Browsers aufgerufen

(Bild: Paul Stone)

Eigentlich soll es die Javascript-Funktion erlauben, dass Code zwischen dem Rendern zweier Animations-Frames bestimmte Aufgaben erledigen kann. Dass Angreifer damit die Ladezeit der Seite messen können, ist schwer zu verhindern. Ebenso ist es nicht trivial, die Datenbank-Abfragen der Browser gegen einen solchen Timing-Angriff abzuhärten. Gegenüber Ars Technica bestätigte Mozilla, derzeit an einer Lösung des Problems zu arbeiten. Der Entdecker der zugrundeliegenden Timing-Lücke sagte der Webseite, dass Microsoft ebenfalls seit vorigem Jahr Bescheid wisse. Er denke, dass Webseiten bald anfangen könnten, diese Lücke auszunutzen, um Daten über ihre Besucher zu sammeln.

Das Problem ist nicht das erste seiner Art. Schon 2007 hatten Angreifer die Möglichkeit, die History von Browsern indirekt auszulesen, seitdem gibt es immer wieder Berichte über ähnliche Lücken. Der Timing-Hack, welcher der neuen Lücke zugrunde liegt, ist im folgenden PDF aus dem letzten Jahr eingehend erklärt:

(fab)