Definition

CAPTCHA

Bei einem CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) handelt es sich um einen vollautomatischen, öffentlichen Turing-Test zur Unterscheidung von Computern und Menschen. CAPTCHA werden oft als Sicherheitsmechanismus eingesetzt, um Bots daran zu hindern an Umfragen teilzunehmen, sich an E-Mail-Konten anzumelden, um Spam zu senden oder Blogs im Hinblick auf Suchmaschinen-Rankings zu füllen. Oder auch um automatisiert Schadcode in Formulare einzufügen. Je nach Implementierung ist die CAPTCHA-Aufgabe oft nur einmal zu lösen. War dies erfolgreich landen Name oder Adresse auf einer Whitelist, so dass der Nutzer nicht jedes Mal erneut eine Aufgabe lösen muss.

So funktionieren CAPTCHA

Ein CAPTCHA unterscheidet zwischen Mensch und Bot, indem er eine Aufgabe stellt, die für einen Menschen relativ einfach zu bewältigen ist, die aktuelle Bots aber nur mit großen Zeitaufwand lösen könnten. Wenn der Anwender die Aufgabe korrekt ausführen kann, bestätigt es dem Dienst, dass der Benutzer ein Mensch und kein Bot ist, und erlaubt es dem Anwender fortzufahren.

Bei den Tests werden häufig JPEG- oder GIF-Bilder verwendet, da viele Bots zwar das Vorhandensein eines Bildes durch Lesen des Quellcodes erkennen können, aber nicht, was das Bild darstellt.

Da einige CAPTCHA-Bilder auch für menschliche Anwender schwer zu interpretieren sind, wird menschlichen Nutzern in der Regel die Möglichkeit gegeben, einen neuen CAPTCHA-Test anzufordern.

Die Geschichte von CAPTCHA

Der Bedarf an CAPTCHA geht auf das Jahr 1997 zurück. Damals suchte die Internetsuchmaschine AltaVista nach einer Möglichkeit automatische URL-Eingaben auf der Plattform zu blockieren, die die Ranking-Algorithmen der Suchmaschine verfälschten. Andrei Broder von AltaVista entwickelte daraufhin einen Algorithmus, der nach dem Zufallsprinzip ein Bild von gedrucktem Text erzeugt. Computer konnten das Bild nicht erkennen, Menschen die enthaltene Botschaft aber sehr wohl lesen und entsprechend reagieren. Broder und seinem Team wurde im April 2001 ein Patent für diese Technologie erteilt.

Im Jahr 2003 perfektionierten Nicholas Hopper, Manuel Blum, Luis von Ahn von der Carnegie Mellon University und John Langford von IBM den Algorithmus und prägten den Begriff CAPTCHA für Completely Automated Public Turing test to tell Computers and Humans Apart.

Bei einem Turing-Test wird mit Hilfe Künstlicher Intelligenz (KI) festgestellt, ob ein Computer in der Lage ist, wie ein Mensch zu denken, oder nicht. Benannt ist der Test nach seinem Begründer Alan Turing, einem Informatiker, Kryptoanalytiker, Mathematiker und Logiker. Jason Polakis, Professor für Informatik, machte sich 2016 um die Erhöhung des Schwierigkeitsgrads von CAPTCHA verdient, als er eine Arbeit veröffentlichte, in der er Tools zu Bilderkennung einsetzte, um Goolge Image CAPTCHAs mit einer Genauigkeit von 70 Prozent zu lösen. Polakis glaubt, dass die Entwicklung an einem Punkt angelangt ist, an dem CAPTCHAs, die für Software schwieriger zu lösen sind, nun auch für Menschen schwerer zu lösen sind.

Verschiedene Arten von CAPTCHAs

Die wohl gebräuchlichste Art von CAPTCHA ist das Text-CAPTCHA. Bei diesem wird dem Anwender in der Regel ein verzerrter Text angezeigt, der wiederum eine Reihe von alphanumerischen Zeichen in einem Bild enthält. Der Benutzer muss diese Zeichen in ein angehängtes Formular eingeben. Dies wirft Bots aus der Bahn, die in der Regel auf Mustererkennung trainiert sind und nicht wie ein Mensch reagieren können. Da ein Captcha, dass ein Bild verwendet, in Sachen Barrierefreiheit nicht unproblematisch ist, arbeiten einige Lösungen darüber hinaus mit Audiodateien. Bei einem solchen System hört der Mensch einige Buchstaben oder Wörter, um unter Beweis zu stellen, dass er kein Bot ist.

