Lexikon

Captcha

Captcha ist die Abkürzung für „Completely Automated Public Turing test to tell Computers and Humans Apart“, womit sinngemäß die automatisierte Unterscheidung von Menschen und Computern gemeint ist. Jeder kennt die opulente Box des Google Recaptchas bei dem man „Ich bin kein Roboter“ anklicken, und im schlimmsten Fall Aufgaben lösen oder Bilder zuordnen muss, bevor ein Formular abgeschickt wird. Das Captcha ist also dafür da, Roboter daran zu hindern, Formulare programmatisch zu versenden und somit Spam zu verteilen. Hierbei kann man zwischen vier Arten bzw. Funktionsweisen der Captchas unterscheiden:

Iframe Captchas

Das Kästchen „Ich bin kein Roboter“ z.B. wird hierbei über ein Iframe eingebunden, setzt also vollständig auf externe Ressourcen von Google (Achtung Datenschutz!). Was genau hinter dem Algorithmus zur Unterscheidung von Mensch und Maschine steckt, ist ziemlich kompliziert. Offensichtlich werden aber menschliche Verhaltensmuster wie Klicks, Mausbewegungen etc. analysiert und anhand dessen bewertet, ob es sich um einen „echten“ Menschen handelt.

Rechenaufgaben

Eine Rechenaufgabe – die nicht auf Bildmaterial basiert – zu lösen, bietet heutzutage kaum noch Schutz vor Spam und ist für den Besucher ziemlich unattraktiv. Nicht dass ich der Menschheit nicht zutrauen würde, 8 und 5 zu addieren, aber bekanntlich können das Maschinen noch besser als Menschen. Wenn also die Zahlen im schlimmsten Fall als Reintext im Quellcode vorhanden sind, ist der Schutz gleich Null.

Captchas auf Basis von Bildern

Ebenfalls jedem geläufig sollten die zum Teil kaum entzifferbaren Captchas mit Zeichenfolgen sein, die von Strichen und anderen „Störelementen“ umgeben und durchzogen sind. In das Eingabefeld tippt man nun also das was man erkennt oder meint erkannt zu haben. In den Anfängen der bildbasierten Captchas waren Störelemente noch nicht nötig: Die künstliche Intelligenz konnte noch keine in Bildern integrierte Zahlenfolgen oder Wörter auslesen. Heutzutage beherrscht diese Technik jeder mittelmäßige Spambot. Das führte mit der Zeit dazu dazu, dass die Störelemente immer weniger von den zu erkennenden Zeichen übrig liessen und man selbst als Mensch manchmal mehrere Anläufe brauchte, um das Captcha zu lösen.

Honeypot

Als Honeypot wird ein verstecktes Eingabefeld in einem Formular bezeichnet, welches für den menschlichen Besucher nicht sichtbar ist. Folglich wird dieses Feld auch nicht von Menschen ausgefüllt, und genau das macht sich der Honeypot zu nutze: Wenn ein Spambot das Formular ausfüllt, erkennt dieser im Quellcode auch das versteckte Eingabefeld und füllt dieses aus. Die Falle schnappt zu und das Formular wird nur gesendet, wenn das versteckte Eingabefeld leer bleibt. Leider bietet auch diese Methode längst keinen Schutz mehr – inzwischen erkennen Spambots die „Honigtöpfe“ und bleiben daran nicht mehr hängen.