Die Filter-Software
Von Dragan Espenschied und Alvar C.H. Freude, 05.01. 2001, 20:59:12

2 gegen 200
 
 
In nur vier Monaten entwickelten wir zu zweit eine Software, die uns Kontrolle über die Web-Zugriffe von circa 200 Personen gab.
  Zum Hintergrund des Experiments: Link in neuem Fenster anzeigen»Das Experiment«, Link in neuem Fenster anzeigen»insert_coin«, Link in neuem Fenster anzeigenFilter selbst probieren  
 
Der Proxy
 


[1] Genauere Erklärung zum Thema Proxy: Link in neuem Fenster anzeigen»Wissenswertes über Proxy Caches« von Jens Elkner

[2] Wie wir das bewerkstelligten steht im Artikel Link in neuem Fenster anzeigen»Änderung der Netzwerk-Struktur«
Unsere gesamte Software baut auf einem Proxy-Server[1] auf, durch den wir unbemerkt alle Web-Zugriffe hindruchleiteten.[2] Als Basis verwendeten wir den Link in neuem Fenster anzeigenApache Webserver, den wir über die Link in neuem Fenster anzeigenintergrierte Schnittstelle zur Programmiersprache Link in neuem Fenster anzeigenPerl an unsere Bedürfnisse anpassten.

Unser System statteten wir mit einer Web-Oberfläche aus. Ziel war es, über eine von jedem Rechner aus einsetzbare Kontrollzentrale zu verfügen, die eine Fehlbedienung unsererseits nach Möglichkeit ausschließen sollte und aus welcher sich alle benötigten Vorgänge schnell und unkompliziert durchführen ließen.
 
 
Das Überwachungs-Werkzeug
 


[3] Für Experten: die IP-Adressen und Inhalte von Post-Requests werden in unserer Auswertungs-Datenbank nicht gespeichert, der Inhalt von POST-Requests wird nicht protokolliert
Mit dem Ziel, die von Studenten unserer Hochschule abgerufenen Websites zu manipulieren, mussten wir erst einmal herausfinden, welche Websites überhaupt beliebt sind. Zu diesem Zweck protokolliert der Proxy alle Web-Anfragen und trägt sie in eine Datenbank ein. Wir legen Wert darauf, keine persönlichen Daten zu sammeln.[3]

Die Übersicht zeigt aufgerufene Domains an, die sich in Kategorien unterteilen lassen. Eine Detail-Ansicht einer Domain im unteren Frame zeigt jede einzelne abgerufene URL. Alle Zugriffe lassen sich nach Datentyp, Datum, Kategorie oder Adresse ein- und ausblenden und sortieren. Link in neuem Fenster anzeigenScreenshot in Originalgröße
 
 
Jeder Domain kann zur besseren Übersicht eine Farb-Kategorie zugewiesen werden. So konnten wir schnell feststellen, welche Art von Domains am häufigsten abgerufen wurde. Link in neuem Fenster anzeigenScreenshot in Originalgröße
 
 
Verschiedene Filtermöglichkeiten
 


[4] Die URL-Adresse eines Dokuments ist der einzige wirkliche Beweis seiner Authenzität und wird im Kunstbereich als Echtheitszertifikat verwendet (Olia Lialina: Link in neuem Fenster anzeigen»Location = Yes« auf teleportacia); Die Kontrolle über die URL ist der lohnendste Ansatzpunkt für Fälschungen im Web.

[5] Die Blast-Engine übernahmen wir aus unserem Projekt Link in neuem Fenster anzeigenAssoziations-Blaster

[6] Einführung in HTML: Link in neuem Fenster anzeigen»Selfhtml« von Stefan Münz
Die große Diversität der abgerufenen Sites machte uns zuerst zu schaffen, bald zeigten sich jedoch Trends zu Web-basierten Freemail-Diensten, Suchmaschinen, Design-Sites, eigenen Projekten der Studenten und Download-Sites.

Wir entwickelten 6 verschiedene möglichst flexible und allgemein gehaltene Filter-Techniken, um mit Kombinationen aus diesen jeden gewünschten Effekt erreichen zu können:
  1. Mit der Umleitung lassen sich die Adressen von Websites manipulieren. Eine Anfrage an http://www.spiegel.de/ kann so zum Beispiel zur Konkurrenz bei http://www.focus.de/ umgeleitet werden. Ebenso sind Fantasie-Domains wie interad.gov oder netzgegenrechts.yahoo.de möglich. Auch der Zugriff auf Bilder kann umgeleitet werden.[4]
  2. Die Blast-Engine[5] entspricht einem sehr schnellen Suchen/Ersetzen-Mechanismus für Wörter auf Webseiten. Damit können wir zum Beispiel im gesamten Web Helmut Kohl gegen Gerhard Schröder auswechseln.
  3. Bei Kommentar einfügen behandelt die von vielen Web-Autoren und großen Redaktionssystemen eingesetzten, nur im HTML-Quellcode[6] einer Webseite sichtbaren Kommentare. Diese werden oft zur Gliederung des Quellcodes verwendet. Durch die strategisch günstige Position der Kommentare im Quelltext verwenden wir sie, um an deren Stelle sichtbare Veränderungen in Webseiten einzufügen.
  4. Die Starttag-Manipulation fügt zum Beginn von HTML-Tags beliebige Inhalte ein. Die Art und Parameter des gewünschten Tags lassen sich bestimmen.
  5. Die Enttag-Manipulation tut das gleiche am Ende von HTML-Tags.
  6. Zuguterletzt kann Direkter Code in Perl eingegeben werden. Durch die freie Programmiermöglichkeit können beliebige Dinge mit dem Quelltext oder der Adresse einer Webseite anstellen kann. Diesen Filter setzten wir ein, wenn sich der gewünschte Effekt nicht mit den vorstehenden Filtern erzielen ließ.
 
  Jedem Filter können zudem Bedingungen zugewiesen werden, unter denen er aktiv werden soll; zum Beispiel in Abhängigkeit von der aufgerufenen Domain, der aufgerufenen Datei oder beliebigen anderen Vorraussetzungen wie Browser-Version, Tageszeit etc ...  
 
