So funktionieren CAPTCHAs | Was bedeutet CAPTCHA?

CAPTCHAs und reCAPTCHAs ermitteln, ob ein Benutzer in Wirklichkeit ein Bot ist. Obwohl diese Tests helfen können, böswillige Bot-Aktivitäten zu stoppen, sind sie bei weitem nicht narrensicher.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Erfahren Sie, was ein CAPTCHA ist und warum sie verwendet werden
  • Erfahren Sie den Unterschied zwischen CAPTCHA und Google reCAPTCHA und den verschiedenen Typen von reCAPTCHAs.
  • Lernen Sie die Vor- und Nachteile der Nutzung von CAPTCHAs zum Blockieren von böswilligen Bots
  • Erklären Sie, wie CAPTCHAs mit Projekten im Bereich der künstlichen Intelligenz (KI) zusammenhängen

Ähnliche Inhalte


Möchten Sie noch mehr erfahren?

Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!

Lesen Sie die Cloudflare Datenschutzrichtlinie, um zu erfahren, wie wir Ihre persönlichen Daten sammeln und verarbeiten.

Link zum Artikel kopieren

Was ist ein CAPTCHA?

Ein CAPTCHA-Test soll feststellen, ob ein Online-Nutzer wirklich ein Mensch und kein Bot ist. CAPTCHA ist eine Abkürzung für „Completely Automated Public Turing test to tell Computers and Humans Apart“ (etwa: Vollständig automatisierter öffentlicher Turing-Test, um zu erkennen, ob Computer oder Mensch). Nutzer stoßen im Internet häufig auf CAPTCHA- und reCAPTCHA-Tests. Solche Tests sind eine Möglichkeit, Bot-Aktivitäten zu steuern, obwohl der Ansatz auch Nachteile hat.

Auch wenn CAPTCHAs dafür ausgelegt sind, automatisierte Bots zu blockieren, sind CAPTCHAs selbst automatisiert. Sie sind so programmiert, dass sie an bestimmten Stellen auf einer Website erscheinen, und sie genehmigen automatisch Benutzer oder lehnen diese ab.

E-Book
5 Wege zur Maximierung von Sicherheit und Performance
Berichte
Lesen Sie den Bericht zur DDoS-Bedrohungslandschaft im vierten Quartal 2023c

Wie funktioniert ein CAPTCHA?

Klassische CAPTCHAs, die heute noch in einigen Websites verwendet werden, fordern Benutzer auf, Buchstaben zu identifizieren. Die Buchstaben sind verzerrt, damit Bots sie kaum identifizieren können. Der Benutzer muss den verzerrten Text interpretieren, die richtigen Buchstaben in ein Formularfeld eingeben und das Formular absenden, um den Test zu bestehen. Stimmen die Buchstaben nicht überein, werden die Benutzer aufgefordert, es erneut zu versuchen. Solche Tests kommen häufig in Anmeldeformularen, Formularen zur Kontoanmeldung, Online-Umfragen und E-Commerce-Seiten vor.

Beispiel eines CAPTCHA

Die Absicht ist, dass ein Computerprogramm wie ein Bot die verzerrten Buchstaben nicht interpretieren kann, während ein Mensch, der daran gewöhnt ist, Buchstaben in allen möglichen Situationen zu sehen und zu interpretieren – verschiedene Schriftarten, verschiedene Handschriften usw. –, diese in der Regel identifizieren kann.

Einige Bots versuchen, durch die Eingabe zufälliger Buchstaben die Tests zu bestehen, was statistisch gesehen aber eher unwahrscheinlich ist. Also scheitern die meisten Bots bei einem solchen Test und werden daran gehindert, mit der Website oder Anwendung zu interagieren, wohingegen echte Menschen sie wie gewohnt weiter nutzen können.

Fortgeschrittene Bots können lernen, diese verzerrten Buchstaben zu identifizieren, weshalb diese Art von CAPTCHA-Tests nun durch komplexere Tests ersetzt werden. Google reCAPTCHA hat einige weitere Tests entwickelt, um menschliche Benutzer von Bots zu unterscheiden.

