Captcha

Aus Social-Media-ABC
Zur Navigation springen Zur Suche springen

Ein Captcha (engl. „Completely Automated Public Turing test to tell Computers and Humans Apart“ - „vollautomatischer öffentlicher Turing-Test zur Unterscheidung von Computern und Menschen“) ist eine Sicherheitsabfrage, um auf Blogs, News-Seiten, in Web-Shops oder bei Online-Umfragen die Manipulation oder den Missbrauch durch Bots zu verhindern, Spam abzuwehren, Mailadressen zu schützen und das Herausfiltern persönlicher oder vertraulicher Daten zwischen zwei Kommuniktionspartnern zu blockieren (vgl. Man-in-the-middle-Attacke, bei dem sich ein unerlaubter Dritter zwischen den Datenverkehr zweier oder mehrerer Netzwerkteilnehmer stellt). Erfunden wurde das Verfahren im Jahr 2000 von Luis von Ahn, Manuel Blum, Nicholas Hopper und John Langford an der US-amerikanischen Carnegie Mellon University in Pittsburgh, Pennsylvania, die zahlreiche namhafte Informatiker zu ihren Alumni zählt, darunter auch James Gosling, einer der Erfinder der Programmiersprache Java.

Funktionsweise und Ausformungen

Ein Captcha kann als Form des so genannten Turing-Tests verstanden werden, mit dem der britische Informatiker Alan Mathison Turing bereits 1950 ein Verfahren beschrieb, durch das ein Mensch herausfinden sollte, ob im anderen Raum ein Mensch oder eine Maschine saß. Hierbei war er mit zwei Kommunikationspartnern durch einen Bildschirm und eine Tastatur verbunden, besaß jedoch keinen Sicht- oder Hörkontakt. Konnte die Testperson am Ende des Tests nicht genau sagen, welches Gegenüber ein Mensch und welches eine Maschine war, hatte die Maschine den Turing-Test bestanden und unter Beweis gestellt, dass sie natürliche Intelligenz imitieren konnte. Turing vermutete, dass Maschinen bereits im Jahr 2000 hierzu regelmäßig in der Lage sein würden – der menschliche Anwender, so seine Vermutung, habe dann eine höchstens 70%-ige Chance, Mensch und Maschine auseinanderzuhalten. Allerdings, so Turings Kritiker, habe sich seine Prognose bis heute in dieser Vehemenz nicht erfüllt.

Ein Captcha ist jedoch nur eine Abart des Turing-Tests, da auf der anderen Seite kein Mensch die Identität abfragt, sondern eine Maschine. Sie ist es, die herausfinden möchte, ob ihr ein Mensch oder eine andere Maschine gegenübersitzt. Dabei nutzt sie in der überwiegenden Mehrzahl der Fälle das System der Challenge-Response-Authentifizierung, bei der der Nutzer eine Aufgabe (challenge) lösen, also auf sie antworten (response) muss. Dies können einfache Rechenaufgaben oder die Wiedergabe einer (verzerrt dargestellten) Zahlen-Buchstaben-Kombination sein, die für einen Bot nur schwer zu entziffern ist. Möglich sind aber auch kleine Videos oder Bilderrätsel, beispielsweise durch ein (erneut oftmals leicht verschwommen aufgenommenes) Foto einer Straßenszene, das in neun, manchmal auch zwölf oder 15 Quadrate aufgeteilt ist. Der Nutzer muss dann all diejenigen Quadrate markieren, in denen ein Straßenschild oder ein Auto oder Teile davon zu sehen sind. In beiden letztgenannten Fällen erschwert die Undeutlichkeit des Dargestellten Roboterprogrammen die Dechiffrierung. Adäquate Mustererkennungs-Algorithmen, durch die auch solche visuellen (manchmal auch auditiven) Captchas durch Bots zu lösen sind, verlangen eine äußerst aufwändige Programmierung und eine entsprechend leistungsstarke Hardware. In diesem Sinne bieten Captchas gerade für Blogs oder Diskussionsforen noch einen relativ guten Schutz, da Nutzen und Aufwand für Bots in keinem Verhältnis stehen. Experten warnen jedoch, dass sich dieses negative Kosten-Nutzen-Verhältnis aufgrund steigender Rechenleistungen von Computern bald umkehren könne.

Nachteile

  • Ausschluss von Bevölkerungsteilen

