Mit <kes>+ lesen

Bot-Management: : The good, the bad and the ugly

Automatisierte Anfragen und Interaktionen sind an vielen Stellen im Netz zu beobachten – Software-„Roboter“ und -Agenten (kurz „Bots“) nehmen dem Menschen längst viele legitime, aber auch unerwünschte oder bedrohliche Aufgaben ab. Um auf Gefahren durch Bots reagieren zu können, muss man zunächst einmal zwischen „gut und böse“ unterscheiden – es ist Zeit für ein „Bot-Management“.

Lesezeit 9 Min.

Von Michael Tullius, Frankfurt/Main

Über die Hälfte des gesamten Internetverkehrs wird mittlerweile von Bots erzeugt – einige davon legitim, andere bösartig. Black-Hat-Hacker, aber auch Wettbewerber nutzen „böse“ Bots, um Daten zu stehlen, Lagerbestände zu blockieren oder Distributed-Denial-of-Service- (DDoS)-Attacken auszuführen. Fortgeschrittene Angriffe werden dabei von klassischen Mitigationssystemen und -strategien oft nicht erkannt, da sich Bots von einfachen Skripten zu groß angelegten verteilten Systemen mit menschenähnlichen Interaktionsmöglichkeiten entwickelt haben, die Erkennungsmechanismen austricksen wollen. Um mit aktuellen Bedrohungen mithalten zu können oder idealerweise einen Schritt voraus zu sein, sind komplexe Funktionen erforderlich, um solche Gefährdungen zu erkennen und zu minimieren.

Gute Bots

Dazu gehört allerdings zunächst einmal die Möglichkeit, zuverlässig zwischen guten und bösen Bots zu unterscheiden. Denn etliche sind ja erwünscht und nützlich: So können automatisierte Softwareanwendungen Prozesse rationalisieren und die Performance von Unternehmen positiv beeinflussen – sie ersetzen mühsame menschliche Aufgaben, beschleunigen Prozesse, die von großen Informationsmengen abhängen, und tragen so zur Effizienz und Agilität bei. Zu den guten Bots zählen etwa:

  • Crawler: werden von Suchmaschinen verwendet und ermöglichen SEO und SEM
  • Chatbots: automatisieren und erweitern den Kundenservice
  • Fetcher: sammeln Daten von mehreren Standorten (z. B. Live-Sportveranstaltungen)
  • Pricer: vergleichen Preisinformationen aus verschiedenen Diensten
  • Trader: werden in kommerziellen Systemen verwendet, um das beste Angebot oder den besten Kurs für eine Transaktion zu finden

Böse Bots

