Die Falle des prefetching back to frontpage

Es scheint zur Unsitte geworden zu sein, die Kontrolle darüber, welche Seiten der heimische Browser aufrufen soll, weg von der Macht des Nutzers hin zum einfältigen Algorithmus’ des Browsers verlagern zu wollen. Das ist den großen Browserherstellern (zumindest was Firefox und Chrome angeht, aber ich befürchte, dass der Internet Explorer in seiner aktuellen Version dem Trend des Millisekundeneinsparens hinterher gedackelt ist) auch gut gelungen.

Ich beziehe mich hier zunächst auf die Situation bei Firefox, die von Chrome ist vergleichbar. Unterschiede zwischen Firefox und Chrome stelle ich im Verlauf heraus.

Firefox hat standardmäßig das sogenannte “prefetching” aktiviert - sowohl für Webseiten (HTTP-Requests) als auch für DNS-Requests (d.h. das Auflösen von Domainnamen zu ihren zugehörigen IP-Adressen).

Beliebige Webseiten können kontrollieren, welche Webseiten oder DNS-Namen der Browser vorladen bzw. auflösen soll, in der Regel deshalb, weil der Betreiber der Meinung ist, dass der Besucher sehr wahrscheinlich auf einen dieser Links klicken wird.

Der Vorteil

Der Browser konnte, während der Besucher sich noch auf der ersten Seite aufhält, im Hintergrund den DNS-Namen sowie ggf. den Seiteninhalt der vermeintlich “nächsten” Seite herunterladen und für den Besuch vorbereiten. Dadurch wird die Ladezeit und der Seitenaufbau durchaus im messbaren (aber nicht unbedingt fühlbaren) Bereich verkürzt - mit fatalen Folgen für den Datenschutz und die Sicherheit beim Browsen durch’s Netz.

Das Problem

Entweder man möchte die Seite gar nicht besuchen, weil man schlicht kein Interesse an ihr hat. Dann hat man im einfachsten Fall etwas Bandbreite verschwendet (zu Ungunsten des Webseitenbetreibers). In Zeiten von DSL und Flatrates kein besonders großes Problem (wenn man mal von mobilen Endgeräten absieht, bei denen das sehr wohl noch problematisch ist). Viel schwerwiegender ist jedoch, dass der Webseitenbetreiber bestimmen darf, welche Seite der Browser herunterladen soll - egal ob man es möchte, oder nicht. Und der Browser für einen entscheidet, welche DNS-Namen aufgelöst werden sollen, und welche nicht. Im schlimmsten Fall lässt sich das prefetching für illegale Zwecke mißbrauchen. Zum Beispiel, um den Browser anzuweisen Webseiten herunterzuladen, die man normalerweise nie besuchen würde - weil sie suspekt sind und/oder der Besuch unter Umständen unangenehme Konsequenzen nach sich ziehen würde.

Firefox vs. Chrome: Während Firefox “nur” den Seitenquelltext vorlädt (und auch nur dann, wenn der Webseitenbetreiber eine zu ladende Adresse vorgibt!), geht Chrome einen Schritt weiter: Chrome lädt ganze Webseiten samt Medieninhalten herunter (“Instant Pages”) - und zwar eigenständig, so wie es Chrome passt; und wie es sich für einen Browser gehört, werden diese Webseiteninhalte (Bilder, etc.) üblicherweise im Cache zwischengespeichert. Das bedeutet im Klartext: Werden unerwünschte Seiten automatisch besucht, landen unter Umständen Bilder und andere Inhalte gegen den Willen des Benutzers auf der Festplatte. Google selber beschreibt die Funktion medienwirksam folgendermaßen in ihrem Blog:

Instant Pages can get the top search result ready in the background while you’re choosing which link to click, saving you yet another two to five seconds on typical searches.

Erscheint in den Suchergebnissen einmal eine Seite, die man unter keinen Umständen hätte angeklickt, kann es mit dem Prefetching schon zu spät sein.

Die Lösung

Prefetching lässt sich glücklicherweise noch in beiden Browsern abschalten - wenngleich es, insbesondere bei Firefox, für Otto-Normal nicht mehr auf normalem Wege zu bewerkstelligen ist.

In Firefox kann über die Eingabe von “about:config” in die Adresszeile ein Konfigurationseditor aufgerufen werden, über den viele weitere Einstellungen zu Firefox vorgenommen werden können. Über den Filter kann nach “prefetch” gesucht werden; die für die oben genannten Techniken relevanten und zu ändernden Einträge lauten

  • network.dns.disablePrefetch (standardmäßig auf false, zum Deaktivieren von DNS-Prefetching auf true setzen)
  • network.prefetch-next (standardmäßig auf true, zum Deaktivieren auf false setzen)

Geändert werden können die Werte jeweils mit einem Doppelklick. Die Konfiguration wird automatisch gespeichert; ein explizites speichern entfällt. Ich empfehle zumindest einen Firefox-Neustart (da ich nicht weiß, ob Firefox zur Laufzeit die Änderungen berücksichtigt).

datenschutztechnisch optimale Einstellung in Firefox

In Chrome findet sich die erste zu ändernde Einstellung in den Einstellungen unter dem Reiter “Details”. Hier sollte das Häkchen bei “Netzwerkaktionen vorhersagen, um die Seitenladeleistung zu verbessern” (das ist DNS-Prefetching) entfernt werden. Die zweite Änderung sollte man in den Grundeinstellungen im Bereich “Suche” vornehmen: Hier sollte das Häkchen bei “Google Instant für schnelleres Suchen und Browsen aktivieren” (Instant Pages) entfernt werden.

Die Konsequenz

Ja, der Seitenaufbau könnte sich um wenige Millisekunden (aus eigener Erfahrung im nicht wirklich relevanten Bereich) verzögern. Aber der Rückgewinn an Entscheidungsfreiheit beim Browsen im Netz rechtfertigt die Veränderungen allemal.

Übrigens: Das Deaktivieren von prefetching ist nur ein Punkt in einer Reihe von Sicherheitsvorkehrungen und sicherem/bewusstem Surfen im Internet. Der Sicherheit im Internet habe ich einen eigenen Blogpost gewidmet, der hier zu finden ist.

Weitere Informationen


New comment

Comments are moderated and therefore are not published instantly.





Comments

No comments yet. Be the first! :-)