Dr. Peter Purgathofer vom Institut für Gestaltungs- und Wirkungsforschung an der TU Wien warnte bereits 2008 davor, dass Captchas niemals so programmiert werden könnten, dass sie für Menschen in jedem und für Computer in keinem Fall lösbar seien. Um die Lösbarkeit für Maschinen so schwer wie möglich zu machen, sei es notwendig, Captchas immer komplexer zu gestalten, was sie jedoch auch für menschliche User komplizierter mache. Dadurch grenze man immer größere Bevölkerungsteile aus. "Captchas unterliegen einer technischen Eskalation. Und aus dieser Eskalation gibt es kein Ausbrechen. Wie die Gewaltspirale ist das hier eine Spirale des Knackens und der Erhöhung der Sicherheit, die immer schlimmer werden wird. CAPTCHAs werden wiederum systembedingt immer mehr inaccessible. Diese Eskalation ist systemisch bedingt und unausweichlich." Schon jetzt sind Captchas für seh- oder lernbehinderte Menschen vielfach ein Problem. Mit der sich verstärkenden Komplexität von Captchas werden diese Probleme aber immer größere Bevölkerungsgruppen betreffen.

  • Relay-Attacken

Captchas können auf mittelbarem Weg dazu genutzt werden, um die Zugangsbeschränkung auf anderen Seiten zu umgehen. Bei so genannten Relay-Attacken legen Hacker eine Webseite A mit beliebten Inhalten (z.B. Spruchbildern, witzigen Tier- oder Babyvideos) an und sperren gewisse Bereiche mit einem Captcha, den sie zuvor von einer anderen Webseite B, zu der sie Zugang erhalten oder bei der sie ein Nutzerkonto anlegen möchten, kopiert haben. Die User der Webseite A lösen das Captcha, der Bot speichert diese Lösung und fügt sie automatisch in Webseite B ein. Webseite B glaubt demzufolge, einen Menschen vor sich zu haben und gibt die gesperrten Zugangsbereiche frei. Die Relay-Attacke ist mit der oben genannten Man-in-the-middle-Attacke verwandt.

  • Erhöhung der Absprungrate

Captchas bedeuten für den (menschlichen) User einer Webseite einen zusätzlichen Mehraufwand, der ihm vom Surfen bzw. von der weiteren Nutzung dieser Webseite abhalten kann. Dies ist insbesondere dann der Fall, wenn der Captcha aufgrund der oben genannten Technisierungsspirale so verzerrt oder kompliziert dargestellt wird, dass er unter Umständen nur mit Mühe oder nicht beim ersten Mal gelöst werden kann. Schlimmstenfalls müssen dann alle zuvor eingegebenen Daten (beispielsweise eines Formulars) nochmals eingegeben werden. Ausgerechnet die Carnegie Mellon University – also die Institution, an der die Captchas einst erfunden wurden – rechnete zehn Jahre nach dieser Innovation aus, dass ein normaler Mensch ca. 10 Sekunden zum Lösen eines Captchas benötigt. Bei einer weltweiten Entschlüsselung von ca. 200 Millionen Captchas pro Tag sind dies 150.000 Stunden oder 17 Lebensjahre, die pro Tag für das Lösen dieser kleinen Codes aufgewendet werden müssen. Der Captcha richtet sich also nicht gegen die eigentliche Zielgruppe, die von Hackern programmierten Bots, sondern gegen diejenigen, die die Seite in freundlicher und ergebnisorientierter Sicht nutzen möchten.

  • Ineffizienz

Der oben genannte Punkt ist umso ärgerlicher, als Hacker bereits die Ineffizienz von den meisten Captchas aufgezeigt haben, siehe zum Beispiel hier. Es zeigt sich, dass die „Verschlüsselung“ durch verzerrte, mit Mustern hinterlegte oder unregelmäßige Darstellung nicht ausreicht, um Bots langfristig von der Dechiffrierung abzuhalten, insbesondere dann nicht, wenn eine einheitliche Schriftart, eine einheitliche Farbe oder ein regelmäßiger Hintergrund gewählt wird, wenn Rotationen, Formvariationen oder „Störungen“ in der Darstellung insgesamt schwach sind. Die Entschlüsselungsrate liegt dann häufig zwischen 90 und 100%. Schon jetzt gibt es zudem Software, die hilft, Captchas zu lösen, beispielsweise die Google Chrome-Erweiterung Rumola.

