Moderne Abenteuer: Prefetching & Linkverkürzer

Stopp!Im Zusammenhang mit der Diskussion um die vom Familienministerium präsentierten „Stoppschild-Server“ bekommen derzeit zwei Problemfelder praktische Relevanz, über die bisher eher theoretisch diskutiert wurde: Prefetching und Linkverkürzer.

Meine These: Auch unbescholtene Internetnutzer ohne Interesse an kinderpornografischen Inhalten könnten demnächst das ein oder andere offizielle Stoppschild (missverständlicher Gestaltungsentwurf, PDF) zu sehen bekommen – und somit in den Fokus der Ermittlungsbehörden gelangen.

Der Einwand, dass wohl nur der etwas zu befürchten habe, der regelmäßig „gestoppt“ wird, beruhigt mich nicht. Zum einen sieht man das im Bundesjustizministerium bekanntlich ein wenig anders, …

Staudigl bestätigte in diesem Kontext, dass jeder Nutzer mit Strafverfolgung rechnen muss, wenn er dabei beobachtet wird, eine geblockte Webseite abzurufen (Quelle: Heise Online, 25.04.2009)

… zum anderen hat „Rick-Rolling“ gezeigt, dass es einen – entsprechende Neugierde vorausgesetzt – auch mehrfach pro Tag erwischen kann. Alternativ schlägt die Schere im Kopf zu. Auch nicht besser.

Linkverkürzer

Linkverkürzer sind praktisch. Ganz gleich, ob in Mails, bei Twitter oder auf Facebook: Überall, wo wenig Platz für lange Internetadressen ist, erleichtern sie Hinweise auf interessante Webangebote. Auf der anderen Seite sind sie aber auch prima geeignet, Zieladressen zu verschleiern. Der vermutlich einfachste Weg „gestoppt“ zu werden, dürfte daher über das Aufrufen scherzhaft oder in böswilliger Absicht verschleierter Links führen.

Nicht alle Linkverkürzer arbeiten schließlich mit zwischengeschalteten Informationseiten, wohin die Reise wirklich geht. Und selbst die helfen nur bedingt. Wer kennt schon das Internet auswendig? Ich schlage, analog zum „Rick-Rolling“, den Begriff „Stopp-Rolling“ vor, falls das Mem noch einen Namen braucht.

… und wieder zurück

Besonders problematisch werden in diesem Zusammenhang Greasemonkey-Scripte wie der „TinyURL Decoder“ von setomits, das am Samstag bei Lifehacker.com empfohlen wurde. Im Prinzip handelt es sich beim „TinyURL Decoder“ um ein äusserst nützliches Script. Ist es aktiviert, löst es im Hintergrund mit URL-Verkürzern verschleierte Links in ihre realweltlichen Zieladressen auf. Soweit, so gut.

In der aktuellen Version arbeitet der „TinyURL Decoder“ dabei allerdings mit automatischem Prefetching. D.h. das Script ruft im Hintergrund den oder die Kurz-URLs auf und schaut, was passiert (bzw. welche Zieladresse aufgerufen wird). Wären vom BKA indizierte Inhalte unter den verlinkten Angeboten, landet die eigene IP somit in den Logfiles eines Stoppschild-Servers. Das ist schlecht.

Etwas intelligenter gehen „Long URL Please“ und „LongURL“ das Problem verschleierter Links an. Bei beiden laufen die Anfragen zur Auflösung der Zieladresse eines Kurz-URLs über einen vermittelnden Server. Zur Verfügung stehen Firefox-Extensions, ein Greasemonkey-Script, ein Bookmarklet – oder die Möglichkeit, Kurz-URLs zahlreicher Anbieter per Webinterface zu dekodieren.

You should always know where a link takes you before clicking on it. Services like TinyURL.com make that difficult. LongURL Mobile Expander uses the LongURL.org web services to let you know where shortened links *really* go.