CAPTCHA
Abbildung 1: Zwei typische CAPTCHA-Ansätze, welche Bots bei SPAM-Versuchen bremsen sollen.

Ein anderes gängiges CAPTCHA-Format nutzt die Bilderkennung, in dem es die Anwender auffordert, eine Teilmenge von Bildern innerhalb einer größeren Menge von Bilder zu identifizieren. So kann der Benutzer beispielsweise eine Reihe von Bilder oder ein großes Bild mit Teilbildern erhalten und aufgefordert werden, auf alle Bilder zu klicken, auf denen Autos oder Ampeln zu sehen sind. Weitere Varianten von CAPTCHA sind:

  • Bei mathematischen CAPTCHAs fordern den Benutzer auf, eine einfache mathematische Aufgabe zu lösen, zum Beispiel das Addieren oder Subtrahieren zweier Zahlen.
  • 3D Super CAPTCHA. Hier wird vom Benutzer verlangt, ein in 3D gerendertes Bild zu identifizieren.
  • „Ich bin kein Roboter“-CAPTCHA. Fordern den Benutzer auf, eine Checkbox anzukreuzen.
  • Marketing CAPTCHA. Fordert den Anwender auf, ein bestimmtes Wort oder einen Satz mit Bezug zur Marke des Sponsors einzugeben.

Vor- und Nachteile von CAPTCHAs

Zu den Vorteilen von CAPTCHAs gehören:

  • Sie verhindern Spam von automatisierten Programmen, die E-Mails, Kommentare oder Werbung versenden könnten.
  • Sie verhindern gefälschte Registrierungen oder Anmeldungen auf Websites.
  • Anwender sind inzwischen mit CAPTCHAs vertraut, so dass Websitebesucher automatisch verstehen, was sie tun müssen.
  • CAPTCHAs sind leicht in Websites zu integrieren.

Die Nachteile von CAPTCHAs sind:

  • Die Lösungen sind nicht narrensicher und können Spam nur einschränken.
  • Sie können von den Anwendern als Störfaktor empfunden werden.
  • Manche Menschen haben Schwierigkeiten, die Lösungen zu erkennen.
  • Werden CAPTCHAs eingesetzt, kann es dazu führen, dass einige Anwender den Prozess abbrechen.

Wie CAPTCHAs von Angreifern umgangen werden

Insbesondere ältere Captcha-Ansätze sind inzwischen auch von Maschinen lösbar. Allein die Darstellung von verzerrten Zeichen sind nicht zwangsweise noch eine uneinnehmbare Sicherheitshürde.

Angreifer haben mehrere Möglichkeiten CAPTCHAs zu umgehen, beispielsweise mit Algorithmen des maschinellen Lernens (ML), die eine schnelle und genaue Möglichkeit bieten, ein CAPTCHA zu umgehen.

Angreifer können ein Deep-Learning-Modell verwendet, das eine große Sammlung von CAPTCHA-Beispielen herunterlädt, die das Modell zu lösen lernt, oder ein GAN (Generative Adversarial Network) verwenden, um CAPTCHAs zu erstellen und dann zu lernen, wie sie zu lösen sind. Außerdem sind CAPTCHAs, die MD5-Hashes verwenden, anfällig für Brute-Force-Angriffe.

Um dem entgegenzuwirken, haben viele Organisationen fortschrittlichere CAPTCHA-Systeme entwickelt, wie beispielsweise das Google reCAPTCHA. Dies nutzt eine fortschrittliche Risikoanalyse und adaptive Aufgaben, um zu verhindern, dass bösartige Software in das System des Nutzers eindringt.

Es existieren Erweiterungen für Browser, die dem Nutzer das Umgehen von CAPTCHAs ermöglichen sollen. Mit diesen Erweiterungen können die üblichen Risiken bei Lösungen von Drittanbietern verbunden sein. Anwender sollten sich darüber im Klaren sein, dass sie eventuell ihre Aktivitäten im Browser gegenüber nicht vertrauenswürdigen Quellen offenlegen könnten.

Diese Definition wurde zuletzt im Dezember 2021 aktualisiert

Erfahren Sie mehr über Anwendungs- und Plattformsicherheit

ComputerWeekly.de
Close