(No need to) Start Panic! (Update)

Im Web ist eine äußerst gruselige Seite namens „Start Panic“ aufgetaucht. Sie zeigt eine Liste von Webseiten an, die man in der letzten Zeit so besucht hat. (Probieren Sie es ruhig aus; es ist ungefährlich.) Beim ersten mal bekam auch ich ganz schön Gänsehaut, aber dann interessierte mich vor allem: Wie machen die das?

Es gibt im wesentlichen zwei Möglichkeiten, das Surfverhalten zu tracken:

  • Die erste Möglichkeit ist die Hisotry/Chronik. Früher gab es in allen Browsern allerlei Sicherheitslücken, über die die Chronik ausgelesen werden konnte. Heute ist das Problem weitgehend vom Tisch. Wenn andere Menschen Ihren Rechner mitbenutzen, können sie dort natürlich nachlesen, was alles so aufgerufen wurde. Wer das nicht will, schaltet die Funktion ab oder lässt jeweils nur einen kurzen Zeitraum speichern.
  • Die zweite Möglichkeit sind Cookies. Diese können jedoch immer nur von der Seite ausgelesen werden, die sie gesetzt hat. In Firefox sorgt man einfach dafür, dass kein Häkchen unter „Cookies von Fremdanbietern akzeptieren“ gesetzt ist. Wer ganz sicher gehen will, kann sich eine Whitelist anlegen und Cookies nur noch von einigen wenigen, vertrauenswürdigen Seiten akzeptieren. Das geht z.B. sehr komfortabel mit dem Firefox-AddOn Cookie Whitelist, With Buttons. Sehr viel übler sind Supercookies auf Flash-Basis. Hier empfiehlt es sich, mit einem Flashblocker zu surfen, der alle Flash-Bestandteile einer Seite durch Rahmen ersetzt. Will man etwas wirklich sehen, kann man es durch Klick auf diesen Rahmen nachladen. Ganz nebenbei erspart man sich so sehr viele nervige Werbung mit Animation oder gar Sound.

Ich wende obiges im Alltag an. Um ganz sicher zu gehen, habe ich History und Cookies gelöscht und beide male „Start Panic“ erneut aufgerufen. Jedoch: Der Trick funktioniert aber immer noch! What the F*ck… Die Ursache muss woanders stecken.

In der dritten Runde habe ich den Browsercache gelöscht. Anschließend war Ruhe: „Start Panic“ konnte nur noch sich selbst finden und keine einzige Seite mehr auflisten. Man hat also einen Weg gefunden, über JavaScript den Browsercache auszulesen und URLs aus diesen Daten zu extrahieren.

Einerseits ist das eine schwere Sicherheitslücke, die alle Browser zu betreffen scheint, andererseits ist es überhaupt nichts neues. Man sollte sich immer bewusst sein, dass der Cache ebenfalls eine Chronik/History darstellt. Wer nicht will, dass andere rauskriegen, was man so gesurft hat, musste schon immer ohne Cache surfen oder diesen zumindest regelmäßig (z.B. automatisiert beim Beenden des Browsers) löschen.

Von der „Panik“ bleibt nicht viel übrig. Dennoch oder gerade deshalb ist die Seite genial. Wir sollten mal alle unsere Internetausdrucker und anderen Bekannten dort vorbeischicken, die im Web noch unsicher sind, keine Lust haben, sich mit solchen Themen auseinander zu setzen oder mit einer Scheißegalhaltung surfen.

Nach dem Kommentar von Schoschie (siehe unten) habe ich es nochmal probiert: Offenbar ist mir ein Fehler unterlaufen. Es ist tatsächlich die History und nicht der Cache. Danke Schoschie für den Link. Dort ist erklärt, wie sie es machen: Besuchte Links werden anders dargestellt, und diese Abweichung im DOM abgebildet, um sie via CSS manipulierbar zu machen. Das macht sie auch auslesbar. Es bleibt bei einer Teilentwarnung: Mit diesem Hack kann nicht (mit vertretbarem Aufwand) die ganze History ausgelesen werden. Allerdings kann sehr leicht festgestellt werden, ob der betreffende in letzter Zeit bestimmte Seiten aufgerufen hat. Einstweilen hilft dagegen nur, permanent ohne Historie oder ohne JavaScript online zu gehen. Hilfreich ist aber auch ein Privacy-Mode wie Safari ihn bietet. Ich warte noch auf die Möglichkeit, ihn zum Default zu machen.