Juni 16th, 2009
Browserhistory Auslesen: Ich sehe was, was Du nicht siehst!
Wo
gerade alle laut und panisch das Wort Zensur durch die Gegend schreien, starte ich hiermit den Gegentrend: Überwachung!
Ob ein Nutzer bestimmte Internetseiten in der letzten Zeit besucht hat, lässt sich nämlich vergleichsweise einfach überprüfen:
Wie von Zauberhand listet mir diese Seite von Brendon Boshell (nach kurzer Wartezeit) einen guten Teil meiner Browserhistory auf. Auch Schutzmechanismen wie NoScript sind dagegen wirkungslos, denn so komplexe Techniken wie Javascript braucht Boshell nicht, um an die Daten zu kommen – aber wie schafft er das genau?
Boshell
bedient sich eigentlich relativ stumpfer Hiebwaffen: Cascading Stylesheets (CSS). Jedem ist vielleicht schonmal aufgefallen, dass besuchte Links auf Websites idR in anderen Farben / Formen dargestellt werden als unbesuchte. Der Browser ist also in der Lage zwischen besuchten und unbesuchten Seiten zu unterscheiden. Über CSS lässt sich die unterschiedliche Darstellung dieser Links sehr genau steuern, so können bspw. andere Schriftarten, Farben oder gar Hintergründe verwendet werden.
Vereinfacht ausgedrückt geschieht hier Folgendes: Der Auslesemechanismus öffnet auf seiner Seite ein unsichtbares iFrame, in dem sich eine Seite mit sehr vielen Links befindet. Für besuchte Seiten hat er in den Stylesheets festgelegt, dass ein bestimmtes Hintergrundbild für den Link geladen werden soll – und zwar bei jeder Adresse ein eigenes.
Beispiel: Hat ein Benutzer die Adresse spiegel.de besucht, wird über das CSS für den spiegel.de-Link auf der versteckten Seite ein Hintergrundbild geladen. Diese Bildanfrage registriert Boshells Server und erfährt dadurch, dass der Benutzer bereits auf spiegel.de war. (So sieht übrigens die versteckte Seite bei Boshell aus)
an diesem Trick ist, dass er keine Sicherheitslücke per se ausnutzt, sondern nur mit den Möglichkeiten einer Websprache spielt. Und: Der Trick hat Potential. So ließe sich bspw. auf den geplanten Kinderporno-Stopp-Seiten relativ einfach feststellen, ob ein Nutzer auch auf anderen zensierten Webseiten unterwegs war. Und das Heer der Datenkraken könnte problemlos feststellen, welche Seiten ich so besuche um daraus gut verkäufliche Nutzerprofile zu basteln. Oder Phisher gleichen ihre Linklisten gegen meine Daten ab, um zu ermitteln, bei welchen Banken ich Kunde sein könnte.
Sinnvoll beikommen könnte man all dem meines Erachtens nur, indem man per Plugin gegen versteckte iFrames vorgeht. Eine kurze Recherche bei den Firefox-Addons brachte keine Ergebnisse – aber vielleicht weiß ja in den Kommentaren jemand eine Lösung.





