(Wie) Funktioniert das Captcha?

Frage:

Ich habe das Captcha von BwPostman eingeschaltet, bekomme aber immer noch unerwünschte Anmeldungen.

Antwort:

Ob das Captcha von BwPostman funktioniert, kann man also ganz leicht testen. Wenn man eine falsche oder gar keine Lösung in der vorgesehene Feld einträgt und man sich nicht zum Newsletter registrieren kann, dann funktioniert das Captcha schon mal zur Hälfte. Wenn man die richtige Lösung in das vorgesehene Feld einträgt und man sich zum Newsletter registrieren kann, dann funktioniert auch die andere Hälfte.

Hier etwas ausführlicher die Theorie zum Captcha:

Ein Captcha soll automatisierte Anmeldungen so weit wie möglich verhindern. Dies wird erreicht, indem man eine Aufgabe stellt, die für einen Menschen leicht zu lösen ist, für einen Automaten oder Robot aber nicht.

Wenn nun noch unerwünschte Anmeldungen durch kommen, dann kann das nur drei Ursachen haben:

  1. Die Aufgabe ist von einem Automaten doch zu lösen, weil sie zu einfach ist.
  2. Der Automat erzielt hin und wieder Zufallstreffer.
  3. Es sitzt tatsächlich ein Mensch da, der die Eingabefelder ausfüllt.

Natürlich werden die meisten unerwünschten Anmeldungen von einem Automaten produziert. Aber es gibt durchaus auch Leute, die sich ihren Lebensunterhalt oder Teile davon verdienen, indem sie für einen Auftraggeber solche Formulare im Internet ausfüllen.

Als Aufgaben, die zu lösen sind, haben sich zur Zeit vor allem drei Bereiche heraus kristallisiert. Das eine sind Aufgaben mit Bildern, das andere Aufgaben mit Text. Schließlich kommen immer mehr Captchas zum Einsatz, die die beiden vorgenannten Bereiche kombinieren.

Aufgaben mit Bildern

Die bekanntesten Captchas sind solche, in denen Buchstaben und Zahlen in einem unscharfen Bild vorkommen, die erkannt werden sollen. Damit ein Automat nicht einfach mit einer Texterkennung das Bild analysieren kann, werden die dargestellten Zeichen in Wellenlinien, verschoben, mit Lupen-Effekt und ähnlichem verzerrt. Solange das noch einigermaßen erkennbar ist, ist die Aufgabe für einen Menschen leicht zu lösen, ein einfacher Automat hat damit aber seine Probleme. Dabei sollte der Kontrast möglichst gering sein, damit der Automat nicht daraus seine Schlüsse ziehen kann. Andererseits macht zu wenig Kontrast oder eine zu starke Verzerrung das Erkennen für Menschen schwierig.

Weil die Automaten aber immer ausgeklügelter werden, reicht das manchmal nicht mehr aus. Daher werden vermehrt Bilder, vor allem Fotos, in Bereiche unterteilt. Dann soll man die Bereiche markieren, die gewisse Kriterien erfüllen. Das stellt die Automaten vor praktisch dieselben Probleme, die man dem Automaten mit Textaufgaben bereitet.

Aufgaben mit Text

Aufgaben mit Text sind nun wirklich eine Herausforderung für die Automaten. Bei den Bildern mit unscharfen Zeichen ist die Aufgabe klar, die zu lösen ist: Es sollen die Zeichen in das Eingabefeld geschrieben werden, die im Bild versteckt sind. Damit muss der Automat nur heraus finden, welche Zeichen versteckt sind. Bei den Textaufgaben hat der Automat aber noch eine ganz andere Aufgabe zu lösen: Er muss herausfinden, wie die Aufgabe überhaupt lautet, bevor er sich an die Lösung machen kann.

Bei den Textaufgaben sollte man also tunlichst vermeiden, eine Addition so zu schreiben "5 + 7,", wenigstens solange die Aufgabe als Text dargestellt ist. Mit dem Plus-Zeichen bekommt der Automat einen Hinweis, welche Aufgabe zu lösen ist. Stellt man dieselbe Rechenaufgabe aber als Bild dar, ist der Hinweis auf die Aufgabe nicht mehr gegeben. Auch die Darstellung als "5 plus 7" ist nicht mehr direkt als Hinweis erkennbar.

Für einen Menschen unsinnige Fragen sind für einen Automaten zur Zeit noch unlösbar. So ist die Frage "Welche Farbe hat ein rotes Auto" für Menschen unsinnig, weil die Antwort ja schon in der Frage gegeben ist. Aber ob ein Automat die Frage überhaupt versteht?

Auch die segmentierten Bilder, die ich vorhin erwähnt habe, stellen solch eine Herausforderung dar. Der Automat müsste die Aufgabe "Markieren Sie alle Bildbereiche, die ein Verkehrszeichen enthalten" verstehen, damit er überhaupt mit der Lösung der Aufgabe beginnen kann. Aber die Fragen zu den segmentierten Bildern wechseln, so dass beim nächsten Besuch der Webseite die Aufgabe lauten "Markieren Sie alle Bildbereiche, die keine Verkehrszeichen enthalten" könnte.

Bei BwPostman kann man sowohl eine Rechenaufgabe in einem Bild als auch eine unsinnige Textfrage zur Absicherung der Registrierungs-Formulare verwenden. Das sind zur Zeit noch heftige Hürden für die Automaten. Wenn also trotz Captcha unerwünschte Anmeldungen durch kommen, kann man davon ausgehen, dass diese tatsächlich ein Mensch ausgefüllt hat oder die Automaten immer wieder mal einen Zufallstreffer landen. Gegen beides kann man  sich nicht wirklich absichern. Man könnte sich vielleicht überlegen, dass man besonders auffällige IP-Adressbereiche per .htaccess-Datei vom Besuch der Webseite aussperrt. Damit sperrt man aber möglicherweise auch Besucher aus, die keine bösen Absichten haben.