Schutz vor DDoS-Angriffen
Erhalten Sie DDoS-Schutz mit jedem Cloudflare-Tarif

Was ist reCAPTCHA?

reCAPTCHA ist ein kostenloser Dienst von Google als Ersatz für traditionelle CAPTCHAs. Die reCAPTCHA-Technologie wurde von Forschern der Carnegie Mellon University entwickelt und 2009 von Google erworben.

reCAPTCHA ist fortschrittlicher als die typischen CAPTCHA-Tests. Einige reCAPTCHAs erfordern wie bei den CAPTCHAs, dass Benutzer Text aus Bildern eingeben, der von Computern nur schwer entschlüsselt werden kann. Anders als herkömmliche CAPTCHAs bezieht reCAPTCHA den Text aus echten Bildern: Bildern von Straßen, Text aus gedruckten Büchern, Text aus alten Zeitungen usw.

Beispiel eines reCAPTCHA

Google hat die Funktionalität der reCAPTCHA-Tests im Laufe der Zeit dahingehend erweitert, dass es nicht mehr auf den bisherigen Stil der Erkennung von verschwommenem oder verzerrtem Text angewiesen ist. Zu weiteren Arten von reCAPTCHA-Tests gehören u. a.:

  • Bilderkennung
  • Kontrollkästchen
  • Allgemeine Beurteilung des Benutzerverhaltens (keine Benutzerinteraktion)

Wie funktioniert ein reCAPTCHA-Bilderkennungstest?

Bei einem reCAPTCHA-Bilderkennungstest werden dem Benutzer in der Regel 9 oder 16 quadratische Bilder präsentiert. Die Bilder können alle vom gleichen großen Bild stammen, oder sie können alle aus unterschiedlichen Bildern stammen. Der Benutzer muss dann die Bilder mit bestimmten Objekten, wie Tieren, Bäumen oder Straßenschildern, erkennen. Wenn dessen Antwort mit den Antworten der meisten anderen Benutzer übereinstimmt, die denselben Test durchgeführt haben, wird die Antwort als „korrekt“ eingestuft und der Benutzer besteht den Test.

Bild reCAPTCHA

Das Herausfiltern bestimmter Objekte aus verschwommenen Fotos ist ein schwer zu lösendes Problem für Computer. Selbst fortgeschrittene Programme, die unter Anwendung künstlicher Intelligenz (KI) agieren, haben damit zu kämpfen – im Umkehrschluss wird also auch ein Bot damit zu kämpfen haben. Ein menschlicher Nutzer sollte dies jedoch relativ einfach bewerkstelligen können, da der Mensch es gewohnt ist, Alltagsobjekte in allen möglichen Zusammenhängen und Situationen wahrzunehmen.

Wie funktionieren reCAPTCHA-Tests mit einem einzigen Kontrollkästchen?

Einige reCAPTCHA-Tests fordern den Benutzer lediglich auf, ein Kontrollkästchen neben der Aussage „Ich bin kein Roboter“ zu aktivieren. Der Test besteht jedoch nicht im eigentlichen Anklicken des Kontrollkästchens – er umfasst alles, was bis zum Anklicken des Kontrollkästchens geschieht.

Kein Roboter-CAPTCHA

Dieser reCAPTCHA-Test berücksichtigt die Bewegung des Cursors des Benutzers, während er sich dem Kontrollästchen nähert. Selbst die direkteste Bewegung eines Menschen zeigt auf mikroskopischer Ebene ein gewisses Ausschweifen: winzige unbewusste Bewegungen, die Bots nicht so leicht imitieren können. Wenn die Cursorbewegung solche Unregelmäßigkeiten aufweist, dann entscheidet der Test, dass der Benutzer wahrscheinlich ein Mensch ist. Das reCAPTCHA kann auch die vom Browser auf einem Benutzergerät gespeicherten Cookies und den Verlauf des Geräts beurteilen, um zu ermitteln, ob der Benutzer ein Bot ist.