Dabei helfen die menschlichen User den Computern selbst beim Verbessern ihrer Captcha-Künste. Denn zahlreiche Captcha-Wörter stammten oder stammen noch immer aus eingescannten Büchern, bei denen manches von Texterkennungssoftwares nicht erkannt wurde. Die von den Nutzern daraufhin eingegebenen Wörter können bei ausreichender Anzahl übereinstimmender Ergebnisse wieder in die Digitalisierungs-Software zurückfließen und vormals unleserliche Wörter leserlich machen. Dieser von Google betriebene ReCaptcha-Dienst nutzt also das Wissen der menschlichen User, um sein Können bei der Texterkennung zu erhöhen. Was in diesem Fall noch Nutzen für den menschlichen User hat, kann und wird sich, so Kritiker, irgendwann gegen den Menschen richten – nicht nur im Bereich von Captchas, die immer ausgefeilter werden müssen, um den lernbegierigen Bot abzuhalten, sondern auch allgemein im Bereich der immer besser werdenden künstlichen Intelligenz.


Lösungsansätze

Alternativen für Captchas können sein

  • NoCaptcha

Dem unsichtbaren Captcha (NoCaptcha) von Google genügt das Anklicken einer Checkbox („I’m not a robot“) als Authentifizierung. Die Auswertung, ob ein Mensch oder ein Bot dadurch Zugang verlangt, geschieht im Hintergrund durch eine umfangreiche Auswertung von Cursorbewegungen, Klickwegen, Dauer des Aufenthalts oder IP-Adresse. Nur in Ausnahmefällen, in denen diese Risikoanalyse nicht eindeutig ausfällt, wird dem User auch ein „normales“ Captcha zum Lösen angezeigt. Mittelfristig sollen jedoch sogar die Checkboxen wegfallen, so dass das Captcha-Verfahren vollständig im Hintergrund abläuft (Invisible ReCAPTCHA) .

  • Honeypots

Als „Honigtöpfe“ bezeichnet man Formularfelder, die der menschliche Nutzer nicht sehen kann, die aber im Quelltext mit programmiert werden. Bots können nicht zwischen sichtbaren und unsichtbaren Formularfeldern unterscheiden: Sie füllen alle Felder aus und sind damit in die Falle getappt.

  • Verwirrende Nomenklaturen

Ähnlich funktioniert dies, wenn im Quelltext, auf den die Bots zugreifen, andere Namen für Formularfelder eingegeben werden. Wird das Email-Feld beispielsweise im Quelltext mit „Frikadellenbrötchen“, das Vornamenfeld mit „Ketchup“ und das Nachnamenfeld mit „Mayonnaise“ bezeichnet, haben es Bots schwer, diese Felder richtig auszufüllen (auf der Oberfläche erscheinen natürlich die richtigen Bezeichnungen).

  • Powermail

Powermail ist eine Typo 3-Erweiterung und soll Spam in Formularen verhindern. Dazu werden verschiedene Daten miteinander abgeglichen und in einem Punktesystem ausgewertet, beispielsweise ob sich Text doppelt, externe Links eingefügt wurden oder Wörter einer Blacklist (wie „porn“ oder „viagra“) auftauchen.

  • Facebook- oder Google-Account zum Einloggen verwenden

Dieses Verfahren birgt jedoch den Nachteil, dass User ein solches Zweitprofil erst einmal haben müssen. Zudem könnten viele besorgt im Hinblick auf den Datenschutz sein, wenn sie ihre Social Website mit einer (ihnen womöglich noch nicht so bekannten) anderen Webseite verbinden sollen.

  • Time-based Captcha

Hierbei wird untersucht, wie lange das Gegenüber zum Ausfüllen eines Feldes benötigt. Ein Bot tut dies, ohne zu zögern, während menschliche User meist einige Sekunden überlegen müssen und deutlich länger benötigen.


Weblinks

Varianten einer Man in the middle-Attacke und mögliche Schutzmechanismen (zuletzt abgerufen am 24.08.2018)

Dr. Peter Purgathofer zu den Nachteilen von Captchas, insbesondere im Bereich Accessibility (zuletzt abgerufen am 24.08.2018)

Zeitaufwand für Captchas (zuletzt abgerufen am 25.08.2018)

Alternativen zu Captchas (zuletzt abgerufen am 25.08.2018)

Noch mehr Alternativen zu Captchas (zuletzt abgerufen am 25.08.2018)

Video des noCAPTCHA-Verfahrens von Google (zuletzt abgerufen am 25.08.2018)

Eine kleine Geschichte des Captcha