Ein Bekannter erregte meine Aufmerksamkeit mit einem Twitter Eintrag: "Good idea: Negative CAPTCHAS!". Negative CAPTCHAS? Negativ eines Bildes mit wahllosen Zifferkombinationen? Weit gefehlt, eine genial einfache Methode zur Spamvorbeugung!
Montag, 14. April 2008
Know your enemy - Negative CAPTCHA
Die Vorgehensweise zur Spamabwehr bei Webformularen mit Hilfe von CAPTCHAS ist die Verifizierung, ob es sich um eine Person handelt, die das Formular absendet. Die Zifferkombinationen in einem CAPTCHA sollten normalerweise nur reelle (Hint: SEHENDE) Personen identifizieren können. Mit einem negativen CAPTCHAS wählt man genau die andere Vorgehensweise: "Handelt es sich bei dem Absender um eine Maschine"? Die Massen an Spams die über Formulare (z.B. für Blog-Kommentare) versendet werden, gehen meist zurück auf einen Roboter, eine Software. Meist sind diese so genannten Bots einfach gestrickte Software, die plump ALLE Felder eines Formulars ausfüllen.
Der theoretische Vorgang für die Integration eines negativen CAPTCHAS in ein Formular könnte wie folgt aussehen:
- Definition eines weiteren Formularfeld
- Das neue Formularfeld per CSS oder Javascript unsichtbar machen
- Bei der Verarbeitung des Formulars abfragen, ob das Formularfeld gesetzt ist -> Spam
Das hört sich jetzt wirklich zu einfach an aber man muss bedenken, dass auch die Bots meist nicht besonders komplex gestrickt sind. Die Technik lässt sich definitiv noch verfeinern und der Erfolg ist wahrscheinlich auf stark frequentierten Seiten meist nicht von langer Dauer. Ned Batchelder hat in seinem Blog die Thematik ausführlich beschrieben und beschreibt noch weitere, zusätzliche Vorgehensweisen: "Stopping spambots with hashes and honeypots".
Zur Evaluierung der vorgestellten Praxis empfahl sich kurzfristig die private Webseite meines Schwagers. Das Gästebuch wurde von einem Bot entdeckt und verunstaltet. Die bisherigen Einträge in diesem Gästebuch variierten dort normalerweise von 0 bis 4 Einträgen pro Monat, der Bot hinterließ erfolgreich am 14.04.2008 14 Spam-Einträge.
Das Formular zum Eintragen in das Gästebuch versah ich wie beschrieben mit einem weiteren Feld und versteckte es per Javascript. Der Bot biss weiterhin an und konnte erfolgreich identifiziert werden. Folgende Grafik stellt den Verlauf dar. Die Grafik erfasst Einträge in diesem Gästebuch für den Monat April bis zum 28.04.2008. Spam ist als rote Linie dargestellt, reguläre Einträge grau (keine vorhanden), erfolgreich gefilterte Einträge blau.
Wie man erkennen kann, wurde seit Aktivierung des "Negative Captchas" jeder Spam-Versuch erfoglreich erkannt und geblockt.
Weitere Links zu der Thematik:
Damien Katz - Negative CAPTCHA
Iqag Notes - Negative CAPTCHA
es-de-WE.BLOG - Negative Captchas zur Spamvermeidung
Lost in Programming » Spam verhindern ohne Captchas?
Was man über die negativen Seiten des Bloggens wissen sollte
CAPTCHA is bad for accessibility
Speziell noch ein paar Links zu der Thematik wie CAPTCHAS geknackt werden können oder welcher Mittel sich der "Feind" bedient:
CAPTCHA Fun
Strip-Bilder umgehen Captcha-Bot-Sperren - Golem.de
Captcha Cracking / Decoding und OCR Sicherheit
OCR Research Team
Spam with captcha
Olaf Egner: Looking Behind the Captcha-Cracking Scenes
Mike Andrews: Breaking CAPTCHA
Wicket meets Javascript
Generierung von Offline Webapplikationen mit HTML 5 / Beispiel auf dem iPhone
Clientseitige Datenspeicherung im Safari mit Javascript und SQLite
Track'n'Mash: Geolocation mit dem Safari auf dem iPhone mit OS 3.0
Internationalisierung (i18n) in JSP's mit JSTL


Es haben sich doch vermehrt neue Beiträge von mir im Naxos Software & Technology Blog angesammelt: Know your enemy - Negative CAPTCHA SOA I: Serviceorientierte Architektur - The Buzzword strikes again Installation von Bea Weblogic Server 9....
Aufgenommen: Jul 23, 10:46