Wie Proxomitron helfen kann

20.09.2005 15:27 Uhr

Sie haben bereits in Teil 1 erfahren, wie die Werbenetzwerke Internetbenutzer beobachten und warum auch ein falscher Name nicht anonym macht. In Teil 2 ging es um die konkreten Verfolgungstechniken, die diesen Werbenetzwerken zur Verfügung stehen.

Die Wahl der Waffen

Wie in den vorausgehenden Teilen erklärt, gibt es drei grundlegende Verfahren, mit denen Webmaster und vor allem Werbefirmen Informationen über Websurfer sammeln und deren Weg durch das WWW verfolgen können:

  • Auswertung der Serverkommunikation
  • Setzen und Auslesen von Cookies
  • Einsatz von Skripten, die den Browser veranlassen, Daten zu versenden

Punkt 1 betrifft die Daten, die über HTTP-Header übertragen werden und die IP-Adresse des Benutzers.
Erstere lassen sich über Header-Filter beliebig manipulieren. Die IP-Adresse kann jedoch nicht durch Filter verschleiert werden, da zur Datenübertragung über das Internet, der Sender die IP-Adresse des Empfängers kennen muss. Es ist allerdings möglich, die Daten über anonymisierende Proxyserver umzuleiten, die dann stellvertretend für den Benutzer die Daten vom Server anfordern und ihn so für den Server unsichtbar machen.

Punkt 2 erfordert den kombinierten Einsatz von Headerfiltern und Seitenfiltern, da es drei Verfahren zum Setzen und Abfragen von Cookies gibt: Cookies über HTTP-Header, Cookies per Meta-Tag und Cookies per JavaScript.

Punkt 3 ist für den Filterautor die größte Herausforderung, da jedes Schnüffelskript anders aufgebaut ist. Das Schreiben von wirksamen JavaScript-Filtern kann viele spannende Stunden bescheren.

Den Server täuschen

Manipulation der HTTP-Header

Es gibt eine große Anzahl von möglichen Headern, die zwischen Server und Browser ausgetauscht werden können. Einige sind notwendig, andere sind optional.
Die folgenden Header sind optional und nicht für die Kommunikation wichtig. Ihre Manipulation kann aber trotzdem zu Problemen mit Seiten führen, die sich auf sie verlassen.

Cache-Control: (vom Server)
kann dem Browser verbieten, die Seite im Cache zu speichern Gegenmaßnahme ist das Löschen des Wertes. Der Filter „Cache-Control: allways cache (in)“ übernimmt diese Aufgabe.
Expires: (vom Server)
kann dem Browser verbieten, die Seite im Cache zu speichern. Gegenmaßnahme ist das Löschen des Wertes. Der Filter „Expires: allways cache (in)“ übernimmt diese Aufgabe.
Pragma: no-cache (vom Server)
kann dem Browser verbieten, die Seite im Cache zu speichern. Gegenmaßnahme ist das Löschen des Wertes. Der Filter „Pragma: Don’t force reloads“ übernimmt diese Aufgabe.
Referer: (vom Browser)
Hiermit teilt der Browser dem Server beim Seitenaufruf mit, auf welcher Seite er vorher war. Der Headerwert kann gelöscht oder durch beliebigen Text ersetzt werden. Der Filter „Referer: Hide where we’ve been (Out)“ ersetzt den Wert z.B. durch den URL der gerade aufgerufenen Seite.
Set-cookie: (vom Server)
sendet der Server um ein Cookie beim Benutzer abzulegen. Durch Änderung des Wertes kann das Cookie blockiert oder seine Gültigkeitsdauer verändert werden. Der Filter „Set-cookie: Make all cookies session only (in)“ entfernt die Gültigkeitsangabe aller Cookies, die nicht in der Blockliste „CookieList“ aufgeführt sind. Sie werden dadurch beim Beenden des Browsers gelöscht.
User-Agent: (vom Browser)
identifiziert den Browser und meist auch das verwendete Betriebssystem. Der Wert kann durch jeden beliebigen Text ersetzt werden. Aber Vorsicht: Es gibt Websites, die nur bestimmte Browser zulassen oder je nach Browsertyp unterschiedliche Seiten liefern. Es gibt auch hierfür fertige Filter, z.B. „User-Agent: Space Bison (Out)“. Er setzt als Browser „Space Bison/0.02 [fu] (Win67; X; SK)“ ein.

Um einen Headerwert zu löschen, setzt man im Header-Filter Editor in das Feld „Header-Wert Suchen“ ein Sternchen und lässt das Feld „Ersetzungsausdruck“ leer.

„Tarnvorrichtung an!“ – Anonymisierende Proxies

Anonymisierende Proxies arbeiten als Zwischenstation zwischen Client und Server und verhindern dadurch, dass der Server die IP-Adresse des Clients erfährt. Außerdem entfernen sie alle nicht notwendigen Header. Viele dieser Proxies haben noch einige Zusatzfunktionen und deaktivieren z.B. Skripten, die den Benutzer verraten könnten. Proxomitron bietet alle Funktionen, die zur Benutzung anonymisierender Proxies nötig sind.