Wenn durch den Test immer noch nicht bestimmt werden kann, ob der Benutzer ein Mensch ist oder nicht, kann er einen zusätzlichen herausfordernden Test anzeigen, z. B. den oben beschriebenen Bilderkennungstest. Die Cursorbewegungen, Cookies und der Geräteverlauf von Benutzern sind jedoch in den meisten Fällen aussagekräftig genug.

Wie funktioniert reCAPTCHA ohne jegliche Benutzerinteraktion?

Die neuesten Versionen von reCAPTCHA können das Verhalten und den Verlauf der Interaktion mit Inhalten im Internet ganzheitlich betrachten. In den meisten Fällen kann das Programm basierend auf diesen Faktoren entscheiden, ob der Benutzer ein Bot ist oder nicht, ohne dass der Benutzer eine Aufgabe zu erfüllen hat. Andernfalls erhält der Benutzer eine typische reCAPTCHA-Aufgabe.

Google bietet einen kostenpflichtigen, monatlich abgerechneten Dienst namens reCAPTCHA Enterprise an, der ein bewertungsbasiertes Erkennungssystem verwendet, um zwischen Menschen und Bot zu unterscheiden. reCAPTCHA Enterprise interagiert mit dem Kunden-Backend und den Webseiten, um eine Abfolge von JavaScript-, HTML- und Token Authentication-Ereignissen auszulösen. Das System ermittelt dann die Risikobewertung des Besuchers von 0,0 bis 1,0, und der Website-Entwickler legt fest, welche Maßnahmen auf der Grundlage der Bewertung ergriffen werden sollten.

Je niedriger die Bewertung, desto höher ist die Wahrscheinlichkeit, dass es sich bei dem "Besucher" in Wirklichkeit um einen Bot handelt. Eine reCAPTCHA Enterprise-Bewertung von 0,0 bedeutet, dass die Interaktion möglicherweise betrügerisch ist und ein hohes Risiko darstellt, während 1,0 bedeutet, dass die Interaktion sehr wahrscheinlich legitim ist und ein geringes Risiko darstellt.

Was löst einen CAPTCHA-Test aus?

Einige Websites verfügen einfach automatisch über CAPTCHAs als proaktive Abwehr gegen Bots. In anderen Fällen kann ein Test ausgelöst werden, wenn das Benutzerverhalten dem eines Bots ähnlich zu sein scheint: wenn Benutzer z. B. mit einer viel höheren Rate als durchschnittlich Webseiten aufrufen oder Hyperlinks anklicken.

Reichen CAPTCHAs und reCAPTCHAs aus, um böswillige Bots zu stoppen?

Einige Bots können den Text von CAPTCHAs selbstständig überwinden. Forscher haben ein Programm geschrieben, das auch die CAPTCHAs mit Bilderkennung schlägt. Zudem können Angreifer Klickfarmen nutzen, um die Tests zu bestehen: Tausende von Billigarbeitern lösen CAPTCHAs im Auftrag von Bots.

Neben einem CAPTCHA müssen andere Strategien zum Stoppen von unerwünschten Bots gegeben sein (wie z. B. Content Scraping-Bots, Credential Stuffing-Bots oder Spam-Bots).

Welche Nachteile hat die Nutzung von CAPTCHAs oder reCAPTCHAs zum Stoppen von Bots?

Schlechte Nutzererfahrung: Ein CAPTCHA-Test kann den Ablauf der Aktivitäten von Nutzern unterbrechen, wobei sie dadurch negative Erfahrungen mit der Website machen und in einigen Fällen die Website ganz verlassen.

Nicht geeignet für sehbehinderte Personen: Das Problem bei CAPTCHAs ist, dass sie auf die visuelle Wahrnehmung angewiesen sind. Dadurch sind sie fast unüberwindbar nicht nur für als blind eingestufte Menschen sondern auch für Menschen mit schwerer Sehbehinderung.

Diese Tests können von Bots überwunden werden: Wie oben beschrieben, sind CAPTCHAs nicht vollständig Bot-sicher und somit nicht für das Bot-Management geeignet.

