Webseitenbetreiber wollen echte Besucher auf ihren Webseiten. Sie wollen auch, dass die Webseite nicht ohne weiteres durch einen Überlastangriff (DDoS) in die Knie gezwungen wird. Ein wichtiges Werkzeug dafür sind Captchas – kleine Bilderrätsel, die ein Mensch leicht lösen kann, die einer Maschine aber Kopfzerbrechen bereiten.
Die dunkle Seite des Machine Learning
Einem Forscherteam ist es nun gelungen, mittels Machine Learning einige der gängigen textbasierten Captchas automatisiert zu lösen. Das Angriffsmodell erfordert nur wenig Aufwand. Dadurch werden die Vorteile dieser Captchas hinfällig. Entgegen früherer Modelle erfordert das neu entwickelte Modell nur wenig Daten, um effektiv zu lernen. Einem Bericht von „Science Daily“ (Link wird in neuem Fenster geöffnet) zur Folge benötigt das Modell nur etwa 500 Captchas, um zu lernen, wie man diese löst.
Das ist deshalb beunruhigend, weil viele Webseiten auf Captchas setzen, um sich vor Überlastangriffen zu schützen. Hat ein Angreifer Zugriff auf diese Technologie, kann er die Hürde, die ein Text-Captcha einem Besucher in den Weg stellt, leicht überwinden und dennoch die Seite überlasten. Bisher war es mit einem hohen Aufwand verbunden, einen Captcha-Löser zu programmieren. Viel Handarbeit und hunderttausende Datensätze waren dafür erforderlich. Zu allem Überfluss konnte ein Captcha-Löser bisher nur für eine ganz bestimmte Sorte Captchas trainiert werden. Aus diesem Grund haben Kriminelle in der Vergangenheit das Naheliegendste getan: Sie haben sich andere Menschen gesucht, die für sie die Captchas lösen. Unter Zuhilfenahme von Niedriglohn-Arbeitern konnten bisweilen Tausende Captchas pro Stunde gelöst werden. Einer Schätzung in einem anderen Forschungsbericht (PDF wird in neuem Fenster geöffnet) zur Folge konnten Kriminelle zeitweise 1000 verschiedene Captchas für etwa einen Dollar lösen lassen.
Damit sind nicht nur DDoS-Angriffe ermöglicht worden, sondern auch der Versand von Spam-Nachrichten.
Was ist eigentlich ein Captcha?
„Captcha“ ist die Abkürzung für Completely Automated Public Turing test to tell Computers and Humans Apart (Vollständig automatisierter öffentlicher Turing-Test, um Menschen und Computer auseinander zu halten). Ursprünglich ist der Turing-Test dazu da, um einem Menschen Aufschluss darüber zu geben, ob er es mit einem Computer oder einem Menschen zu tun hat – insofern ist ein Captcha streng genommen ein umgekehrter Turing-Test: Ein Computer stellt einem Menschen eine Aufgabe, die aufgrund ihrer Beschaffenheit für einen Computer nicht lösbar ist. Einer der gängigsten dieser Tests besteht aus einer optisch verzerrten Buchstabenfolge, die sich manchmal vor einem verschiedenfarbigen Hintergrund befindet. Der Benutzer muss die korrekte Buchstabenfolge angeben. Schafft er dies, gilt der Test als bestanden, da das Modell davon ausgeht, dass nur ein Mensch den Test erfolgreich lösen kann. Diese Tatsache wird genutzt, um legitime Besucher einer Webseite von automatisierten Besuchen – zum Beispiel ausgelöst durch ein Botnetz – zu unterscheiden. Andere Arten von Captchas arbeiten mit Bildern – hier soll der Benutzer zum Beispiel diejenigen Bilder aus einer Reihe benennen, in denen bestimmte Gegenstände vorkommen.
Klare Visionen
Mittlerweile dürfte es niemanden mehr überraschen, dass Machine Learning nicht nur bei der Bekämpfung von Kriminalität im Internet und bei der Erkennung von Schadsoftware unschätzbare Dienste leistet, sondern auch auf Seiten von Kriminellen. Einer der Forscher geht bereits so weit, zu sagen, dass Webseitenbetreiber aufgrund der Forschungsergebnisse keine Captchas mehr einsetzen sollten und rät zu anderen Alternativen wie etwa der Analyse von Nutzerverhalten oder dem Gerätestandort.
Derzeit funktioniert der Angriff jedoch nur bei textbasierten Captchas – das heißt, überall dort, wo Bilder zum Einsatz kommen, zum Beispiel „Wählen Sie alle Bilder an, auf denen ein Auto zu sehen ist“, hat der Angriff keine Chance auf Erfolg – bis jetzt.