Spam in Foren und Gastbüchern

Vermehrt treffen hier Meldungen vom Websites ein, weil dort die Such-Seite mit illegalen Werten aufgerufen wird (z. B. JavaScript in der Eingabe, oder anchor-Tags), oder es zu Timeouts kommt (bei der Suche mit 100en Wörtern).

Grund sind Foren-Bots, die jedes Formular, das sie finden, automatisch ausfüllen und absenden.
Ziel der Bot-Betreiber ist es, in fremde Gastbücher Links auf das eigene Angebot zu plazieren, um für eigene Angebote zu werben, oder um den eigenen PageRank zu erhöhen.
Die Links in den Eintragungen führen meist auf illegale oder mindestens dubiose Angebote. Es sind nicht unbedingt Dienstleistungen, die man mit dem eigenen Angebot in Verbindung bringen möchte.

Diese Bots werden dreist öffentlich beworben und verkauft, und sind schon wahre Meisterwerke des Horrors:

  • Features: www.botmaster.net/news/
  • Automatisches Captcha-Processing: www.botmaster.net/pictocod/
  • Demo-Video: www.botmaster.net/movies/XFull.htm

(Die Links sind nur als Text dargestellt, um dem Betreiber keinesfalls PageRank abzugeben)

Gegenmaßnahmen

  • Captcha
    Die Routinen der Bots sind nur an allgemeine Captchas angepasst. Wer keine vorgefertigte bekannte Komponente benutzt, entkommt den Angriffen meist.
    Es genügt bei vielen Sites schon, den Benutzer zu bitten, einen bestimmten kurzen Text einzugeben.
    Beispiel:
    "Geben Sie bitte BVB zur Bestätigung ein: …"
  • Überlange Eingaben filtern
    Betroffen sind oft auch Formulare, die überhaupt keine Spam-Botschaften weiterreichen können, wie z.B. Suchformulare.
    In der Suchmaske kann man aber leicht untypische Eingaben erkennen, und statt eine CPU-intensive Suche durchzuführen sofort einen Fehler präsentieren. Mehr als 10 Suchworte oder 150 Zeichen sind sofort abzulehnen, ohne Ressourcen durch eine aufwendige Suche zu belasten.
  • double-opt-in
    Falls es um Newsletter-Anmeldungen geht, ist das double-opt-in sowieso notwendig, um einigermaßen vor Abmahnungen sicher zu sein.
  • nofollow
    Bei Gastbüchern möglichst nur reinen Text zulassen. Wenn ein Bot seine Spam-Tags eintragen will, wird sofort abgebrochen. Sollen unbedingt Links zugelassen sein, erweitert man diese fremden Links bei der Anzeige um das rel="nofollow" Attribut. Diese Kennzeichnung veranlasst Suchmaschinen, den Link nicht PageRank-erhöhend zu werten. Allerdings beeindruckt das die Spammer wenig, es finden sich anscheinend immer naive Zeitgenossen, die alles anklicken, was nicht bei drei auf den Bäumen ist.
  • Blacklist
    Besser sind zwar Whitelists, aber oftmals reichen auch Blacklists aus, die typische Worte ausfiltern, wie "href", "script" oder ähnliche. Hierbei besteht aber immer die Gefahr, das der Spambot sich dem anpasst. Auf Dauer sind Blacklists aber ein Kampf, bei dem man auf verlorenen Posten steht. Besser sind daher Whitelists, also Regeln, die allein erlaubte Werte durchlassen. Allerdings schießen diese oft übers Ziel hinaus, und verärgen ehrliche Nutzer des Gastbuchs oder der Suche.
    Black- oder Whitelists kann man führen für folgende Attribute:
    • Begriffe im Text
    • E-Mail-Adressen
    • IP-Adressen
    • Link-Ziele
  • Geograpische Filterung
    Bei regional begrenzten Angeboten: Alle Nutzer mit IP-Nummern außerhalb dieser Region aussperren - oder weniger restriktiv, nur die aus den typischen Spambot-Ländern wie China und Russland.
  • Pseudo-Felder
    Im Formular versteckt man Kontroll-Eingabefelder, die per CSS unsichtbar gemacht werden, die aber typische Label wie "E-Mail" oder "Homepage" erhalten. Sobald das zugesandte Formular für dieses Feld Daten enthält, wird der Eintrag kommentarlos verworfen, möglichst ohne Fehlercode. Wer sich in Rache üben will, kann auch noch eine Teergrube öffnen, und gibt in der Response dem Angreifer nur alle par Sekunden ein Byte zurück. So wird zumindest ein Thread der Botfarm etwas länger beschäftigt.
  • Zeitfalle
    In jedes zugesandte Formular einen Code eingeben, der beim Empfang geprüft wird. So muss sich der Spambot wenigstens die Mühe machen, auch tatsächlich erst den Server anzufragen. Wenn der Bot schneller das Formular mit gültigen Antwortdaten zurückliefert, als es der schnellste Tipper kann, sollte man mindestens mißtrauisch werden.
  • Manuelle Prüfung
    Ein mühsamer Weg, der dafür aber effektiv ist: Ein Beitrag erscheint nicht automatisch, sondern muss erst nach manueller Prüfung freigeschaltet werden. Nachteil für die Nutzer ist die oftmals lange Wartezeit und Ungewissheit, dafür hat der Betreiber auch vor rechtlich problematischen Beiträgen mehr Sicherheit - es sei denn, er schaltet wahllos frei. Eine solche Freischaltung ist aber nur bei geringen Aufkommen praktikabel.
  • Verstecken
    Das Meta-Tag "robots" mit dem Wert "noindex, nofollow" auf betroffenen Formular-Seiten hilft, das die Spambots erst gar nichts vom Formular erfahren, und es daher auch nicht aufrufen. Meist enthalten Formular-Seiten sowieso keine Inhalte, die suchmaschinenrelevant wären.
  • Der lange Arm des Gesetzes
    In den Nutzungsbedingungen sollte man die Benutzung von Bots ausschließen, ebenso werbende Beiträge. Helfen tut all dies freilich nicht, da 99% der Spammer aus dem Ausland stammen, und selbst solche Regeln nicht unbedingt gerichtsfest sind, geschweige denn, das man einem Richter genügend Beweise vorlegen könnte.

Die Maßnahmen sind zwar kein Allheilmittel, aber verringern die Anzahl an Forenspam deutlich. Auch das wird aber ein ewiger Hase-Igel-Wettlauf werden, bis die Politik endlich effiziente Maßnahmen zur internationalen Verfolgung solchen Mißbrauchs geschaffen hat.