Gibt es Alternativen zur Nutzung von CAPTCHAs oder reCAPTCHAs?

Bot-Management-Lösungen wie Cloudflare Bot Management oder Super Bot Fight Mode können schädliche Bots basierend auf dem Verhalten des Bots identifizieren, ohne dass die Nutzererfahrung dadurch beeinträchtigt wird. So können Bots bekämpft werden, ohne dass die Nutzer gezwungen sind, CAPTCHA-Tests durchzuführen.

Cloudflare bietet auch Turnstile an, eine unsichtbare Alternative zu CAPTCHA, die einen kostenlosen Code-Snippet verwendet. Turnstile ist für jedermann verfügbar – unabhängig davon, ob man Cloudflare-Kunde ist.

Wie hängen CAPTCHA und reCAPTCHA mit Projekten im Bereich der künstlichen Intelligenz (KI) zusammen?

Während Millionen von Benutzern schwer lesbare Texte identifizieren und Objekte in verschwommenen Bildern auswählen, werden diese Daten in KI-Computerprogramme eingespeist, damit auch sie sich bei diesen Aufgaben verbessern.

Computerprogramme haben generell Schwierigkeiten, Objekte und Buchstaben in verschiedenen Zusammenhängen zu erkennen, da sich der Zusammenhang in der Realität fast unendlich verändern kann. Ein Stoppschild ist bekanntlich ein rotes Achteck mit weißen Buchstaben und der Aufschrift „STOP“. Ein Computerprogramm kann eine solche Kombination aus Form und Wort ziemlich einfach identifizieren. Ein Stoppschild in einem Foto kann jedoch je nach Kontext sehr unterschiedlich zu dieser einfachen Beschreibung ausfallen: wegen des Winkels, aus dem das Foto geschossen wurde, der Beleuchtung, dem Wetter usw.

KI-Programme können durch maschinelles Lernen diese Hindernisse besser überwinden. Beim Beispiel des Stoppschilds würde der Programmierer einen Haufen Daten in das KI-Programm darüber einfließen lassen, was ein Stoppschild und was kein Stoppschild ist. Damit dies funktioniert, braucht dieser eine Vielzahl von Beispielen von Bildern mit Stoppschildern und Bildern ohne Stoppschilder, und menschliche Nutzer, die sie identifizieren, bis das Programm ausreichend Daten hat, um effektiv darin zu sein.

reCAPTCHA hilft, diese Notwendigkeit zu erfüllen, indem es Menschen veranlasst, Objekte und Texte zu identifizieren, was nach einer gewissen Zeit genug Daten liefert, um robuste KI-Programme zu entwickeln.

Was ist ein Turing-Test? Inwiefern sind Turing-Tests für CAPTCHA-Tests von Bedeutung?

Ein Turing-Test bewertet die Fähigkeit eines Computers, das menschliche Verhalten nachzuahmen. Alan Turing, einer der ersten Computerpioniere, erfand 1950 das Konzept eines Turing-Tests. Ein Computerprogramm „besteht“ den Turing-Test, wenn sein Verhalten während des Tests nicht von dem eines Menschen unterscheidbar ist – d. h. wenn es wie ein Mensch agiert. Das Bestehen des Turing-Tests ist nicht davon abhängig, ob die Antworten richtig sind; es geht darum, wie „menschlich“ die Antworten aussehen, egal ob sie richtig oder falsch sind.

Auch wenn ein CAPTCHA als „öffentlicher Turing-Test“ bezeichnet wird, ist es eigentlich das Gegenteil eines Turing-Tests – es bestimmt, ob ein angeblich menschlicher Benutzer in Wirklichkeit ein Computerprogramm (ein Bot) ist oder nicht, statt herauszufinden, ob ein PC-Benutzer ein Mensch ist. Dazu muss ein CAPTCHA eine kurze Aufgabe stellen, in der Menschen meist gut sind und mit der Computer zu kämpfen haben. Das korrekte Identifizieren von Text und Bildern erfüllt in der Regel diese Kriterien.