Auf der anderen Seite stehen bösartige Bots und die damit zusammenhängenden Sicherheitsrisiken. Das „Open Web Application Security Project“ (OWASP) listet 21 automatisierte Bedrohungen für Anwendungen auf, die nach Geschäftsauswirkungen zusammengefasst werden können:

  • Scraping und Datendiebstahl: Solche Bots versuchen, auf geschützte Bereiche in Webanwendungen zuzugreifen, um sensible Daten wie Zugangsdaten, Zahlungsinformationen und geistiges Eigentum zu erlangen. Eine Methode zum Sammeln solcher Informationen ist das sogenannte Web-Scraping – ein typisches Beispiel dafür ist ein Angriff gegen E-Commerce-Websites, bei dem Bots Lagerbestände blockieren oder sogar vollständig löschen.
  • Performance: Bots können die Verfügbarkeit einer Website beeinträchtigen und sie in einen vollständigen oder teilweisen Denial-of-Service-Zustand versetzen. Der Verbrauch von Ressourcen wie Bandbreite oder Server-CPU führt unmittelbar zu einer Verschlechterung des Kundenerlebnisses, geringeren Konvertierungsraten und einem schlechten Image. Angriffe können volumetrisch (DDoS) sein oder auch nicht (z. B. durch Pufferüberlauf).
  • Verzerrte Analysen: Wenn ein erheblicher Teil der Besucher einer Website fiktiv ist, sind bei Auswertungen verzerrte Ergebnisse zu erwarten. Zudem haben Drittanbieter-Tools, die zur Überwachung des Website-Verkehrs entwickelt wurden, oft Schwierigkeiten, den Bot-Verkehr zu filtern.
  • Betrug und Account-Übernahme: Beim Zugriff auf geleakte Datenbanken (z. B. von Yahoo oder LinkedIn) verwenden Angreifer Bots, um Benutzernamen und Passwörter durchzugehen und Zugang zu Konten zu erhalten. Dann können sie etwa auf zugangsbeschränkte Dateien zugreifen, Skripte einfügen oder unbefugte Transaktionen durchführen.
  • Spam und Malware-Download: Bösartige Bots bedrohen ständig mobile und Webanwendungen. Mit ausgeklügelten Techniken wie dem Spoofing ihrer IPs, der Nachahmung des Benutzerverhaltens (Tastenanschläge, Mausbewegungen), dem Missbrauch von Open-Source-Tools (PhantomJS) und Headless-Browsern (s. a. [kes] 2019#2, S. 10) umgehen Bots Captchas, Challenges und andere Sicherheitsmaßnahmen.

Bedrohungslevel

Im Allgemeinen unterscheidet man zwischen vier Generationen oder Levels bösartiger Bots, die auf unterschiedlichen Techniken aufbauen:

  • Level-1-Bots werden mit einfachem Skripting erstellt und senden cURL-ähnliche Anfragen von einer kleinen Anzahl von IP-Adressen. Solche Bots können durch eine Blacklist von User-Agents (UAs) sowie eine grundlegende Analyse des von einer IP-Adresse ausgehenden Datenverkehrs identifiziert werden. Diesen Bots fehlt typischerweise die Fähigkeit, Cookies zu speichern oder Javascript auszuführen.
  • Level-2-Bots arbeiten über Headless-Browser wie PhantomJS und sind in der Lage, Cookies zu speichern und Javascript auszuführen. Die meisten von ihnen können jedoch anhand ihrer Browser- und Geräteeigenschaften identifiziert werden, wie das Vorhandensein bestimmter Javascript-Variablen, iFrame-Manipulationen, Sitzungen, Cookies und so weiter. Sobald ein solcher Bot identifiziert ist, kann er anhand seines Fingerabdrucks blockiert werden.
  • Level-3-Bots verwenden vollwertige Browser (auch gekaperte) für ihre Operationen. Sie sind auch in der Lage, grundlegende menschenähnliche Interaktionen wie einfache Mausbewegungen und Tastenanschläge zu simulieren. Dies macht es schwierig, diese Bots anhand der Geräte- und Browsereigenschaften zu erkennen. Interaktionsbasierte Benutzer-Verhaltensanalysen können solche Bots hingegen erkennen: So können beispielsweise spezifische Interaktionsmerkmale wie „Bewegung des Mauszeigers in einer geraden Linie“ oder „sehr schnelle Tastenanschläge“ als Anhaltspunkte für solche Bots dienen.
  • Level-4-Bots weisen fortschrittliche menschenähnliche Interaktionsmerkmale auf, beispielsweise das Bewegen des Mauszeigers in zufälligen Mustern statt in geraden Linien. Die Erkennung solcher Systeme anhand einfacher Interaktionsmerkmale wie Mausbewegungsmustern kann zu einer hohen Zahl von Fehlalarmen führen. Überdies agieren solche Bots auch verteilt über zehntausende IP-Adressen. Klassische Techniken sind daher in der Regel unzureichend, um sie zu bekämpfen – hierfür benötigt man vielmehr Bot-Managementsysteme auf Basis von KI beziehungsweise Machine-Learning.

Es bleibt zu betonen, dass auch Erkennungstechniken für Level-3-Bots, also etwa eine Verhaltensanalyse auf Interaktionsebene, nicht ausreichen, um Level-4-Bots präzise zu erkennen. Daher besteht die Notwendigkeit, Verhaltensanalysen auf einer tieferen Ebene durchzuführen: Die Reise des Besuchers durch das Web muss zusätzlich zu den Merkmalen der Interaktionsebene (z. B. Mausbewegungen) analysiert werden. Dazu gehören zusätzliche Signale wie die Reihenfolge der durchlaufenen URLs, verwendete Referrer und die Verweildauer auf jeder Seite. Mit solchen umfassenderen Verhaltensinformationen lässt sich der Besucher dann besser als Mensch oder Bot klassifizieren.

Abbildung 1

Abbildung 1: Vier Ebenen von Bots und die zu ihrer Bekämpfung benötigten Fähigkeiten

Probleme ohne und mit KI

Die Komplexität und Vielfalt von Signalen wie Interaktion und URL-Traversal-Informationen erfordern die Anwendung maschinellen Lernens (vor allem Deep Learning) zur Erfüllung dieser Klassifikationsaufgabe. Um solche Methoden für diese Aufgabe anzuwenden, muss jedoch zunächst eine Reihe von Herausforderungen angegangen werden: Die jüngsten Erfolge des Deep Learning liegen im Bereich des überwachten Lernens, in dem gelabelte Daten (d. h. Daten über den vergangenen Mensch- und Bot-Verkehr) zur Verfügung stehen, um das Modell des maschinellen Lernens zu trainieren. Die direkte Anwendung des überwachten Lernens auf die Bot-Erkennung ist jedoch problematisch.

Werden etwa aktuell verfügbare Daten über Level-4-Bots in einem Level-3-Bot-Erkennungssystem nicht korrekt gekennzeichnet, dann sind in der Regel eine beträchtliche Anzahl von Fehlalarmen beziehungsweise Fehlklassifizierungen die Folge. Ein überwachtes Lernmodell, das mit Level-3-Daten trainiert wird, wird die gleichen Probleme haben wie die Bot-Erkennungstechniken der Stufe 3, da die Leistung des Modells in direktem Zusammenhang mit der Qualität der verfügbaren Daten steht.

Ein weiteres Problem ist die Bot-Mutation: Wenn ein Bot erkannt und blockiert wird, ändert er seine Eigenschaften, um seine Ausweichmöglichkeiten zu verbessern. Ein grundlegendes, überwachtes Lernmodell, das man unter Verwendung früherer Daten trainiert, wird Schwierigkeiten haben, solche Mutationen zu erkennen. Nicht zuletzt erfordert die Bekämpfung bösartiger Level-4-Bots eine gründliche Analyse der Taktiken und Absichten von Bots.

Bot-Management-Tools unterscheiden sich stark in ihren Erkennungsmethoden: Viele haben – wenn überhaupt – sehr begrenzte automatisierte Reaktionsfunktionen. Gute Tools müssen die Absichten automatisierten Datenverkehrs jedoch in Echtzeit bestimmen, um zwischen guten und schlechten Bots zu unterscheiden. Nach dem Bericht „The Forrester New Wave: Bot Management (Q3 2018)“ von Forrester Research sind Angriffserkennung, Angriffsreaktion und Threat-Intelligence die größten Differenzierungsmerkmale bei Bot-Management-Lösungen.

Bot-Management-Funktionen

Ein wesentliches Leistungsmerkmal von Bot-Management-Systemen ist die Bandbreite möglicher Reaktionsmaßnahmen – beispielsweise das Blockieren oder Begrenzen von Bots, die Fähigkeit, Wettbewerber durch die Bereitstellung gefälschter Daten zu überlisten, und die Möglichkeit, benutzerdefinierte Aktionen basierend auf Bot-Signaturen und -Typen durchzuführen. Flexible Lösungen ermöglichen es dabei, unterschiedliche Mitigationsansätze für verschiedene Abschnitte und Subdomains einer Website zu wählen und bieten die Möglichkeit, nur mit einer bestimmten Teilmenge von Seiten zu agieren. Das ist etwa sinnvoll in einem „Monitor-Modus“, in dem während einer Testphase der Traffic nur beobachtet wird, ohne ihn zu blockieren. Sinnvoll ist darüber hinaus die Integration in beliebte Analyse-Dashboards wie Adobe oder Google Analytics, um Berichte über den nichtmenschlichen Datenverkehr zu erstellen.

Ein weiteres Unterscheidungsmerkmal von Bot-Management-Lösungen ist die zugrunde liegende Technik, die verwendet wird, um komplexe Angriffe zu identifizieren und zu verwalten, etwa groß angelegte verteilte Botnet-Angriffe und „Low and Slow“-Angriffe, die versuchen, Sicherheitsmaßnahmen zu umgehen. Klassische Abwehrsysteme verfügen meist nicht über die notwendigen Erkennungsfunktionen, um solchen Angriffen entgegenzuwirken. Dynamische IP-Angriffe machen IP-basierte Abwehrmaßnahmen nutzlos.

Ein durchsatzbegrenzendes System ohne Verhaltensanalyse und Lernfunktionen kann bedeuten, dass auch Verbindungen echter Kunden bei Angriffen fallen gelassen werden. Einige WAFs und ratenbegrenzende Systeme, die oft zusammen mit Content-Delivery-Networks (CDNs) gebündelt werden, sind nicht in der Lage, anspruchsvolle Bots zu erkennen, die menschliches Verhalten nachahmen. Solche Bots erfordern fortschrittlichere Techniken in der Erkennung und Reaktion und eine Kombination verschiedener Erkennungsmethoden – beispielsweise von Geräte-/Browser-Fingerabdruck, Absichts- und Verhaltensanalysen sowie Threat-Intelligence.

Zuverlässige Erkennung

Entscheidend ist bei einer Bot-Management-Lösung letztlich die Genauigkeit der Bot-Erkennung: Dabei geht es nicht nur darum, gute Bots von bösartigen zu unterscheiden, sondern auch um die Verbesserung der Benutzerfreundlichkeit ohne erhöhte Latenzzeiten – und darum, autorisierte Bots von Suchmaschinen und Partnern zuzulassen. Die Aufrechterhaltung einer konsistenten Benutzererfahrung auf Websites wie B2C-E-Commerce-Portalen kann zu Spitzenzeiten schwierig sein, weshalb in solchen Anwendungen ein hohes Maß an Skalierbarkeit notwendig ist.

Ebenso wichtig ist es, False Positives auf einem minimalen Niveau zu halten, um sicherzustellen, dass die Benutzerfreundlichkeit nicht beeinträchtigt wird. Menschliche Benutzer sollten eigentlich nie ein Captcha lösen oder beweisen müssen, dass sie kein Bot sind! Eine Bot-Erkennung der Enterprise-Klasse sollte über tiefgehende Lern- und Selbstoptimierungsfähigkeiten verfügen, um sich ständig entwickelnde Bots zu identifizieren und zu blockieren, die ihre Eigenschaften ändern, um die Erkennung durch grundlegendere Sicherheitssysteme zu umgehen.

Echte Bot-Verwaltung geht zudem über die reine Website hinaus: Eine unternehmensweite Lösung sollte alle Online-Ressourcen schützen, einschließlich mobiler Anwendungen und APIs. Außerdem ist die Interoperabilität mit Systemen von Geschäftspartnern und wichtigen APIs von Drittanbietern bedeutsam. Und nicht zuletzt muss sich die Lösung natürlich in die bestehende Infrastruktur integrieren lassen (etwa in CDNs und WAFs) sowie mit verschiedenen Technologiestacks und Applikationsservern zu betreiben sein.

Vollständige Automatisierung

Beliebte Websites können Millionen Anfragen pro Minute erhalten, und die Bot-Erkennung muss in Echtzeit erfolgen – das macht manuelle Eingriffe unmöglich. Selbst das Hinzufügen verdächtiger IP-Adressbereiche ist nutzlos, da moderne Bots eine große Zahl von Adressen verwenden, um der Erkennung zu entgehen. Daher ist es eine Schlüsselfrage, ob die Lösung ein spezialisiertes Team benötigt, um sie zu verwalten, oder ob sie nach der Erstinstallation autonom arbeitet. Mitigationslösungen, die auf fortschrittlichen Verfahren wie maschinellem Lernen basieren, helfen bei der Automatisierung des Managements, um den Zeit- und Personalaufwand für die Verwaltung von Bots erheblich zu reduzieren. Automatisierte Reaktionen auf Bedrohungen und ein System, das keine manuellen Eingriffe erfordert, reduzieren die Gesamtbetriebskosten erheblich.

Fazit

Derzeitige Methoden zur Bot-Erkennung und -Klassifizierung sind meist nicht genug, um den Bedrohungen durch sich schnell entwickelnde und mutierende, anspruchsvolle Bots zu begegnen. Bot-Erkennungstechniken, die eine interaktionsbasierte Verhaltensanalyse verwenden, können zwar Level-3-Bots identifizieren, erkennen aber nicht die fortgeschrittenen Level-4-Bots, die über menschenähnliche Interaktionsmöglichkeiten verfügen. Die Nichtverfügbarkeit korrekt gelabelter Daten für Level-4-Bots, Bot-Mutationen und das anomale Verhalten menschlicher Besucher aus unterschiedlichen Branchen/Domänen erfordern die Entwicklung „semisupervisierter“ Modelle, die auf einer höheren Ebene der Abstraktion arbeiten als die interaktionsbasierte Verhaltensanalyse.

Michael Tullius ist Regional Director DACH bei Radware.

Diesen Beitrag teilen: