Precursor: Cloudflares System zur Erkennung von Agentenverhalten über die gesamte Sitzung hinweg
(blog.cloudflare.com)- Da es schwieriger geworden ist, Automatisierung mit realen Browsern und JavaScript allein an einzelnen Prüfstellen wie Login, Registrierung oder Bezahlung zu erkennen, führt Cloudflare mit Precursor eine fortlaufende Analyse von Verhaltenssignalen entlang der gesamten User Journey ein
- Es wird dynamisch zusammengesetztes leichtgewichtiges JavaScript in HTML-Antworten eingebettet, um Mauszeigerbewegungen, Tastaturaktivität, Fokus und Sichtbarkeitsstatus der Seite zu erfassen und in Edge-Auswertungen und bestehende Bot-Abwehrsysteme in Echtzeit einfließen zu lassen
- Handgelenksbewegung und kognitive Verzögerung, Zittern der Hand sowie Rhythmus von Geschwindigkeit, Richtung und Korrekturen lassen sich von Automatisierung mit geradlinigen Bewegungen, konstanter Geschwindigkeit oder übermäßiger Präzision über eine ganze Sitzung hinweg nur schwer nachbilden und dienen daher als Grundlage für eine sitzungsbasierte Erkennung
- Statt echter Eingaben werden bei der Tastatur nur Timing und Rhythmus erfasst; zudem verbindet das datenschutzorientierte Design Verhaltenssignale weder mit Benutzerkonten oder dauerhaften Profilen noch zeigt es sie direkt im Kundendashboard an
- Die Funktion wird derzeit als Teil von Enterprise Bot Management ausgerollt und kann bis zum GA-Release Ende des Jahres kostenlos genutzt werden; der Betrieb ist ohne Änderungen an der Anwendung entweder als Hintergrundbeobachtung oder durch Erzwingen einer Challenge für nicht verifizierte Sitzungen möglich
Von einzelnen Prüfstellen zur gesamten Sitzung
- Bot-Abwehr ist ein adversarieller Wettbewerb, in dem sich Angreifer anpassen und Verteidiger reagieren; Cloudflare nutzt dabei sowohl die Sichtbarkeit über das gesamte Netzwerk als auch Signale aus der Client-Umgebung
- Im weltweiten Netzwerk werden täglich über 1 Billion Anfragen analysiert, um Reputation, Muster und Anomalien über mehr als 20 % des Webs hinweg zu erkennen
- Cloudflare Turnstile hat sich von einem CAPTCHA-Ersatz zu einer risikobasierten Managed Challenge entwickelt, die den nötigen Reibungsgrad zur Nutzerverifizierung steuert
- Turnstile wird an sensiblen Punkten wie Login, Registrierung und Bezahlung zwar rund 3 Milliarden Mal pro Tag ausgeführt, doch darüber, wie sich Menschen und Bots entlang der gesamten User Journey einschließlich der Zwischenphasen verhalten, gab es bislang nur begrenzte Einblicke
- Precursor schließt diese Sichtbarkeitslücke, indem es Client-Verhaltenssignale kontinuierlich über die gesamte Webanwendung hinweg sammelt und auf Sitzungsebene bewertet
- Die clientseitige Erkennung aus Challenge wird auf die gesamte Anwendung ausgeweitet
- Es ergänzt Turnstile optional; beide Funktionen sind in Enterprise Bot Management enthalten
Kontinuität des Verhaltens ist schwerer zu imitieren als kurze Momente
- Moderne Automatisierung führt JavaScript aus, nutzt reale Browserumgebungen und kann auch einzelne CAPTCHAs bestehen, sodass sie in kurzen Abschnitten wie normale Nutzer wirken kann
- Konsistentes menschliches Verhalten über eine ganze Sitzung hinweg nachzubilden, ist deutlich schwieriger; Precursor nutzt diese Kontinuität des Verhaltens als Signal zur Erkennung von Betrug und Missbrauch
- Es erhöht die Präzision bei der Unterscheidung zwischen Menschen und Automatisierung, indem mehr Signale in jede Entscheidung einfließen
- Es senkt die Abhängigkeit von aggressiven Challenges und reduziert unnötige Unterbrechungen für legitime Nutzer
- Bot-Entwickler müssen die gesamte Sitzung imitieren, wodurch Aufbau und Wartung von Automatisierung teurer werden und die Zuverlässigkeit im großen Maßstab sinkt
Menschliche Fehler und physische Grenzen
- Bot-Entwickler fügen Mausbewegungen zwar Gaussian Noise oder gleichförmige zufällige Verzögerungen hinzu, doch menschliche Bewegung unterliegt physischen und kognitiven Einschränkungen, die über simples Rauschen hinausgehen
- Drehachse des Handgelenks: Durch Bewegungsradius des Handgelenks und Rotation des Unterarms verläuft die Mausbewegung oft bogenförmig
- Kognitive Last: Zwischen dem Wahrnehmen einer Checkbox und dem Klick darauf entsteht eine messbare Verzögerung
- Handzittern: Selbst bei ruhiger Hand treten Schwingungen entsprechend der physiologischen Tremorfrequenz auf
- Automatisierung nutzt häufig lineare Interpolation oder mathematisch ideale Bézier-Kurven und klickt mit einer Präzision, die Menschen nur schwer reproduzieren können
- Beispielhafte Automatisierungsbibliotheken bewegen die Maus in perfekt geraden Linien, kehren immer zum Ursprung zurück und reagieren stets mit derselben Geschwindigkeit
- Menschen dagegen zeigen selbst auf derselben Website unregelmäßige Pfade, kleine Korrekturen und Überschwingen des Ziels sowie Veränderungen bei Geschwindigkeit, Timing und Richtung
- Auch wenn einzelne Interaktionen plausibel wirken, werden die Unterschiede im Verhaltensmuster über die gesamte Sitzung hinweg sichtbar; Precursor erfasst und bewertet solche Verhaltenssignaturen, während die Interaktionen fortlaufen
Client-Injektion und Signalerfassung
- Wird Precursor aktiviert, wird automatisch ein leichtgewichtiges Skript in HTML-Antworten von Websites eingefügt, die über das Cloudflare-Netzwerk laufen
- Es sind weder zusätzliche Konfiguration noch separate Netzwerkverbindungen oder Einbettungen Dritter erforderlich
- Das Bundle ist klein, obfuskiert und wird für jede Antwort dynamisch zusammengesetzt
- Es ist so ausgelegt, dass es andere Seitenlogik der gehosteten Webanwendung nicht stört
- Das Skript verwendet leichtgewichtige Event-Listener, um Mauszeigerbewegungen, Tastaturaktivität, Fokuswechsel und Sichtbarkeitsstatus der Seite zu erfassen
- Die Events werden in ein komprimiertes Format serialisiert und im Speicher gepuffert
- Die im Puffer gesammelten Daten werden regelmäßig an die Auswertungsebene gesendet
Edge-Auswertung und Kreuzvalidierung
- Edge-Server deserialisieren eingehende Precursor-Payloads in Verhaltenseingaben und führen über einen Dispatcher mehrere Evaluatoren aus
- Jeder Evaluator liest die benötigten Precursor-Streams und kann Signale in einem gemeinsamen Erkennungsregister registrieren
- Statt sich auf ein einzelnes Event zu verlassen, werden unterschiedliche Daten gegeneinander validiert
- Es wird geprüft, ob Mauszeigeraktivität mit der Zeit übereinstimmt, in der die Seite sichtbar war
- Es wird untersucht, ob Tastatur-Events nur auftreten, wenn ein Textfeld den Fokus hat
- Fortlaufend eingehende Informationen werden zu einzelnen Erkennungssignalen zusammengeführt und zur Berechnung von Erkennungsgewichten genutzt
Sitzungsakkumulation und nachgelagerte Erkennungsebenen
- Precursor-Daten werden sitzungsübergreifend innerhalb des Session-Scopes akkumuliert; selbst wenn ein Bot die Seite neu lädt oder mit einer neuen Challenge beginnt, kann er seine Verhaltenssignatur nicht zurücksetzen
- Sitzungsmetadaten werden auch an nachgelagerte Erkennungsebenen weitergegeben
- Shadow-Mode-Heuristiken und Sitzungsanalyse
- Vergleich zwischen erwarteter und tatsächlicher Fertigstellung
- Session-delinquency-Heuristiken
- An der Edge beobachtete Informationen werden zur Verbesserung der Erkennung protokolliert und verwendet, um den Bot-Score einer Sitzung anzupassen
Datenschutzorientiertes Design
- Die Event-Listener erfassen nur die minimal nötigen Informationen, um menschliche Muster von Automatisierung und Missbrauch zu unterscheiden
- Bei Tastaturaktivität werden nicht die tatsächlich gedrückten Tasten erfasst, sondern nur Timing und Rhythmus
- Bewertet werden aggregierte Verhaltensmuster statt einzelner Aktionen
- Verhaltenssignale werden ausschließlich innerhalb von Cloudflares Bot-Erkennungssystem genutzt
- Sie werden nicht direkt im Kundendashboard angezeigt
- Sie werden nicht mit Benutzerkonten, Login-Identitäten oder dauerhaften Profilen verknüpft
- So kann die Verhaltensbewertung laufend aktualisiert und gleichzeitig die Reibung für legitime Nutzer reduziert werden
Sitzungsbasierte Security Analytics
- Security Analytics erhält eine sitzungsbasierte Ansicht, die statt einzelner Requests die gesamte Journey eines Besuchers zeigt
- Im Dashboard lassen sich unter anderem folgende Fragen untersuchen
- Wie sieht eine typische Sitzung auf der Website aus?
- An welchen Stellen weicht das Verhalten vom Erwarteten ab?
- Welche Sitzungen zeigen im Zeitverlauf Anzeichen von Automatisierung?
- Damit werden auch Verhaltensweisen zwischen einzelnen Requests analysierbar, die bei requestbasierter Analyse schwer zu erfassen waren
- Precursor-Daten fließen direkt in bestehende Bot-Scores, Challenge-Entscheidungen und Sicherheitsregeln ein, sodass der zusätzliche Sitzungskontext sofort in den bestehenden Abwehrmechanismen nutzbar ist
Künftige Erweiterung und Aktivierung
- Precursor bildet die Grundlage dafür, Bot-Erkennung auf die gesamte Anwendung auszuweiten; Cloudflare will die folgenden Bereiche weiter ausbauen
- Umfang und Tiefe der für Sicherheit genutzten Verhaltenssignale
- Die Art, wie Informationen auf Sitzungsebene den Schutz durch Bot Management beeinflussen
- Neue Wege, Sitzungsdaten zu visualisieren und darauf zu reagieren
- Je weiter sich Bots entwickeln, desto mehr muss sich auch die Erkennung von isolierten Prüfstellen lösen und den gesamten Ablauf der Nutzeraktivität betrachten
- Derzeit lässt sich Precursor im Cloudflare-Dashboard aktivieren, jeweils pro Zone, und wird bis zum GA-Launch Ende des Jahres kostenlos angeboten
- Die Stärke der Sitzungsvalidierung kann auf zwei Arten gewählt werden
- In einem Modus mit geringer Reibung wird das Verhalten im Hintergrund beobachtet
- Wenn vollständig verifizierte Sitzungen erforderlich sind, wird bei fehlender bestehender Sitzung eine Challenge erzwungen
- Unmittelbar nach der Aktivierung wird die bestehende Bot-Abwehr verstärkt, ohne dass Änderungen an der Anwendung nötig sind
- Wer Bot Management oder Turnstile bereits nutzt, erweitert den Erkennungsbereich damit über bestehende Challenge-Punkte hinaus auf den restlichen Teil der Sitzung und die Aktivitäten zwischen geschützten Punkten
1 Kommentare
Meinungen auf Hacker News
Es ist beunruhigend, wie Cloudflare sich sowohl beim Blockieren als auch beim Zulassen als Schiedsrichter über Bots positioniert; für das Internet insgesamt wirkt das nicht gesund.
Seit fast 20 Jahren wird beklagt, dass Content-Ersteller eine bessere Vergütung als Werbung brauchen; das könnte die Antwort sein.
Gleichzeitig gibt es seit Langem die Kritik, dass Anthropic und OpenAI auf gestohlenen Inhalten aufgebaut wurden. Man kann diese Realität also nicht ausblenden und gleichzeitig beides wollen.
Ob die Reichweite zu groß ist oder ob gemeint ist, dass niemand einen ähnlichen Dienst anbietet – mit so pauschaler Kritik ist das schwer nachzuvollziehen.
Es fühlt sich etwas merkwürdig an, dass Cloudflare Agenten-Produkte verkauft und zugleich einen Dienst anbietet, der offenbar die Nutzung von Agenten im Web blockiert.
Neben Mauspfaden werden sie sicher deutlich mehr Signale verwenden, aber bei unkonventionellen Eingabegeräten wie Touchscreens oder dem ThinkPad-TrackPoint kann die Unterscheidung schon schwierig sein.
Wenn Nutzer von Accessibility-Mauswerkzeugen fälschlich als Bots erkannt werden, ist das gravierend; macht man dafür Ausnahmen, kann es aber auch zu einem Umgehungsweg für Agenten-Browsing werden.
Trotzdem ist es fast sicher ein guter Schritt, wenn dadurch Missbrauch und Spam durch Agenten-Bots reduziert werden.
Man kann Dienste für gute Bots anbieten und zugleich helfen, schlechte Bots zu blockieren.
Wenn ein Bot Mausbewegungen unbeholfen imitiert, ist das ein starkes Anomalie-Signal; ein guter Bot würde
robots.txtrespektieren und nicht verbergen, dass er ein Bot ist.Vor sechs Jahren hatte hCaptcha all diese Funktionen implementiert.
Es ging nicht nur darum, Menschen von Bots zu unterscheiden, sondern auch Tastatur- und Mausverhalten zu erkennen, das auftritt, wenn dieselbe Person mehrere Konten erstellt oder mehrere Kreditkarten ausprobiert.
Als Cloudflare 2020 zu hCaptcha wechselte, war diese Missbrauchserkennung enthalten; als Cloudflare 2022 hCaptcha verließ, dachte ich, sie hätten das bereits selbst implementiert.
Wenn man auf der Seite nach Barrierefreiheit sucht und keine Treffer findet, wirkt diese Astrologie der Mausbewegungen so, als würde sie Blinde und reine Tastaturnutzer von einem erheblichen Teil des Internets vollständig ausschließen.
Wenn man sich einloggt und die Anonymität aufgibt, wird man wohl als Nicht-Bot eingestuft.
In manchen Regionen kann man ohne Smartphone nicht einmal für einen Flug einchecken, sodass Reisen selbst unmöglich wird, aber die meisten nehmen das als selbstverständlich hin.
Agentenerkennung ist ein neu entstehendes Feld und wird künftig deutlich wichtiger werden.
Zu den entsprechenden Produkten gehören Foil (https://usefoil.com/), Kasada https://www.kasada.io/, DataDome (https://datadome.co/), Castle (https://castle.io/), Fingerprint (https://fingerprint.com/), HUMAN (http://humansecurity.com/), Google Cloud Fraud Defense (https://cloud.google.com/security/products/fraud-defense?hl=...) als faktischer Nachfolger von reCAPTCHA sowie Cloudflare Precursor.
Die wichtigsten aktuellen Einsatzgebiete sind die Abwehr von automatisiertem Credential Stuffing, Fake-Accounts und Missbrauch kostenloser Testphasen samt daraus entstehenden Twilio-SMS-Kosten, Zahlungsbetrug, LLM-Scraping sowie automatisiertem Aufkaufen von Tickets und Sneakern.
Ich frage mich, welcher Anwendungsfall die Unternehmensnachfrage treiben wird, und hoffe, dass Agenten nicht pauschal blockiert werden, sondern nach der Erkennung auf agentenspezifische Pfade geleitet werden können, um im Auftrag von Nutzern im Web zu navigieren und Aufgaben zu erledigen.
Sie bieten Hunderte Millionen Residential IPs, menschenähnliche Browser-Fingerprints und Custom-Browser-Binaries und umgehen automatisch Turnstile, reCAPTCHA v3, Kasada, DataDome, AWS WAF und Ähnliches, sobald diese auftauchen.
Es kombiniert Profiling und Wahrscheinlichkeiten für Phasenübergänge, sodass nur bestimmte Bereiche digitaler Assets – etwa Zahlungen mit Chargeback-Risiko – für Agenten eine zusätzliche Authentifizierung verlangen oder blockiert werden können.
Precursor scheint sich derzeit stärker auf die Erkennung von Scraping zu konzentrieren, bei dem mehrere Dokumente von derselben Website abgerufen werden.
Ich frage mich, womit man Bots oder Agenten aufhalten kann, wenn sie feines Zittern hinzufügen, das menschliche Cursorbewegungen nachahmt.
Vermutlich werden auch andere Signale genutzt, aber gerade dieses Signal wirkt so, als ließe es sich leicht umgehen, sobald Bots nur ein wenig ausgefeilter werden.
Schon mit einfachem Machine-Learning-Clustering lassen sich Maus-, Tastatur- und Touch-Verhalten von Bots von denen von Menschen unterscheiden, aber die Gefahr ist groß, dass dabei auch Menschen mit Behinderungen diskriminiert werden, die Hilfsfunktionen wie Eye-Tracking nutzen.
Das Verhalten von Menschen, die nur eine Hand benutzen, kann sich stark von dem typischer Nutzer unterscheiden, und derzeit ist die Durchsetzung des ADA in den USA außerhalb von Kalifornien, Illinois und New York ebenfalls schwach.
Ein Unternehmen mit so großem Einfluss wie Cloudflare sollte konservativ filtern, damit Menschen mit Behinderungen nicht unter solcher Verhaltensanalyse leiden.
Man sollte die Verantwortung nicht abwälzen, indem man sagt: „Wir liefern nur einen Score für die Bot-Wahrscheinlichkeit, den Schwellenwert legt jede Website selbst fest“, und dann behaupten, die Sperrung von Menschen mit Behinderungen liege daran, dass die Website den Schwellenwert zu streng gesetzt habe.
In dieser Größenordnung muss man auch die sekundären und tertiären Auswirkungen von Entscheidungen verantworten.
Diese Daten können nicht nur Bots unterscheiden, sondern auch Geschlecht, dominante Hand, ungefähres Alter, Muttersprache anhand von Tippmustern, Verletzungen und Genesungsverläufe sowie psychische und körperliche Behinderungen.
Aus der Art, wie eine Website navigiert wird, lassen sich sogar ADHS, Schizophrenie, Parkinson, Medikamentenkonsum und Behandlungseffekte abschätzen; daher ist es sehr schwierig, all diese Signale so zu imitieren, dass man in denselben Cluster wie typische Menschen fällt.
Kurzfristig kann es funktionieren, doch mit der Zeit werden klare Muster sichtbar, und da es auch vielfältige Zittern-Daten je nach Website und Layout gibt, lässt sich künstliche Nachahmung leicht erkennen.
Selbst bei demselben Nutzer unterscheiden sich die Bewegungen je nach Eingabegerät.
Am Arbeits-PC nutze ich eine Maus, am privaten Notebook ein Touchpad und am Arbeits-Notebook den ThinkPad-TrackPoint, sodass für eine Person drei Verhaltensprofile entstehen.
Das unterscheidet sich sicher von KI-Bewegungen, aber wenn Fingerprinting über Mausbewegungen zu einer weiteren Hürde wird, könnten viele interessante Ausreißer auftauchen.
Cloudflare sollte nicht so tun, als würde es das Internet schützen.
https://developers.cloudflare.com/browser-run/quick-actions/...
Dieses Unternehmen ist wie eine Firma, die Tabak verkauft und zugleich Krankenhäuser baut.
Ich freue mich schon auf den Tag, an dem Cloudflare Daten über den Zustand meines Handgelenks an Versicherer verkauft. Die Überwachungshölle, die wir uns selbst gebaut haben, ist wirklich großartig.
In letzter Zeit kommt es wegen False Positives bei Cloudflare häufig vor, dass eine Session nur endlos lädt und nie zur eigentlichen Seite weitergeht.
Wenn jeden Tag neue, aus dem Bauch heraus gecodete Lösungen veröffentlicht werden, mache ich mir Sorgen, dass das auch der Servicequalität schadet.