Insbesondere wenn es darum geht, Spam-Attacken gegen Internetformulare zu führen, ist die dunkle Seite der Macht sehr stark. Es gibt dabei zwei Haupt-Leidtragende: Auf der einen Seite sind das die Unternehmen, also die Betreiber der Formulare. Die müssen immer wieder aufrüsten, um sich gegen Angriffe zu schützen. Auf der anderen Seite sind es die Kunden, also die Nutzer der Formulare. Die werden durch diese Aufrüstung mit immer neuen und teils skurrilen Hürden konfrontiert, sobald sie im Internet ein Formular ausfüllen und absenden wollen. Und da bin ich auch schon mitten drin im Thema, denn … 

… gerade eben war ich kurz vorm Durchdrehen!

Wie eine elende Laborratte kam ich mir vor, als ich mich lediglich in einem Online-Shop als neuer Nutzer registrieren wollte. Das Registrierungsformular überprüfte nämlich zunächst, ob ich wirklich ein Mensch und nicht etwa ein Roboter sei. Mittels einer speziellen Aufgabe, die mir gestellt wurde, sollte ich mich erst einmal als Mensch zu erkennen geben, um meine Daten absenden zu können. 

Mein Frust mit dem CAPTCHA-Firlefanz 

Ich bin mir ziemlich sicher, dass Sie einen solchen Test – man nennt ihn übrigens CAPTCHA – auch schon einmal im Internet über sich ergehen lassen mussten. CAPTCHA bedeutet „Completely Automated Public Turing test to tell Computers and Humans Apart“, zu deutsch: „vollautomatischer öffentlicher Turing-Test zur Unterscheidung von Computern und Menschen“. Dabei wird vom Internetformular eine Aufgabe gestellt, die für den Menschen in der Regel sehr leicht, für eine Maschine bzw. einen Roboter (oder Bot, wie er in der Fachsprache genannt wird) hingegen nur sehr schwierig zu lösen ist. Dabei sollen dann z.B. in einer Bildergalerie Bilder markiert werden, auf denen ein zuvor beschriebenes Motiv erkannt wird, oder es sollen Buchstaben in ein Feld getippt werden, die in verzerrter oder verfremdeter Form auf einem Bild zu sehen sind.

Das Problem dabei: selbst einigermaßen schlaue Menschen scheitern reihenweise an diesen CAPTCHAs, weil die Aufgabenstellung missverständlich oder die gezeigten Bilder undeutlich sind. Und so hätte auch ich heute mein Notebook am liebsten entnervt gegen die Wand geschmissen, weil dieses bescheuerte CAPTCHA mit meinen Eingaben, die ich für absolut korrekt hielt, auch nach mehrmaligen Versuchen nicht einverstanden war. Ich brach schließlich frustriert ab. Sollte mir dieser dämliche Shop doch gestohlen bleiben. Ich würde schon noch einen anderen finden.

Warum müssen Formulare überhaupt geschützt werden?

Bots gehören zu den größten Feinden von Internetformularen. Es handelt sich bei diesen Bots um kleine Softwareprogramme, die eigens zu dem Zweck programmiert wurden, Formulare zu missbrauchen. Moment mal, ein Formular missbrauchen? Wie soll man sich das denn vorstellen? Dazu muss man folgendes wissen: Die Daten, die ein Benutzer in ein Internetformular einträgt, werden in der Regel per Email an den Betreiber des Formulars weitergeleitet, in eine Datenbank geschrieben oder anderweitig durch ein Programm verarbeitet. Ein Angreifer, der einen Bot auf ein Formular abschießt, kann daher verschiedene Ziele verfolgen. Am häufigsten handelt es sich um Spam-Nachrichten, die in das Formular eingespeist und somit dann per Email an den Betreiber weitergeleitet oder in seine Datenbank geschrieben werden. Schnell kann dann die Emailbox bzw. die Datenbank des Opfers von Spamnachrichten verseucht werden, denn hat ein Bot erstmal einen Eingang gefunden, macht er so lange weiter, bis irgenwer oder irgendwas ihn stoppt. Die gefährlichere Version eines Formular-Bots versucht sogar, einen Schadcode in das Formular zu „injizieren“ bzw. einen Virus darüber einzuspeisen, um das angegriffene System zu beschädigen oder zu manipulieren. Es ist also für Website-Betreiber essentiell, sich hier in irgendeiner Weise zu schützen.