Die Filter-Zentrale
 
  Zur einfachen und schnellen Verwaltung teilten wir die Oberfläche in drei Ebenen ein:

Auf der obersten Ebene der Filter-Zentrale können verschiedene Gruppen von zusammengehörenden Manipulationen ein- oder ausgeschaltet werden. Mit dem »Apply«-Button wird ein Programm erzeugt, das alle aktivierten Filter-Gruppen enthält. Dies geschieht aus Geschwindigkeitsgründen, so dass bei einer aufgerufenen Adresse der Proxy nur noch das generierte und compilierte Perl-Programm abarbeiten und nicht erst überprüfen muss, welche Filter gerade aktiviert sind. Link in neuem Fenster anzeigenScreenshot in Originalgröße


Eine Filter-Gruppe enthält thematisch zusammengehörige Manipulationen. Link in neuem Fenster anzeigenScreenshot in Originalgröße


Ein Filter hat je nach Typ verschiedene Einstellungen. Im Beispiel der Wort-Tausch-Filter aus der Gruppe »Politik«. Neue Wörter inklusive ihrer Tausch-Wahrscheinlichkeit lassen sich einfügen oder deaktivieren. Link in neuem Fenster anzeigenScreenshot in Originalgröße
 
 
Protokoll manipulierter Seiten und Benutzer-Eingaben
 
  Selbstverständlich mussten wir auch überprüfen können, ob die von uns erzeugten Manipulationen überhaupt Wirkung zeigen:

Im Filterlog »Latest Hits« konnten wir die letzten durchgeführten Filter-Aktionen verfolgen. Link in neuem Fenster anzeigenScreenshot in Originalgröße
 
 
Im Feedback-Log tauchen alle von unseren Versuchspersonen eingegebenen Daten auf. Im Beispiel der Kommentar eines freiwilligen Testers von außerhalb der Akademie. Link in neuem Fenster anzeigenScreenshot in Originalgröße
 
 
Verhältnis Aufwand / Ergebnis
 


[7] unser Proxy lief auf einem recht mickrigen PentiumII-System mit 350 MHz und 320 MB Hauptspeicher, zusammen mit dem hochfrequentierten Link in neuem Fenster anzeigenAssoziations-Blaster

[8] Als Beispiel: SmartFilter von Link in neuem Fenster anzeigenSecure Computing und deren Whitepaper Link in neuem Fenster anzeigen»Education, the Internet, and SmartFilter™: A Balanced Approach of Awareness, Policy, and Security«

[9] Siehe zum Beispiel Stefan Krempl: Link in neuem Fenster anzeigen»Die große Filteroffensive« in Telepolis (September 1999)

[10] Siehe Michael Zielenziger: Link in neuem Fenster anzeigen»In Philippines, Net is divine« in Mercury News (Dezember 2000)
Obwohl unsere Werkzeuge nicht das bieten, was man sich an Effektivität und Komfort vorstellen könnte, haben wir die wesentlichen Elemente eines beliebigen Überwachungs- und Manipulations-Systems geschaffen:
  1. Überwachung des Datenverkehrs
  2. Analyse der anfallenden Daten
  3. Veränderung von Adressen und Inhalten
  4. Überwachung der Effektivität der Manipulation
  5. Änderungen können jederzeit am laufenden System vorgenommen werden
Es gelang uns mit einer nicht sonderlich ausgereiften Software, die Web-Zugriffe von ungefähr 200 Studenten zu kontrollieren. Mit effektivierer Software, besserer Hardware-Ausstattung[7] wäre die Kontrolle über größere Netzwerke problemlos möglich.

Netzwerke von den Ausmaßen einer Schule sind in den Vereinigten Staaten ein Markt für Filter-Systeme[8], auch in Deutschland wird über Zwangs-Filterung an Schulen nachgedacht.[9] Die katholische Kirche setzt auf den Philippinen bereits einen Zwangsproxy ein.[10]


Unser System geht jedoch über das simple Blockieren von Adressen hinaus, wie es bisher praktiziert wird. Durch Manipulation vorhandener Inhalte und Adressen bleibt die Illusion des freien Netzes erhalten. Siehe dazu den Link in neuem Fenster anzeigenVerlauf des Experiments.
 
 
 
   (Kommentar zu diesem Artikel ins Forum einfügen)