Comment Spam und CAPTCHAs

Gelesen bei AboutWebDesign.de
URL: http://www.aboutwebdesign.de/awd/content/1112794394.shtml

Mit der zunehmenden Gewichtung der Link Popularity einer Website zur Berechnung ihrer Position in Suchmaschinen-Ergebnislisten entwickelte sich eine neue Form der digitalen Datenvermüllung: "Comment Spam".

Comment Spam


Das Prinzip: der Spammer versucht, die von vielen Seiten angebotenen Funktionen zur Kommentierung von Inhalten durch das Setzen von Links zur Seite, deren Link Popularity erhöht werden soll, auszunutzen. Das geschieht häufig automatisiert, indem z.B. ein Suchmaschinen-ähnliches Programm Websites nach Indizien für die Verfügbarkeit solcher Kommentarfunktionen durchsucht und diese, wenn möglich, direkt aktiviert. Erleichtert wird diese Vorgehensweise durch die große Verbreitung bestimmter Standard-Portalsoftware.

Klassische Verteidigung


Es gibt viele Ansätze, sich vor derartigen Zweckentfremdungen der eigenen Website für unlautere Zwecke zu schützen. Prinzipiell lassen sich alle Methoden zur konventionellen Spam-Abwehr auch in diesem Bereich einsetzen: das reicht von IP-Filtern über Phrasen-Blacklists bis hin zur Bayes-Analyse eingegebener Texte. Erfreulicherweise ist die zum Comment-Spamming verwendete Software im Vergleich zu ihren für Massenmails eingesetzten Pendants nicht besonders raffiniert: einige Attacken lassen sich z.B. durch das simple Blocken aller den String "Viagra" enthaltenden Anfragen abwehren. Leider ist auch in diesem Umfeld mit einem evolutionären Wettrüsten zu rechnen, d.h. dass sowohl die Spam- als auch die Spam-Abwehr-Strategien komplizierter werden.

(Künstliche) Intelligenz


Erfreulicherweise zeichnet sich jedoch eine effektive, relativ neuartige Methode ab. Vereinfacht ausgedrückt geht es darum, sicherzustellen, dass Formulareingaben von einem Menschen, nicht von einer Maschine, stammen. Dazu stellt man dem Benutzer eine für Menschen einfache Aufgabe aus dem Bereich der "harten KI", die von gängigen "intelligenten" Programmen nicht lösbar ist. Yahoo! beispielsweise setzt solche Verfahren bei der Anmeldung für Freemail-Accounts (siehe dazu obiges Bild) ein: dem Surfer wird eine Grafik mit verzerrten Buchstaben gezeigt, die abgelesen und in ein Textfeld eingetippt werden sollen. Die Buchstaben sind dabei so verfremdet, dass OCR-Software sie nicht verarbeiten kann. Wurden also die richtigen Buchstaben eingetippt, so kann Yahoo! mit ziemlicher Sicherheit davon ausgehen, dass ein Mensch am anderen Ende der Leitung sitzt. Das verhindert zwar prinzipiell keinen Spam, wohl aber automatisierte Attacken in größerem Umfang.

Name: CAPTCHA


Wie für alle erfolgreichen Techniken gibt es auch hier das passende Akronym: "CAPTCHA", stehend für "completely automated public Turing test to tell computers and humans apart" (Turing war ein berühmter Computerwissenschaftler, der ein bestimmtes Kriterium für die Beurteilung eines Systems als [künstlich] intelligent postulierte).

Bilder, Buchstaben und gesprochene Sprache


Normalerweise werden CAPTCHAs in Form von Bildern eingesetzt, die verzerrte Buchstaben darstellen, eben so wie im Yahoo!-Beispiel. Je massiver die Verfremdung, desto schwieriger die Erkennung. Häufig werden einzelnen Zeichen gedreht und durch Welleneffekte "verkräuselt", manchmal kommen auch Farb- und Hintergrunds-Veränderungen zum Einsatz.

Prinzipiell eignet sich jedes Problem aus dem Bereich der harten KI als Test - es wäre z.B. auch möglich, dem Benutzer eine verrauschte Tonaufnahme vorzuspielen und anschließend die Inhalte abzufragen, wenn man z.B. explizit Sehbehinderte als Zielgruppe bedienen möchte.

Open Source


Die entscheidende Frage natürlich: ist es möglich, CAPTCHA-Technologie auf der eigenen Seite einzusetzen? Ja, und erstaunlicherweise ist das sogar ziemlich einfach. Natürlich tummelt sich auch in diesem Bereich inzwischen eine Vielzahl kommerzieller Anbieter, die Lösungen für große Projekte anbieten. Wer sich auch mit etwas simpleren Verzerrungsfunktionen zufrieden gibt, findet im Web auch frei zugängliche Beispiele, die komplett auf Open Source setzen: z.B. stellt Urban Mainframe eine Lösung vor, die auf Perl und ImageMagick basiert.

Perspektiven


Endgültig gelöst ist damit jedoch nichts - wie Jonathan Hollin, der Programmierer unseres Beispiels, selbst anmerkt, wird auch die Software zum automatisierten Dechiffrieren der enthaltenen Buchstaben immer besser. Prinzipiell jedoch ist der Ansatz vielversprechend - die Forschung zur künstlichen Intelligenz hält genug derzeit unlösbare Probleme bereit.

Leider haben die Spammer inzwischen eine Methode gefunden, derartige Hürden zu umgehen: Sie versenden Email-Spam, der die ahnungslosen Benutzer auf Seiten führt, die von anderen Websites heruntergeladene CAPTCHAs anzeigen und die Benutzereingaben verwenden, um die Ziel-Seite zu manipulieren. Doch auch dieser Ansatz setzt die Interaktion eines Menschen voraus und ist damit nicht z.B. mit der brachialen Gewalt eines Email-Spam-Angriffs vergleichbar. Abgesehen davon dürfte das auf absehbare Zeit das Problem von Yahoo! und anderen Web-Riesen bleiben - der Adaptionsaufwand für eine einzelne Ziel-Seite ist einfach zu groß, als dass er sich für die durchschnittliche deutsche Website mit einigen Tausend Besuchern pro Tag lohnen würde.

Vielleicht ließe sich, aber das ist Zukunftsmusik, die Authentifizierung an Email-Servern durch ähnliche Verfahren ergänzen.

Weitere Informationen & Links


Durch das ständige Wettrüsten zwischen Spammern und Nicht-Spammern erscheint eine hier gepflegte Link-Liste ziemlich sinnlos - erfreulicherweise enthält der Wikipedia-Artikel über CAPTCHAs am Seitenende eine gut kommentierte und sortierte Linksammlung, die ständig auf einem aktuellen Stand gehalten wird.