Ausgehend von einem aktuellen Vorfall in einem Projekt erläuterte Marcel Moré die Herausforderungen, welche durch die zunehmende Verwendung von AI-Bots entstehen.
Nicht nur die Bots der grossen AI Anbieter, welche zum Training der LLM Sprachmodelle verwendet werden, crawlen beständig das Netz nach Inhalten. Inzwischen beinhalten die ChatBots auch Tools, die für den User eigenständig Inhalte aus dem Netz recherchieren. Die neueste Variante davon sind AI Bots mit Zugriff auf API-gesteuerte Web-Crawler zum Lesen und Verarbeiten kompletter Websites, die sich zunehmender Beliebtheit in der SEO-Szene (Search Engine Optimierer) erfreuen. Jeden Tag kursieren neue Tipps und Tricks auf LinkedIn, YouTube und in den einschlägigen Foren, mit Hinweisen wie sich mit wenigen Klicks und einem AI Agent schlagkräftige Crawler für alle erdenklichen Automatisierungstools erstellen lassen.
Bot Traffic wird zum Problem
Das Problem dabei: Die Bots erzeugen unkontrolliert viel Traffic auf beliebigen Websites, die auf diese Form von Zugriffen unzureichend vorbereitet sind! Nicht nur das – manche Bots versuchen auch bewusst, die vorgesehenen Regeln und Abwehrmechanismen zu umgehen, indem sie Zugriffe über unterschiedliche Netzknoten und IP-Adressen verteilen und sich durch zufällige Fake-Useragent-Kennungen tarnen. Damit versuchen sie, Web-Application Firewalls zu umgehen, was allerdings schnell zu Überlastungs-Situationen führt, weil die Webserver nicht beliebig skalieren können.
Unterm Strich führt das entweder zu Einschränkungen oder dem Zusammenbruch des Webservers und dem dahinter liegenden Internetangebot, oder – falls eine automatische Skalierung der Server vorgesehen ist – erzeugt es ungewöhnliche hohe Kosten beim Betreiber der Website, weil er nun für Bot-Traffic in beliebiger Menge zahlt, der weit über den gewöhnlichen Betrieb der Website hinausgeht.
Eine neue SPAM Welle
Manch einer erinnert sich vielleicht noch an die Zeiten, als SPAM eMails zu einem ernsthaften Problem für das Netz wurden und den normalen Empfang von Mails zu einer Geduldsprobe machten. Schätzungen gehen davon aus, dass inzwischen 90% des eMail-Traffics von SPAM verursacht werden. Abhilfe schaffen SPAM-Filter bei den Providern, auf den Mailservern und im lokalen Mail-Client. Ein ähnliches Problem entsteht grade im Bereich des WEB-Traffics durch die unkontrollierten Bots, die auf eine noch nicht für diese Bedrohungen ausgelegte Infrastruktur treffen.
Praxis-Bericht
Marcel berichtete wie der Web-Shop seines Kunden, über den die täglichen Auftragseingänge abgewickelt werden, unter der Last von Crawler-Attacken immer wieder zusammenbrach und damit der normale Geschäftsbetrieb zunehmend beeinträchtigt wurde.
Um das dahinter liegende Problem, das in diesem Ausmaß bislang unbekannt war zu verstehen, griff Marcel zu einer Kombination von Tools, um zunächst den Traffic im Detail zu analysieren.
Der Webserver erzeugt täglich Logfiles mit etwa 800.000 Zeilen Inhalt und einer Grösse von jeweils 200 MB. Während der Attacken der AI Crawler waren die Logs deutlich grösser mit ca. 1,3 Mio Zeilen und 350 MB täglich. Da die Angriffe sich jeweils über mehrere Tage verteilten, mussten also Gigabyte-weise Logfiles mit mehreren Millionen Zeilen analysiert werden. Um zu brauchbaren Ergebnissen zu kommen, mussten diverse Filter-Regeln, Zusammenfassungen und Aggregationen anhand unterschiedlicher Kriterien angewendet werden. Für diese Aufgabe mit solchen Datenmengen sind herkömmliche Tools meist nicht geeignet. Man stelle sich vor, täglich(!) 350 Megabyte an Daten in eine FileMaker Datenbank zu importieren….
DuckDB für große Datenmengen
Hier konnte wieder einmal DuckDB seine Stärken ausspielen. Ganze Ordner von Logfiles per Wildcard als CSV-Import einlesen und filtern ist damit ein Kinderspiel und erlaubt schnelle und flexible Auswertungsmöglichkeiten. Zudem ist es recht einfach realisierbar, auch Logfiles ohne klare Trennzeichen anhand von RegEx-Mustern zeilenweise zu parsen, um daraus ein sauberes Schema in einer InMemory-Tabelle zu erzeugen. Anschließend lässt sich diese Tabelle nach allen Regeln der Kunst per SQL-Queries und einem Werkzeug-Kasten von mehr als 600 Funktionen innerhalb von DuckDB blitzschnell durchsuchen und verarbeiten.
FileMaker liefert die Query-Templates
Eine vorgeschaltete FileMaker Datenbank hält vorab ausgetüftelte SQL-Templates für verschiedene Analyse-Schritte bereit, welche dann blitzschnell auf die herunter geladenen Logfiles per DuckDB angewendet werden können. Die Ergebnisse werden als Text oder Tabelle in FileMaker angezeigt für die weitere Analyse.
Claude bietet Expertenwissen
Beim Auswerten der Zugriffsmuster hilft Anthropic Claude. Man sagt dem ChatBot, er sei ein Experte für Webtraffic und gibt ihm einfach die gefilterten Ergebnisse aus dem FileMaker Textfeld mit den vorausgewerteten DuckDB Daten. Claude ist dann in der Lage, automatisch Analyse-Code zu erzeugen und auf die per Copy&Paste eingegebenen Log-Auszüge anzuwenden. Nach wenigen Minuten hat man aussagekräftige Ergebnisse, die schnell auf die dahinter liegenden Ursachen schließen lassen.
Claude erkennt nicht nur ausgefeilte Angriffsmuster anhand statistischer Analysen und Backtracing der IP-Adressen, sondern er erläutert auch die zugrunde liegenden technischen Parameter und klärt über übliche Methoden der Bad-Bots auf. Das ist tatsächlich Expertenwissen, welches man sonst teuer einkaufen müsste. Zudem schlägt Claude auch gleich noch passende Abwehr-Strategien vor.
n8n Workflow speist Looker Dashboard
Als weiteren Baustein im Verteidigungs-Arsenal setzt Marcel einen kleinen n8n Workflow ein, welcher jede Minute die Latenz-Zeiten der Web-Anwendung prüft und in eine Datenbank einträgt. Diese Zeitreihen lassen sich in einem Looker-Studio Dashboard visualisieren und geben so Auskunft über Anomalien im Last-Verhalten des Web-Servers.
DuckDB als universeller Helfer
Durch die Möglichkeit, DuckDB direkt auf dem Webserver zu installieren, bieten sich weitere Optionen: Ein Shell-Script ruft alle paar Minuten DuckDB mit einem vorbereiteten SQL-Query auf, welches das aktuelle Logfile direkt auf dem Webserver analysiert und bei Auffälligkeiten Alarm schlägt. Diese Option geht weit über klassische Application Firewalls hinaus, weil sie dynamische High-Level Analysen auf Zeitreihen, angereichert mit eigenen IP-Whitelistings oder Metadaten, blitzschnell im RAM durchführen kann und somit latenzfrei auf kritische Zustände anschlägt. Man kann quasi per Query fragen: Gib mir alle unbekannten IP-Adressen, die innerhalb der letzten Stunde mehr als 1000 Abfragen erzeugt haben. Dabei schließt man geblockte Adressen per JOIN aus, weil diese dann ohnehin nur noch Fehlercodes erhalten. Übrig bleiben alle neuen Schlupflöcher, die man einer weiter gehenden Analyse unterziehen kann.
Cloudflare als Firewall
Um dieses Katz- und Maus-Spiel zu beenden und für die eigene Website einen nachhaltigen Schutz zu installieren, benötigt man Unterstützung durch automatische Erkennungsmuster, Reverse-Proxies und Abwehrverfahren eines Dienstleisters wie CloudFlare. Bezeichnenderweise bietet CloudFlare neuerdings eine Funktion für den Schutz gegen AI Bots an! Des einen Leid ist des anderen Chance für neue Geschäftsmodelle. Willkommen in der schönen neuen Welt der AI Bots.
Weitere Infos
Read Apache HTTP log into DuckDB and process in-memory SQL queries
https://www.linkedin.com/posts/marcel-more_duckdb-activity-7303540590841856000-kM8W
DuckDB Installation
https://duckdb.org/docs/installation/
Cloudflare: KI-Bots, Scraper und Crawler mit einem einzigen Klick blockieren
https://blog.cloudflare.com/de-de/declaring-your-aindependence-block-ai-bots-scrapers-and-crawlers-with-a-single-click/
Wieso KI-Bots eine wachsende Bedrohung für Wikipedia und Open-Source-Projekte sind
https://www.derstandard.de/story/3000000264091/wieso-ki-bots-eine-wachsende-bedrohung-fuer-wikipedia-und-open-source-projekte-sind
KI-Bots zwingen Wikipedia in die Knie
https://futurezone.at/digital-life/ki-bots-llm-trainingsdaten-wikimedia-commons-foundation-wikipedia-freies-wissen/403028592