Captcha

Aus TBZ_-_Wiki
Wechseln zu:Navigation, Suche

Captchas (Completely Automated Public Turing test to tell Computers and Humans Apart) werden eingesetzt, um den Missbrauch von Formularen durch sogenannte Bots zu verhindern. Es ist das Ziel herauszufinden, ob der Benutzer ein Mensch oder eine Maschine ist.

Einführung

Captchas sind sogenannte Challenge-Response-Tests, bei welchen der Befragte eine Aufgabe (Engl. Challenge) lösen muss und das Ergebnis (Engl. Response) zurückschickt. Der Sinn von Captchas ist, dass sie für Menschen einfach, für Computer hingegen schwierig bis unmöglich zu lösen sind. Ein Beispiel dafür ist Text, der durch Bildfilter verzerrt wurde und somit nur noch für Menschen entzifferbar sin soll. Computer benötigen Muster-Algorithmen, um solche Bilder zu verarbeiten und diese sind sehr aufwendig zu programmieren. Neben grafischen Captchas werden mittlerweile auch Audio-Captchas oder Video-Captchas eingesetzt. Es gibt jedoch auch solche, bei welchen man Früchte oder Tiere auf den Bildern erkennen muss.

Beispiele von Captchas

230px-Captcha-smwm.svg.png Captcha, welches auf der Bildverzerrung basiert.

Rechen-captcha.jpg Captcha, welches eine Rechenaufgabe vorgibt.

Hintergrund-captcha5.gif Captcha, bei welchem das Lösen durch den Hintergrund erschwert wird.

Captcha2.jpg Captcha, mit zusätzlichen Zeichen im Hintergrund.


Nachteile von Captchas

Captchas widersprechen normalerweise der Barrierefreiheit. Das heisst, dass sie für Sehbehinderte eine unüberwindbare Hürde darstellen. Viele Captcha-Implementierungen sind aber auch für alle anderen Benutzer mühsam oder abschreckend, da einige wirklich nicht einfach zu entziffern sind und deshalb einige Anläufe benötigt werden. Es gibt mittlerweile jedoch auch Captchas mit Audio-Unterstützung, Taubblinde oder User welche einen rein text basierten Browsern benutzen, bleibt der Zugriff weiterhin verwehrt. ReCaptchaExample.png Captcha, welches auch für sehbehinderte Nutzer zu lösen ist.

Grundsätzlich ist jedes komplizierte Problem der künstlichen Intelligenz geeignet, um für ein Captcha verwendet zu werden. Aufgrund der technischen Entwicklung, müssen die Captchas auch für den Menschen immer schwieriger und anspruchsvoller zu lösen werden. Daher stellen Captchas langfristig keine Lösung dar. Captchacartoon.jpg Captchas werden immer schwieriger.

Anwendungsbereich von Captchas

Mögliche Anwendungsgebiete sind Dienste, bei denen Bots einen Dienst manipulieren oder missbrauchen können, wie etwa bei Online-Umfragen, Gästebücher, Registrieren von E-Mail-Adressen (von denen Spam gesendet werden kann) oder bei Online-Banking.

Ablauf eines Captchas

  1. Es wird ein String aus zufälligen Zeichen generiert. Die Auswahl an Zeichen sollte durchdacht sein, da beispielsweise der Buchstabe "l" nur schwer von der Zahl 1 zu unterscheiden ist. Das gleiche gilt für Zahl 0 vom Buchstaben "O". Das Ergebnis wird in einer Variable gespeichert.
  2. Der String wird vor einem Hintergrundbild platziert und das Ergebnis als Bilddatei verwendet (zum Beispiel .jpeg oder .png).
  3. Vergleich der Sessionvariablen mit der Benutzereingabe (Wenn die Eingabe korrekt ist wird die nächste Seite angezeigt, ist die Eingabe falsch, wird ein neues Captcha generiert und der Benutzer zur erneuten Eingabe aufgefordert.)


Umgehung von Captchas

Durch Maschinen

Mit zunehmender Verbreitung von Captcha-geschützten Webseiten begann ein Wettrüsten zwischen den Herstellern von Captchas und den Entwicklern maschineller Lösungen, so dass bald Programme entwickelt wurden, welche den Schutz von Captchas umgehen können. Viele mittlerweile ältere Captcha-Implementierungen sind heute mit relativ geringem Aufwand auch für Maschinen lös- und somit knackbar.

Durch Menschen

Die Aufgabe wird an einen Menschen "delegiert". Man verlinkt das zu umgehende Captcha auf die eigene, programmierte Seit (zb eine Game-Seite) und die Besucher der Webseite, die diese dann nutzen möchten, müssen das Captcha lösen. Diese Eingabe wird dann an die ursrünglich zu umgehende Webseite mit dem entsprechenden Captcha weitergeleitet.