Das CAPTCHA-Problem

Die oben beschriebene CAPTCHA-Methode muss mittlerweile – auch wenn man sie noch sehr häufig antrifft – als weitestgehend unbrauchbar bezeichnet werden. Zwischenzeitlich wurden Algorithmen entwickelt, die die gängigen CAPTCHAs zuverlässiger lösen können, als Menschen. Mit voranschreitender Entwicklung der künstlichen Intelligenz dürfte sich dieses Phänomen noch weiter verstärken. Hinzu kommt, dass der Einsatz solcher CAPTCHAs nicht barrierefrei funktioniert, d.h. Menschen mit Seh- oder Hörbehinderung (es gibt auch Audio-CAPTCHAs) bleiben bei dieser Methode aussen vor. Sie ist aber auch generell unter dem Gesichtspunkt der Benutzerfreundlichkeit als problematisch zu bewerten, denn sie bringt eine deutliche Hürde, Mehraufwand und Frustpotential für den Anwender mit sich.

Wie können sich Website-Betreiber wirksam gegen Formular-Bots schützen und was hat Honig damit zu tun?

Aufgrund etlicher Website-Projekte, an denen ich beteiligt war und bin, kann ich einen nachweislichen Erfolg mit der sogenannten Honeypot-Methode bestätigen. Der Honeypot (Honigtopf) hat seinen Ursprung in der Überlegung, dass man mit ihm Bären von einem eigentlichen Ziel ablenken oder aber auch in eine Falle locken kann.

Übertragen aufs Internet bedeutet dies, dass wir dem Bot durch gezieltes Präparieren unseres Formulars eine Falle stellen. Dabei machen wir uns eine ganz bestimmte Eigenschaft des Bots zu Nutze. Der arbeitet nämlich nur stoisch ein Formular von oben nach unten ab und versucht dabei, jedes einzelne Feld zu befüllen. Das tut er, damit ihm nicht zufällig ein Pflichtfeld durch die Lappen geht und sich aus diesem Grund das Formular nicht absenden lässt. Jetzt kommt unser Honigtopf ins Spiel! Wir locken den Bot mit einem speziellen Eingabefeld, welches unter keinen Umständen ausgefüllt werden darf. Da der Bot nicht wissen kann, dass wir ihm ein solches Feld untergejubelt haben, befüllt er auch dieses und das löst damit quasi einen stillen Alarm aus. Der Bot ist enttarnt, das Formular wird umgehend gesperrt bzw. lässt sich nicht absenden. Good bye Bot.

Warum tappt ein Mensch nicht in die Honeypot-Falle? 

Damit wirklich nur Bots und nicht versehentlich auch Menschen in die Honeypot-Falle tappen, ist das „verbotene“ Eingabefeld so programmiert, dass es für den Menschen unsichtbar ist. Hierbei nutzen wir einen wesentlichen Unterschied zwischen Mensch und Bot beim Erfassen von Informationen. Ein Bot liest meist den gesamten Quellcode einer Website bzw. eines Formulars, während sich der Mensch nur das anschaut, was sein Browser aus diesem Code macht. Wenn wir dem Browser also mitteilen, ein bestimmtes Objekt möge zwar existieren, aber im Browser unsichtbar sein, haben wir die perfekte Grundlage für unseren Honeypot geschaffen.

Wirklich ein süßes Vergnügen?

Schon seit längerer Zeit bevorzugt mein Entwickler-Team die Honeypot-Methode zur Absicherung von Internetformularen. Die daraus resultierende Anwenderfreundlichkeit bei gleichzeitig hohem Schutz vor Spam-Attacken macht diese Lösung für alle Beteiligten (außer für die Bots) zu einem wahrhaft süßen Vergnügen. Trotzdem heißt es wie immer: wachsam bleiben! Leider fließt permanent kriminelle Energie in die Entwicklung neuer Angriffswerkzeuge und -methoden. Oder wie sagte schon Darth Vader zu Luke Skywalker? „Du weißt nicht, wie stark die dunkle Seite der Macht sein kann.“

„Du weißt nicht, wie stark die dunkle Seite der Macht sein kann.“

Darth Vader

Bösewicht und Befehlshaber der imperialen Streitkräfte