- Captcha
-
CAPTCHA ['kæptʃə] ist ein Akronym für Completely Automated Public Turing test to tell Computers and Humans Apart. Wörtlich übersetzt bedeutet das „Vollautomatischer öffentlicher Turing-Test, um Computer und Menschen zu unterscheiden“. CAPTCHAs werden verwendet, um zu entscheiden, ob das Gegenüber ein Mensch oder eine Maschine ist. Der Begriff wurde zum ersten Mal im Jahr 2000 von Luis von Ahn, Manuel Blum und Nicholas J. Hopper an der Carnegie Mellon University und von John Langford von IBM gebraucht.
Während bei einem Turing-Test ein Mensch entscheiden soll, ob sein Gegenüber ein Rechner oder ein anderer Mensch ist, ist die Idee bei einem CAPTCHA, dass ein Rechner diese Unterscheidung machen soll. CAPTCHAs sollen im Internet sicherstellen, dass nur Menschen und keine programmierten Bots bestimmte Dienste nutzen können. Die Herausforderung für einen Programmierer beim Turing-Test ist es, den Computer möglichst menschenähnlich erscheinen zu lassen; bei CAPTCHAs entstehen zwei Herausforderungen: einerseits schwere Aufgaben in den CAPTCHAs zu stellen, andererseits solche Aufgaben lösen zu können.
Inhaltsverzeichnis
Erklärung
CAPTCHAs sind meist Challenge-Response-Tests, bei denen der Befragte eine Aufgabe (Challenge) lösen muss und das Ergebnis (Response) zurückschickt. In CAPTCHAs sind die gestellten Aufgaben so, dass sie für Menschen einfach zu lösen sind, für Computer hingegen sehr schwierig. Ein Beispiel dafür ist Text, der durch Bildfilter verzerrt wurde. Computer benötigen Mustererkennungs-Algorithmen, um derartige Bilder zu verarbeiten, die aufwändig zu programmieren sind und hohe Anforderung an die Hardware stellen. Neben grafischen CAPTCHAs werden mittlerweile auch Audio-CAPTCHAs eingesetzt.
CAPTCHAs haben entsprechend ihrer Bezeichnung folgende Eigenschaften:
- Frage und Antwort werden bei jedem Zugangsversuch vollautomatisch per Zufallsgenerator und unter Einhaltung bestimmter Regeln generiert. Es wird also kein von Menschen vorgetragener Katalog mit Fragen und Antworten verwendet, da dessen begrenzter Wertebereich deutlich schneller zu Wiederholungen führen und damit einen Angriff erleichtern würde.
- Der verwendete Algorithmus ist veröffentlicht, damit Fachleute die Sicherheit des Systems beurteilen können. CAPTCHAs folgen damit Kerckhoffs’ Prinzip und vermeiden Security through obscurity.
Kritik
Zurzeit werden meist bildbasierte CAPTCHAs verwendet, diese sind jedoch nicht barrierefrei, da sie von sinnesbehinderten Menschen nicht gelöst werden können. Verschiedene Anbieter verwenden daher zusätzlich akustische CAPTCHAs, um die Zugänglichkeit zu erhöhen. Taubblinde Menschen und andere Benutzer rein textbasierter Browser bleiben jedoch auch dadurch ausgeschlossen. Für solche würde sich jedoch eine weitere Methode eignen, welche textlich ein Wort abfragt, wie beispielsweise: „Wie nennt man ein motorbetriebenes, vierrädriges Fahrzeug“. Die Antwort wäre in diesem Fall „Auto“. Solch Frage-Antwortlisten müssten aber sehr schnell erweitert oder ständig umgeschrieben werden, da man einem Spambot solche Listen beibringen könnte. Außerdem stellen sie dann eine Barriere für Nicht-Muttersprachige oder intellektuell oder bildungsmäßig Benachteiligte dar, für die selbst „banale“ Fragen zum Problem werden können.
Grundsätzlich ist jedes schwierige Problem der Künstlichen Intelligenz geeignet, für ein CAPTCHA verwendet zu werden. Die technische Eskalation bewirkt, dass die CAPTCHAs immer unleserlicher werden und daher langfristig keine Lösung darstellen.[1] Tatsächlich erweist sich der Test auf Barrierefreiheit als Test an die Turing-Tests, ob sie Mensch und Maschine wirklich unterscheiden können, oder nur auf unbedachten Vorurteilen über die Fähigkeiten des Menschen beruhen.
Anwendungsgebiete
Mögliche Anwendungsgebiete sind Dienste, bei denen Bots den Dienst manipulieren oder missbrauchen können, wie etwa Online-Umfragen, Gästebücher, Registrieren von E-Mail-Adressen (von denen Spam gesendet werden kann) oder die Vermeidung von Spam durch Verschleierung der E-Mail-Adresse. Außerdem werden CAPTCHAs auch in Verbindung mit einer indizierten TAN-Liste zur Abwehr von Man-in-the-middle-Angriffen bei Online-Banking-Anwendungen verwendet.
Umgehung von CAPTCHAs
Lösen durch Maschinen
Mit zunehmender Verbreitung von CAPTCHA-geschützten Webseiten wurden Lösungen entwickelt, um diesen Schutz zu umgehen. Viele Implementierungen sind mit relativ geringem Aufwand auch für Maschinen lösbar.[2] Für verbreitete Implementierungen, wie die in der Forumsoftware phpBB verwendete, existieren bereits Spambots, die die CAPTCHAs lesen und damit diesen Schutz umgehen können.[3] Ein weiteres Beispiel ist das Umgehen von CAPTCHAs durch Spammer beim automatischen Anlegen von Google-Mail-Konten mit einer Erkennungsrate von 20 bis 30 Prozent.[4]
Lösen durch Menschen
Unwissentlich
Eine technisch einfache Möglichkeit, den CAPTCHA-Schutz zu umgehen, besteht darin, dass der Bot die eigentliche Erkennungsaufgabe an Menschen delegiert, alle anderen nötigen Schritte jedoch selbst durchführt. Ein Spammer richtete beispielsweise eine pornografische Website ein, um von den Besuchern dieser Website ein CAPTCHA lösen zu lassen, das aber eigentlich vom Anbieter eines E-Mail-Zugangs stammt. Unwissentlich lösten die Besucher der pornografischen Website für den Spammer die CAPTCHAs.[5] [6] Auch ein Trojaner, der ein Striptease-Programm vorgaukelt und CAPTCHAs durch den Anwender lösen lässt, ist bekannt geworden.[7]
Wissentlich
Eine weitere Technik CAPTCHAs zu umgehen nennt sich CES (CAPTCHA Exchange Server)[8] Angemeldete User können CAPTCHAs anderer User erkennen und sammeln auf diese Weise Punkte. Falls ein angemeldeter User in seiner Abwesenheit CAPTCHAs hat, die erkannt werden müssen, wird dies wiederum von anderen Usern gemacht (welche dadurch selbst Punkte sammeln). Ein User kann so viele CAPTCHAs erkennen lassen, wie Punkte auf seinem Konto vorhanden sind. Die Möglichkeit CAPTCHAs durch diesen Service lösen zu lassen hängt aber von der Verfügbarkeit von Plugins ab die zum auslesen des CAPTCHAs notwendig sind. Plugins existieren zum Beispiel für Rapidshare oder ähnliche Filehoster und Mailingdienste. [9] Des Weiteren ist die Effektivität abhängig von der Anzahl der Nutzer im System, sind zu einem Zeitpunkt keine Punktesammler anwesend kann kein CAPTCHA gelöst werden, in der Regel sind aufgrund der internationalen Userbasis aber Warteschlangen vorhanden, so dass jedes neue CAPTCHA schnell gelöst wird.
In Indien gibt es einige Anbieter, die Captchas durch Angestellte lösen lassen.[10]
reCAPTCHA
Da mittlerweile laut einer Hochrechnung der Carnegie Mellon University Internetnutzer weltweit pro Tag 150.000 Stunden[11] damit verbringen CAPTCHAs zu lösen, werden Überlegungen angestellt, wie diese Zeit sinnvoll genutzt werden kann. Der Informatiker Luis von Ahn hat dazu ein System namens reCAPTCHA programmiert, das bei der Buch-Digitalisierung eingescannte Worte, die die Texterkennungssoftware nicht erkennt, durch die Eingabe von CAPTCHAs optimiert. Auf jedem CAPTCHA sind zwei Wörter abgebildet: Eines, welches dem System bereits bekannt und bestätigt ist, das andere ist ein unerkanntes Wort aus einem Buch.
Durch die Lösung des zusätzlichen Wortes ist es naheliegend zu vermuten, dass mehr Zeit verwendet wird, um eine Lösung zu finden. Da es sich allerdings um Worte und nicht um zerstückelte Codefragmente handelt, fällt es dem Benutzer leichter und ist somit auch schneller, zwei Wörter gleichzeitig zu lösen.
Der Nutzer beteiligt sich daran, durch dieses CAPTCHA kostenlos für das Gemeinwohl für das Schrifterkennungsprojekt reCAPTCHA mitzuwirken (siehe Crowdsourcing). Zurzeit werden mit reCAPTCHA Bücher aus dem Internet Archive digitalisiert. Es gibt Plugins für Webapplikationen, wie Lifetype, WordPress, Drupal, vBulletin oder MediaWiki, um reCAPTCHA dort zu integrieren. Viele Millionen Menschen beteiligen sich so an dem Projekt, ohne die genaue Absicht des Projekts zu kennen und stellen ihre Leistung, die sie ohnehin zur Eingabe erbringen müssen, zur Verfügung.
Das Problem, herauszufinden, welche Eingabe eines Nutzers auch wirklich korrekt ist, lässt sich statistisch lösen. Diejenige Eingabe, die von den meisten Nutzern eingegeben wurde, ist wahrscheinlich die, die auch wirklich korrekt ist.
Siehe auch
- Asirra von Microsoft
Weblinks
Einzelnachweise
- ↑ CAPTCHAs im Spannungsfeld zwischen Accessibility und Sicherheit
- ↑ PWNtcha – ein CAPTCHA-Decoder. Zeigt die Ineffizienz vieler Implementationen (englisch)
- ↑ heise Security: Bot registriert sich in mehreren tausend phpBB-Foren, 20. März 2006
- ↑ heise online: Spammer hebeln Googles Captchas aus, 11. März 2008
- ↑ Cory Doctorow: Solving and creating captchas with free porn., 27. Januar 2004. [31. März 2006]
- ↑ Porno gegen Captchas, heise-Newsticker vom 23. Juli 2008
- ↑ Trojaner, der ein Striptease-Programm vorgaukelt und CAPTCHAs durch den Anwender lösen lässt, Meldung auf c't newsticker, heise.de
- ↑ Tutorial zum CES
- ↑ Liste der für den CES verfügbaren Plugins
- ↑ http://blogs.zdnet.com/security/?p=1835
- ↑ Carnegie Mellon University: What is reCAPTCHA., 27. Januar 2004. [31. März 2006]
Wikimedia Foundation.