Google: No CAPTCHA reCAPTCHA Datenstaubsauger

Ich wollte mich schon länger mit dem CAPTCHA System von Google (reCAPTCHA) befassen, dass insbesondere von Cloudflare eingesetzt wird, um Tor-User zu »vergraulen«. Aber auch andere Webseiten und Dienste wie WordPress, Snapchat oder BuzzFeed setzen die CAPTCHAs von Google ein. Aktuell verwendet Google verhaltensorientierte Analysen, um festzustellen, ob es sich bei einem Besucher um einen Bot oder einen Menschen handelt. Wenn ich das richtig beobachtet habe gibt es drei Varianten:

  • No CAPTCHA reCAPTCHA: Es muss lediglich eine Checkbox mit dem Inhalt »Ich bin kein Roboter« angeklickt werden
  • Image reCAPTCHA: Man bekommt 9 Bildausschnitte eingeblendet und soll anschließend ähnliche Elemente selektieren (bspw. alle Bilder mit Straßenschilder)
  • Text reCAPTCHA: Man muss einen Text eingeben, der meist schlecht lesbar ist und als Bild(er) dargestellt wird

Text reCAPTCHA habe ich schon lange keine mehr gesehen, sondern fast nur noch No CAPTCHA reCAPTCHA und Image reCAPTCHA.

Damit die CAPTCHA-Abfrage funktioniert, muss JavaScript im Browser / der Seite aktiviert sein, ansonsten wird die Checkbox »Ich bin kein Roboter« erst gar nicht eingeblendet. Anschließend wird dann JavaScript-Code von »google.com« nachgeladen und im Browser ausgeführt. Der JavaScript-Code ist nicht direkt lesbar, sondern wurde »unleserlich« (obfuscated) gemacht. Alle Daten die Google über JavaScript abfragt werden anschließend in einem Bytecode an Google übermittelt. Google hat sich also bemüht, die übermittelten Daten zu verschleiern. Mit einem herkömmlichen TLS-Intercept ist es also nicht ohne weiteres möglich die übermittelten Daten abzufangen bzw. auszuwerten. Das JavaScript muss also zunächst lesbar gemacht werden. Daran haben sich schon einige »Hacker« versucht. Unter anderem bin ich in diesem Zusammenhang auf InsideReCaptcha gestoßen. Leider ist die Analyse schon über drei Jahre alt und wir können davon ausgehen, dass Google bereits weitere Änderungen vorgenommen hat.

Auf Basis des Codes habe ich mich dennoch drangemacht, um zu schauen, welche Daten Google mit seinem reCAPTCHA System eigentlich erfasst. Die Ergebnisse sind leider noch nicht befriedigend und aktuell fehlt mir die Zeit, um mich damit tiefer zu befassen. Hier die vorläufigen Ergebnisse, was Google ermittelt:

  • Von welcher Seite der CAPTCHA eingebunden wird
  • User-Agent des Browsers
  • IP-Adresse des Anschlusses
  • Bildschirm- und Fensterauflösung
  • Eingestellte Sprache im Browser
  • Zeitzone
  • Installierte Browser Plugins
  • Es wird geprüft, ob ein Google Cookie im Browser abgelegt wurde – Falls nein: Es wird ein Cookie angelegt
  • […]

Es wird also via JavaScript ein kompletter Fingerprint eures Browsers erstellt, der es zulässt, dass ihr auf anderen Seiten wiederkannt werden könnt. Damit ist also seitenübergreifendes Tracking möglich, auch falls die IP-Adresse wechselt oder Cookies gelöscht werden. In der Studie »(Cross-)Browser Fingerprinting via OS and Hardware Level Features« wird aufgezeigt, dass sich über bestimmte Merkmale wie die verwendete Bildschirmauflösung, Farbtiefe, im Browser installierter Plugins oder Schriftarten, Besucher zu 99,24 % wiedererkennen / seitenübergreifend Tracken lassen.

Mein Rat: Wenn euch eine Webseite ein Google CAPTCHA »reindrückt« dann surft woanders hin. Die wollen euch dann offenbar nicht als Kunde / Leser haben.

Insgesamt spannend, was Google da alles ermittelt, um Menschen von einem Bot zu unterscheiden. Aber eben auch wenig datenschutzfreundlich, wenn man sich vor Augen führt, mit was Google sein Geld verdient. Eventuell werde ich das mal weiter analysieren und einen längeren Artikel dazu verfassen.

Du kannst den Blog aktiv unterstützen! Mitmachen ➡