- Web-Bots haben sich von einfachen HTTP-Client-Anfragen bis hin zu echter Browser-Automatisierung weiterentwickelt; als Reaktion darauf wurden auch die Methoden zur Bot-Erkennung kontinuierlich ausgefeilter
- Für die Bot-Erkennung kommen verschiedene Techniken zum Einsatz, darunter IP-Reputation, Fingerprinting von TCP/TLS/Browser-Umgebung sowie JavaScript-basierte Verhaltensanalyse
- Auch wenn sich Umgehungstechniken für Bots wie Headless-Browser, Proxys und User-Agent-Manipulation weiterentwickeln, entwickeln sich auch die Erkennungsalgorithmen weiter – das „Katz-und-Maus“-Spiel zwischen beiden Seiten geht also weiter
- In jüngster Zeit wurde die Bot-Erkennung noch komplexer, da nun auch fortgeschrittene Verhaltensanalysen auf Basis von KI-Modellen mit Verhaltensdaten hinzukommen
- Mehrschichtige Abwehrsysteme wie CAPTCHA, Proxy-Erkennung, Proof-of-Work und verhaltensbasierte Authentifizierung werden zunehmend zum Standard
Einführung: Die Entwicklung von Web-Bots und Erkennungstechniken
- Web-Bots gibt es in vielen Formen – von einfachen Crawlern und Automatisierungsskripten bis hin zu hochentwickelten Programmen, die sich wie echte Nutzer verhalten
- Es gibt nützliche Bots wie Suchmaschinen oder Archiv-Bots, aber auch viele problematische Anwendungen wie Spam oder illegales Scraping
- Website-Betreiber kämpfen seit den Anfängen des Webs gegen Bots, wobei Erkennungs- und Umgehungstechniken gleichzeitig immer ausgefeilter wurden
Die einfachsten Bots: HTTP-Clients
- Die grundlegendste Form eines Bots ist das Senden von Anfragen an eine Website mit einfachen HTTP-Clients wie
curl oder wget
- Jeder HTTP-Client gibt sich über den Header
User-Agent zu erkennen, weshalb Websites ihn leicht erkennen und blockieren können
- Selbst wenn der User-Agent als Browser gefälscht wird, senden Browser zusätzliche Header wie Sprache oder Kodierung mit – ohne perfekte Tarnung bleibt der Bot also erkennbar
IP-Reputation und Proxys
- Server erkennen Bots anhand der IP-Adresse. Besonders IP-Bereiche von Cloud- und Rechenzentrumsanbietern gelten als Bot-/Automatisierungs-Traffic und genießen daher wenig Vertrauen
- Ohne Proxy wird man schnell blockiert, daher müssen IPs über Residential- oder Mobile-Proxys umgangen werden, was Kosten verursacht
- Websites prüfen aktiv IP-Reputation, offene Proxy-Ports (z. B. 1080), IP-Bereiche und Zugriffsmuster
- Zur Umgehung von IP-Sperren werden rotierende Proxys (rotating proxy) oder Mobile-Proxys eingesetzt
TCP-Fingerprinting
- Bereits beim Aufbau einer TCP-Verbindung vor der HTTP-Anfrage unterscheiden sich TCP-Pakete je nach Betriebssystem, wodurch sich das OS identifizieren lässt
- Stimmen User-Agent und tatsächliches Betriebssystem (TCP-Fingerprint) nicht überein, wird der Traffic als Bot oder Tarnung eingestuft
- Auch Proxy-Server können den TCP-Fingerprint beeinflussen, weshalb bei der Proxy-Auswahl auf die Übereinstimmung des Betriebssystems geachtet werden muss
TLS-Fingerprinting
- Beim TLS-Handshake unterscheiden sich unterstützte Verschlüsselungsverfahren, Versionen und Erweiterungen je nach Browser und Betriebssystem
- Über den TLS-Fingerprint lassen sich Browser, Betriebssystem und Bibliothekstyp abschätzen und mit dem User-Agent abgleichen
JavaScript-Erkennung
- Server sammeln vor der Antwort oder nach dem Laden der Seite per JavaScript zusätzliche Informationen zur Client-Umgebung und zum Verhalten
- Führt ein Bot kein JavaScript aus, wird er sofort erkannt; daher reagieren Bots mit Browser-Automatisierungswerkzeugen wie Selenium, Puppeteer, Playwright
- Die Entwicklung geht also von simplen HTTP-Anfragen hin zur Browser-Automatisierung
Headless-Browser und ihre Erkennung
- Der Headless-Modus (z. B. Chrome ohne Fenster) ist für die Bot-Entwicklung essenziell, kann aber über Unterschiede wie
navigator.webdriver, leere Plugin-Listen und andere Besonderheiten erkannt werden
- Zwar lassen sich verschiedene Eigenschaften patchen und tarnen, doch müssen Dutzende Hinweise berücksichtigt werden, und neue Erkennungsmerkmale tauchen ständig auf
- Der seit 2023 eingeführte New Headless-Modus nutzt dieselbe Engine wie echtes Chrome, was die Erkennung erschwert
Erkennung von Orchestrierungs-Frameworks und IPC
- Automatisierungs-Frameworks wie Selenium oder Playwright verraten sich durch besondere Flags/Optionen, Browserversionen und ihre Umgebungs-Konfiguration
- Beispiel: Flags wie
--disable-ipc-flooding-protection sind ein Hinweis auf eine Bot-Umgebung
- Manche JS-Funktionen (z. B.
window.history.pushState) können übermäßig oft aufgerufen werden, um einen IPC-Flood-Zustand auszulösen und so Bots zu erkennen
Proxy-Erkennung: fortgeschrittene JS-basierte Methoden
- Latency (Latenzmessung): Durch Vergleich der Gesamtverzögerung, etwa per WebSocket gemessen, mit der TCP-Latenz lässt sich das Vorhandensein eines Proxys feststellen
- WebRTC Leak: Über WebRTC im Browser lässt sich die echte Client-IP ermitteln; stimmt sie nicht mit der IP der HTTP-Anfrage überein, deutet das auf Proxy oder Bot hin
- DNS Leak: JavaScript fordert beliebige Subdomains an → über Standort/IP des DNS-Servers lassen sich anomale Muster wie Länderabweichungen erkennen
- Timezones: Der Vergleich zwischen Browser-Zeitzone und IP-Standort hilft dabei, Proxy-Nutzung oder Tarnung zu erkennen
Captcha und Authentifizierung
- Captcha ist eine separate Authentifizierung zur Bot-Erkennung und -Blockierung und besteht aus Aufgaben, die Menschen lösen können, etwa Zeichenerkennung oder Klicks
- In jüngster Zeit kommen Proof-of-Work-basierte Captchas (Zuweisung von Rechenarbeit) und verhaltensbasierte Captchas (einfache Klicks kombiniert mit Verhaltensanalyse) zum Einsatz
- Die meisten Bots umgehen Captchas mithilfe günstiger externer Captcha-Solver-Dienste
Einfache und fortgeschrittene Verhaltensanalyse
- Verhaltensanalyse untersucht typische menschliche Ineffizienzen und Variationen, etwa Mausbewegungen, Tastatureingabemuster sowie Position und Geschwindigkeit von Klicks
- Beispiele: gekrümmte Mausbewegungen, Klickverzögerungen, Zeitabstände zwischen Tastenanschlägen, orientation-/motion-Events auf Mobilgeräten
- Bots fallen leicht durch gerade Mausbewegungen, gleichmäßiges oder zu schnelles Tippen und unrealistische Reaktionsgeschwindigkeiten auf
- Fortgeschrittene Verhaltensanalyse sammelt und trainiert große Mengen menschlicher und bot-basierter Verhaltensdaten, um mit KI/Machine Learning selbst feine Muster zu identifizieren
- Beispiele: Mausbewegungspfade, subtile Zeitunterschiede zwischen Keystrokes, Navigationsmuster auf Seiten und andere kombinierte Datenmerkmale zur Klassifikation
Fazit und Implikationen
- Web-Bots und Erkennungstechniken stehen in einem ständigen Wettrüsten, bei dem statische Fingerprints, Verhaltensanalyse und KI-basierte Erkennung kombiniert eingesetzt werden
- Trotz aller Umgehungs- und Tarnungstechniken müssen Betreiber mit mehrschichtigen Erkennungssystemen, Echtzeit-Verhaltensanalyse und KI-Modellen reagieren und diese kontinuierlich weiterentwickeln
- Für Bot-Entwickler gibt es Grenzen beim Aufbau einer perfekt getarnten Umgebung; ein Verständnis aktueller Erkennungstrends und Gegenmaßnahmen ist daher unverzichtbar
Noch keine Kommentare.