Ach, und eine API für Webbastler gibt’s bei beiden auch. Einen Nachteil haben freilich auch diese Lösungen: Dadurch, dass alle Requests über zentrale Server laufen, haben die Betreiber Zugriff auf eine Menge Daten – und die Möglichkeit zur Weiterverarbeitung. Aber irgendwas ist ja immer.

Prefetching

Prefetching bedeutet zunächst einmal nichts anderes, als das ein Internet-Browser im Hintergrund bereits Daten läd, während der User noch denkt. Oder, wie es die Wikipedia etwas akademischer formuliert:

Als Prefetching bezeichnet man in der Informatik das heuristische Laden von Speicherinhalten aufwärts in der Speicherhierarchie, bevor ein Bedarf evident geworden ist, um so im Falle des tatsächlich eintretenden Bedarfs eine höhere Zugriffsgeschwindigkeit zu erzielen.

Als bekannt wurde, dass bei Firefox 3 Prefetching standardmäßig aktiviert ist, war das Geschrei groß. Manch einer fürchtete um seine Bandbreite, andere Kritiker verwiesen auf die latent verbundene Problematik eines allzu selbstständigen Browsers, wie ich sie auch in diesem Beitrag beschreibe.

Was damals in der allgemeinen Empörung weitgehend unterging: Firefox läd nicht alle auf einer Webseite verlinkten Inhalte einer Webseite im Hintergrund, sondern nur solche, die mit einem entsprechenden Tag im Header gekennzeichnet sind. Das ist freilich problematisch genug.

Details dazu gibt es hier:

Anders verhält sich übrigens die Extension Fasterfox, die läd im Hintergrund tatsächlich alles, was nach einem Link aussieht.

Beim Internet Explorer gibt es serienmäßig kein Prefetching. Allerdings gibt es mit „IE7pro“ wohl ein recht beliebtes Addon, bei dem Prefetching in der Grundeinstellung aktiviert ist. Und hier gibt es ein Video, wie man das wieder abstellt. Eine weitere Falle können div. „Internet Beschleuniger“ darstellen, die dem IE ebenfalls Prefetching unterschieben.

Bei Opera heißt Prefetching „Fast Forward“ und ist vergleichsweise harmlos. Bevor etwas geladen wird, ist eine Interaktion des Users nötig:

Please note that Fast Forward does not use any external services to determine the next page. It only looks at the current page and tries to find things that indicate that there is a „next“ page. It does not look it up from an external server or contact any site to get this info.

Fast Forward does not download anything before the user opens the next page.

Google Chrome verfügt über eine spezielle Form des Prefetchings. Statt im Hintergrund komplette Webseiten zu laden, kümmert sich Chrome lediglich um die anstehenden DNS-Anfragen. Das allerdings konsequent. Googles Browser löst im Hintergrund alle Links auf einer Webseite auf. Golem.de schrieb letztes Jahr:

Ein typisches Beispiel, in dem das DNS-Prefetching seine Stärken ausspielen kann, sind Suchergebnisseiten. Diese enthalten in der Regel eine Vielzahl an Links zu Seiten, die der Nutzer zuvor noch nicht besucht hat. Chrome wertet diese Links aus und erledigt im Hintergrund die DNS-Auflösung für die in der aktuellen Webseite verlinkten Domains.

Siehe auch: http://blog.chromium.org/2008/09/dns-prefetching-or-pre-resolving.html

Je nach technischer Ausgestaltung der Überwachung könnte auch dieses Feature zum Problem werden.

PS: Ich bin mir fast sicher, dass ich beim Durchstöbern der Dokumentationen und Sourcecodes das ein oder andere Detail übersehen habe. Korrekturen und Ergänzungen daher bitte in die Kommentare. Danke.

15 Kommentare
  1. Stoppt die Drangsalierung der Bürger durch die CDU&SPD ! 12. Mai 2009 @ 8:45
Unterstütze unsere Recherchen und Berichterstattung für Grundrechte und ein freies Internet durch eine Spende. Spenden