Über die Schaltfläche „Proxy“ im Hauptfenster gelangt man ins Fenster „Auswahl Externer Proxy“ und kann dort über die Schaltfläche „Neu“ beliebig viele Proxies eintragen.

Screenshot: Auswahl externer Proxy
Screenshot: neuen Proxyserver eingeben

Über das Kontextmenü des Proxy-Auswahlfeldes lässt sich das Fenster „Erweiterte Proxy-Einstellungen“ öffnen.

Screenshot: Kontextmenü

Dort kann die Proxy-Rotation aktiviert werden, wodurch die Sicherheit noch einmal erhöht wird. Proximitron leitet dann nämlich die einzelnen Anfragen abwechselnd über alle eingetragenen Proxyserver.

Screenshot: Erweiterte Proxyauswahl

Cookies kriegt das Monster

Das Thema Cookies per HTTP-Header müsste nach dem Kapitel „Manipulation der HTTP-Header“ ja kein Problem mehr sein. Es bleiben noch Cookies per Meta-Tag und per JavaScript. Beide Verfahren arbeiten über Befehle im Quelltext und fallen somit in den Zuständigkeitsbereich der Seitenfilter.

Seitenfilter gegen Meta-Cookies

Die Idee, Cookies per Meta-Tag zu setzen kommt ursprünglich von Netscape und ich vermute, dass auch nur Netscape-Browser diese Funktion unterstützen.
Aber: Einige (oder viele?) Webserver interpretieren diesen Meta-Tag und senden das darin enthaltene Cookie als HTTP-Header. Das ist dann aber wieder ein Fall für die Headerfilter.

Ein typischer Meta-Tag zum Setzen eines Cookies sieht so aus:
<META HTTP-EQUIV=“Set-Cookie“ CONTENT=“cookievalue=xxx; expires=Friday, 12-Oct-2001 12:43:21 GMT; path=/“>

Die Angabe „expires=xxx“ ist optional. Wenn sie nicht vorhanden ist, wird das Cookie nicht gespeichert und beim Schließen des Browsers gelöscht.
Per Seitenfilter kann man den Tag entweder ganz löschen oder die Haltbarkeitsangabe entfernen.

Der Filter für letzteres sieht beispielsweise so aus:

Vergleichsausdruck:
(< meta http-equiv=“set-cookie“ content=“)\1\2expires=*; (*>)\3
Ersetzungsausdruck:
\1\2\3

Seitenfilter gegen JavaScript-Cookies

In JavaScript ist der Befehl zum Setzen oder Auslesen von Cookies eine Eigenschaft des Objektes „document„. Objekteigenschaften verhalten sich in der Regel wie Variablen oder Konstanten.

Ein Cookie wird gesetzt durch eine Zeile wie:

document.cookie = „trallala“;

und ausgelesen durch eine Zeile wie:

x = document.cookie;

Als Gegenmaßnahme genügt es, den Befehl zum Setzen des Cookies so zu verändern, dass der Browser ihn nicht mehr versteht.
Ich füge dazu immer ein „_wegdamit_“ in den Befehl ein.

Folgender Filter erledigt diese Aufgabe:

Eingrenzende Entsprechung:
<script*</script>
Byte Limit:
4096
Vergleichsausdruck:
\1(document\.)\2(cookie = )\3\4
Ersetzungsausdruck:
\1\2_wegdamit_\3\4

Es kann sein, dass das Byte Limit für ganz große Skripten nicht ausreicht. In diesem Fall können Sie es erhöhen.

Neugierige Skripte

Die Filterung von Java Skripten ist ein derart umfangreiches Thema, dass es meiner Meinung nach nicht sinnvoll ist, im Rahmen dieses Textes weiter ins Detail zu gehen.
Es bringt mehr, wenn ich dazu später ein paar Tutorials schreibe.

Proxomitron bringt einen Filter namens „Kill Nosey JavaScripts“mit, der einen Großteil der „neugierigen“ Skripten entfernt.

Ich hoffe Ihnen hat der Artikel gefallen. Mehr über die Freeware Proximitron von Andreas Bürschgens erfahren Sie auf seiner Webseite: http://www.buerschgens.de

Ein Kommentar

  • Noiesen,Peter schreibt:

    Hallo.Ich surfe ziemlich oft durchs Internet.Habe jetzt seit Wochen
    diverse VERFOLGUNGS-COOKIES auf meiner Schutzseite von Mac Affee.
    Jedesmal wenn ich Mc Affee TOTAL PROTACTION durchlaufen lasse.zeigt es
    mir wieder Verfolgungs-Cookies an(Vorgestern sogar 22 Stück).
    1.Kann es mir schaden?
    2.Wie kann ich sie blocken,da McAffee es ja nicht macht?
    3.Gibt es einen anderen Schutz als McAffee.der die Dinger abblockt?
    Es nervt mich unglaublich,da sie angeblich keinen Schaden anrichten und trotzdem jedesmal wieder da sind.
    Über eine kurzfristige Antwort würde ich mich sehr freuen,da ich mir
    kurzfristig ein anderes Schutzprogramm besorgen möchte.
    WAS SOLL ICH MACHEN????
    Gruß Hans-Peter Noiesen