---
title: "CAPTCHA-Alternative"
date: 2022-07-30
language: de
topics: ["cloud", "cyber-security", "hacking", "people", "server", "web", "webdesign", "work"]
source_url: https://willem.com/de/2022-07-30_captcha-alternative/
---
# CAPTCHA-Alternative

*Schütze deine Formulare auf nutzerfreundliche Weise*

> Wahrscheinlich ist dir schon mal ein CAPTCHA begegnet: Es schützt Webformulare, indem du seltsam verzerrte Zeichen abtippen oder Fotos mit einem bestimmten Motiv auswählen musst. Warum gibt es das überhaupt, und gibt es eine nutzerfreundliche Alternative?

## Was ist ein CAPTCHA?

CAPTCHAs sollen Computer und Menschen voneinander unterscheiden. Meist musst du dafür etwas tun, was ein Computer nicht so leicht kann. Daher steht die Abkürzung für: Completely Automated Public Turing test to tell Computers and Humans Apart. Webentwickler setzen CAPTCHAs ein, um ihre Webformulare vor automatisiertem Spam und Missbrauch zu schützen.

![Typische CAPTCHAs, die dir im Netz begegnen können (Bildnachweis: Wikipedia und Google)](https://willem.com/global/images/a95bd60124e8.webp)

## Warum brauchst du einen Formularschutz?

Ein typisches Webformular funktioniert in zwei Schritten:

- **Informationen eingeben:** Du gibst ein paar Angaben ein und klickst auf "ABSENDEN" (oder etwas Ähnliches), um weiterzukommen.

- **Informationen verarbeiten:** Ein Server verarbeitet deine Angaben und leitet deine Nachricht oder Anfrage womöglich an die E-Mail-Adresse von jemandem weiter.

![Ein typisches Webformular: Der Server verarbeitet Angaben einer Person und leitet sie an andere Personen weiter, zum Beispiel an dich. Angreifer können den Absender leicht vortäuschen und so deinen Server automatisiert missbrauchen](https://willem.com/global/images/062f9ea6ddbf.webp)

Das Problem bei diesem typischen Ablauf: Der erste Schritt lässt sich von Angreifern ganz leicht automatisieren. Sie schicken mit einem anderen Computer immer wieder Daten an den Server und zwingen ihn so, riesige Mengen an Informationen zu verarbeiten, oft voller Spam. Hacker suchen besonders gern nach Webformularen, bei denen sie die "AN"-Adresse manipulieren können. Dann können sie deinen Server nämlich benutzen, um Spam an beliebige Leute auf der ganzen Welt zu schicken.

Ein CAPTCHA schützt dein Formular, indem es verhindert, dass ein Computer automatisch Daten an deinen Server schickt.

## Probleme mit CAPTCHAs

Offen gesagt finde ich sie hässlich und umständlich, und ich_bin_nicht_allein (https://duckduckgo.com/?q=do+not+use+captcha). Sie sind eine Hürde für Menschen: Die Konversionsrate sinkt, die Klickrate auch, und so weiter. Außerdem sind sie für Menschen mit eingeschränktem Sehvermögen oft sehr unfreundlich.

Kritiker stören sich auch daran, dass Google einer der beliebtesten Anbieter kostenloser CAPTCHA-Tests ist. Man darf sich fragen, warum die so einen Dienst gratis anbieten. Es ist eine hervorragende Möglichkeit, bei vielen (kommerziellen) Customer Journeys mitzumischen und die eigenen Algorithmen mit noch mehr Daten zur Profilbildung zu füttern. Das solltest du bedenken, wenn dir Datenschutz und DSGVO/Cookie-Gesetze wichtig sind.

## Alternative

Deshalb habe ich mich daran gemacht, eine wirksame Alternative zu CAPTCHAs zu entwickeln, die ich in den Webformularen für meine Kunden einsetzen kann. Mein Ansatz besteht aus zwei Teilen:

- **verstecken:** Die meisten Angreifer suchen ihre Ziele, indem sie nach irgendeinem FORM-Tag Ausschau halten, mit dem man üblicherweise Webformulare baut. Meine Formulare haben kein FORM-Tag, sondern nutzen andere gängige Elemente wie DIV: perfekte Tarnung. Was sie nicht finden, können sie auch nicht knacken.

- **härten:** Meine Webformulare haben einen zusätzlichen Schritt, der es schwerer macht, sie automatisiert zu missbrauchen. Ich nenne ihn "sich eine Briefmarke holen", bevor man absendet.

## Kryptografische Signatur vor dem Absenden: die Briefmarke

Du musst wissen, dass Angreifer wirtschaftlich denken: Sie betreiben nur so viel Aufwand, wie der mögliche Gewinn rechtfertigt. Wenn du es ihnen schwer genug machst, dein Webformular zu missbrauchen, ziehen sie vermutlich weiter und lassen es gut sein. Bevor ich erkläre, was ich gemacht habe, eine Warnung:

**Haftungsausschluss:** *Überlege dir, was du mit dem Formularschutz erreichen willst. Bei mir ist es, die Zahl der Spam-Nachrichten (stark) zu senken und dabei die Nutzerfreundlichkeit zu erhalten. So konnte ich ein System entwerfen, das nicht unbedingt "bombensicher" ist. Wenn du aber Atomgeheimnisse schützen willst, passt dieser Ansatz vielleicht nicht zu dir. Denk immer an dein Bedrohungsmodell!*

Um Webformulare zu schützen, habe ich einen zusätzlichen Schritt eingebaut, den ich "sich eine Briefmarke holen" nenne. Ein geschütztes Webformular läuft dann so ab:

- **Informationen eingeben:** Du gibst ein paar Angaben ein und klickst auf "ABSENDEN" (oder etwas Ähnliches), um weiterzukommen.

- **Briefmarke holen:** Kurz bevor die eigentlichen Daten abgeschickt werden, fragt dein Gerät beim Server ein kryptografisches Token an, das zu den Merkmalen der eigentlichen Daten *und* des Absenders passt. Das dauert nur Millisekunden, du merkst nichts davon. Stell dir das Token als Briefmarke vor, die genau für das Paket gilt, das du verschickst, und nur ein einziges Mal benutzt werden kann.

- **Informationen verarbeiten:** Deine Angaben werden zusammen mit dem kryptografischen Token an den Server gesendet. Ist das Token gültig, werden sie wie gewohnt verarbeitet. Ungültige Token werden einfach ignoriert. Das ist wichtig, damit sich der Mechanismus kaum nachbauen lässt, denn es gibt keinerlei Rückmeldung (der Server sagt immer "OK" :-) )!

![Mit einem einmalig verwendbaren Token für jede Nachricht wird es für Angreifer viel schwerer, das Versenden zu automatisieren, und dein Formular ist vor Spammern geschützt](https://willem.com/global/images/53152b30a5b4.webp)

Seit 2016 setze ich diesen Ansatz ein, und die Server haben buchstäblich Millionen von Nachrichten verarbeitet. Extrem wenige davon (<100) waren Spam. Bei genauerem Hinsehen ist der Spam, der durchkommt, meist "Handarbeit": ein mögliches Zeichen dafür, dass Angreifer den Mechanismus untersuchen. Offenbar ist es zu mühsam, das System zu knacken, und genau deshalb erfüllt es mein Ziel, die Webformulare zu schützen, so gut.

## Fazit

CAPTCHAs sind verständlicherweise sehr beliebt, aber wenn du Alternativen in Betracht ziehst, brauchst du sie nicht unbedingt in deinen Webformularen. Mein Rat: Mach es Angreifern schwerer und deinem Publikum leichter!
