Von Anfang an hat Cloudflare böswillige Bots am Scraping von Websites und Missbrauch von APIs gehindert. Im Laufe der Zeit haben wir unsere Bot-Erkennungsmethoden verbessert und umfassende Maschinenlernmodelle eingesetzt, die echten Traffic (von Menschen oder Apps) von böswilligen Bots unterscheiden können. Wir haben auch einen großen Katalog von guten Bots aufgebaut, damit wir nützliche Dinge wie die Indizierung durch Suchmaschinen erkennen können.

Aber das reicht nicht. Böswillige Bots sind weiterhin ein Problem im Internet, und wir haben beschlossen, sie zu bekämpfen. Ab heute können unsere Kunden in den Firewall-Einstellungen ihres Cloudflare-Dashboards den „Bot-Bekämpfungsmodus“ aktivieren.

Wenn dieser aktiviert ist und wir einen böswilligen Bot erkennen, werden wir drei Dinge tun: 1. Wir werden dem Entwickler des Bots den wirtschaftlichen Anreiz nehmen, indem wir ihn in eine sogenannte „Teergrube“ locken. Dabei verlangen wir von den Bots, eine rechenintensive Aufgabe zu lösen, die ihre CPU-Zeit beansprucht. 2. Wir geben die IP des Bots an unsere Partner aus der Bandwidth Alliance weiter und sorgen dafür, dass der Bot aus dem Netz geworfen wird. 3. Wir werden Bäume pflanzen, um die Kohlenstoffkosten auszugleichen, die der Bot verursacht hat.

Böswillige Bots schaden legitimen Web-Anbietern und Anwendungen, missbrauchen die Ressourcen von Hosting-Anbietern und fügen sogar unserem Planeten Schaden zu, denn Bots und ihre Opfer verbrauchen Strom für Server und Kühlung.

Es reicht! Wir wollen nicht mehr und nicht weniger erreichen, als den Betrieb eines schädlichen Bots im Internet unwirtschaftlich zu machen. Und wir glauben, dass wir das dank unserer Größe auch schaffen können.

So erkennt Cloudflare Bots

Cloudflares Geheimrezept (na gut, so geheim auch wieder nicht) ist unsere gewaltige Größe.  Derzeit verarbeiten wir den Traffic für über 20 Millionen Internetauftritte, von kleinen privaten Websites über Backend-APIs für beliebte Apps und IoT-Geräte bis hin zu einigen der bekanntesten Namen im Internet (einschließlich 10 % der umsatzstärksten 1.000 amerikanischen Unternehmen).

Durch diese Größenordnung sind wir im Vorteil. Wir erleben beim Traffic eine solche Menge und Vielfalt, dass wir große Maschinenlernmodelle über das Internetverhalten aufbauen können. Durch die Größe und Vielfalt können wir neue Regeln und Modelle schnell und mühelos testen.

Unsere Bot-Erkennung besteht aus vier Hauptkomponenten:

  • Identifizierung bekannter legitimer Bots;
  • Manuell aufgestellte Regeln für einfache, aber täglich genutzte Bots;
  • Unser Erkennungsmodell für Bot-Aktivitäten, das das Verhalten von Bots auf der Grundlage früheren Traffics erkennt und sie blockiert; und
  • Unser Trusted-Client-Modell, das erkennen kann, ob ein HTTP-User-Agent das ist, was er zu sein vorgibt.

Darüber hinaus kann unser DDoS-Abwehrsystem Gatebot DDoS-Bots identifizieren und deren Traffic auf Paketebene blockieren. Neben Gatebot haben Kunden auch Zugang zu unseren Firewall-Regeln. Sie können granulare Regeln aufstellen, um ganz spezifische Angriffstypen abzuwehren.

Mithilfe eines anderen Modells können wir ermitteln, ob eine IP-Adresse zu einem VPN-Endpunkt, einem privaten Breitband-Abonnenten, einem NAT-Unternehmensanwender oder einem Hosting- oder Cloud-Anbieter gehört. Auf diese letzte Gruppe zielt die „Bot-Abwehr“ ab.

Heute nimmt sich Cloudflare mehr als 3 Milliarden Bot-Anfragen pro Tag vor. Für einige dieser Bots werden wirklich schlechte Zeiten anbrechen.

So kämpft Cloudflare gegen Bots

Die Kosten für den Start eines Bot-Angriffs sind die Kosten für die CPU-Zeit, die der Angriff erfordert. Wenn unsere Modelle zeigen, dass der Traffic von einem Bot kommt und dieser auf einem Hosting- oder Cloud-Anbieter ausgeführt wird, setzen wir CPU-intensiven Code ein, der den Bot-Schreiber zwingt, mehr CPU-Zeit zu verbrauchen, und ihn langsamer macht. Indem wir den Angreifer zwingen, mehr CPU-Zeit zu nutzen, verteuern wir den Angriff für ihn und schrecken zukünftige Angreifer ab.

Dies ist eine der vielen sogenannten „Teergruben“-Techniken („Tarpitting“), mit denen wir jetzt in unserem Netzwerk dafür sorgen, dass der Betrieb böswilliger Bots unwirtschaftlich wird. Betreiber böswilliger Bots seien gewarnt: Wenn Sie es auf Ressourcen abgesehen haben, die im IP-Bereich von Cloudflare liegen, werden wir Ihren Motor zum Kochen bringen.

Jede Minute, in der wir böswillige Bots beschäftigen, ist eine Minute, in der sie dem Internet als Ganzes nicht schaden. Das bedeutet, dass wir nicht nur unsere eigenen Kunden schützen, sondern jeden, der derzeit von böswilligen Bots terrorisiert wird. Gerade zur Geburtstagswoche ist es Cloudflare immer darum gegangen, dem Internet als Ganzes etwas zurückzugeben, und wir können uns kein besseres Geschenk vorstellen, als das Internet von böswilligen Bots zu befreien.

Abgesehen davon, dass wir Bots die Zeit stehlen, möchten wir sie auch ganz stoppen. Wenn der Infrastrukturanbieter, bei dem der Bot gehostet wird, zur Bandwidth Alliance gehört, geben wir die IP-Adresse des Bots an ihn weiter, damit er den Bot vollständig herunterfahren kann. Durch die Bandwidth Alliance können wir die Transitkosten mit Partnern senken, und mit dieser Neuheit können wir nun auch gemeinsam daran arbeiten, das Internet für legitime Nutzer sicherer zu machen.

Jeder, dem wir bisher vom Bot-Bekämpfungsmodus erzählt haben, fand die Idee prinzipiell gut. Allerdings gab es einen Einwand: Wenn wir Bots dazu zwingen, CPU-intensive Aufgaben zu lösen, könnten wir zu mehr CO2-Ausstoß beitragen. Jedenfalls kurzfristig, bevor die Bots aufgeben, was unserer Ansicht nach langfristig unausweichlich ist. Als Ausgleich für diese Emissionen haben wir uns verpflichtet, die zusätzliche CPU-Nutzung durch diese Bots zu schätzen, den damit verbundenen CO2-Ausstoß zu berechnen und dann entsprechend viele Bäume zu pflanzen und so zu einer besseren Zukunft beizutragen.

Bäume pflanzen

Angesichts des Klimawandels müssen Menschen und Unternehmen vielerlei Anstrengungen unternehmen. Cloudflare hat zu Jahresbeginn bekanntgegeben, den Einkauf von Zertifikaten für erneuerbare Energien (die zuvor unsere Aktivitäten in Nordamerika abdeckten) auf sein gesamtes globales Netzwerk von 194 Städten ausgeweitet zu haben.

Um herauszufinden, wie viele Bäume wir pflanzen müssen, berechnen wir die Kosten für die zusätzliche CPU-Zeit für den schwer arbeitenden Bot. Das funktioniert so:

Ausgehend von 450 kg CO2/Jahr (Quelle: https://www.goclimateneutral.org/blog/the-carbon-footprint-of-servers/) für die Servertypen, die ein böswilliger Bot verwenden könnte (Cloud-Server mit einer nicht erneuerbaren Energiequelle), erhalten wir ca. 8 kg CO2/Jahr pro CPU-Kern. Wir können messen, wie lange ein Bot die CPU beansprucht, und so direkt die CO2-Menge schätzen, die wegen unserer Bekämpfungsmaßnahmen zusätzlich emittiert wird.

Laut One Tree Planted kann ein einziger ausgewachsener Baum etwa 21 kg CO2/Jahr aufnehmen. Das heißt, jeder Baum absorbiert grob geschätzt CO2 im Wert von 2,5 CPU-Kernen.

Da Bäume Zeit brauchen, um zu wachsen, und einfach weil die Herausforderung durch den Klimawandel so groß ist, werden wir noch mehr Baumanpflanzungen bezahlen. Für jeden Baum, den wir nach unserer Berechnung anpflanzen müssten, um die CO2-Emissionen durch die Bot-Bekämpfung auszugleichen, werden wir 25 US-Dollar an One Tree Planted spenden, die damit 25 Bäume pflanzen.

Und natürlich werden wir die IPs böswilliger Bots an unsere Bandwidth-Alliance-Partner weitergeben, um die Bots herunterzufahren und ihren CO2-Verbrauch vollständig zu unterbinden. In der Vergangenheit hat es die Technik-Community geschafft, E-Mail-Spammer und DDoS-for-hire-Anbieter weitgehend zu besiegen. Das gelang, weil der wirtschaftliche Nutzen dieser Aktivitäten ausgetrocknet wurde. Wir glauben, dass dies auch die richtige Strategie gegen böswillige Bots ist.

Wem schaden Bots?

Böswillige Bots können der Infrastruktur unserer Kunden erheblichen Schaden zufügen und bei den Nutzern unserer Kunden einen schlechten Eindruck hinterlassen.

Bei einem neuen Kunden wurde beispielsweise das Anmeldeformular durch einen Ausfüllangriff lahmgelegt („credential stuffing“). Dabei wurde nicht nur versucht, die Benutzerkonten zu kompromittieren, sondern der Angriff hatte ein solches Ausmaß, dass die Wirkung schon einem kleineren Denial-of-Service-Angriff auf die gesamte Website des Kunden entsprach.

Der böswillige Bot überlastete die herkömmliche Infrastruktur des Kunden zur Abwehr solcher Bedrohungen. Wir stuften ihn sofort als angegriffenen Kunden („Under Attack“) ein. Im Rahmen dieser Einstufung haben wir festgestellt, dass der Angriff mit unserem Bot-Managementprodukt gezielt vereitelt werden kann, ohne dass sich dies auf den Traffic legitimer Benutzer auswirkt.

Ein weiterer Trend, den wir erlebt haben, ist die Zunahme der Kombination aus Bots und Botnets. Das gilt vor allem bei Bots, die dem „Inventory Hoarding“ dienen, also dem Aufkaufen von Warenbeständen. Betreiber von Bots dieser Art sind motiviert und bereit, zu bezahlen.

Ziele sind normalerweise Waren, bei denen das Angebot begrenzt, Nachfrage und Wert aber hoch sind. Das können zum Beispiel Sneaker, Konzerttickets, Flüge oder beliebte, kurz laufende Broadway-Musicals sein. Bot-Betreiber, die diese Artikel im Einzelhandel kaufen können, erzielen im Aftermarket-Verkauf satte Aufpreise. Wenn der Bot-Betreiber eine Website, z. B. einen E-Commerce-Händler, und einen bestimmten Artikel, z. B. ein neues Paar Sneaker im Sonderangebot, für seinen Angriff ausgemacht hat, kann er auf dem neuen Markt für Residential Proxy as a Service Zeit kaufen, sich Zugang zu Computern von Endbenutzern verschaffen und damit an (relativ) saubere IPs herankommen, von denen aus der Angriff gestartet wird.

Mithilfe ausgeklügelter Techniken und Trigger werden dann die Eigenschaften der Maschine, des Netzwerks und der Software, die für den Angriff eingesetzt werden, geändert. Dabei werden sehr viele Optionen und Kombinationen erzeugt, wodurch Systeme, die sich auf Wiederholungen und bekannte Muster stützen, getäuscht werden. Durch diese Art von Angriff werden gleich mehrere Ziele geschädigt: erstens die E-Commerce-Website, deren Benutzer frustriert sind, weil sie den gefragten Artikel nicht kaufen können. Zweitens die echten Benutzer, die für die Waren an einen Angreifer zahlen, der nur den größtmöglichen Profit kassieren möchte. Und drittens die ahnungslosen Anwender, die für das Botnet ausgenutzt werden und deren Ressourcen, zum Beispiel ihre Breitbandverbindung zu Hause, ohne ihre Zustimmung oder ihr Wissen benutzt werden.

Unter dem Strich schaden Bots Unternehmen und ihren Kunden.

Zusammenfassung

Cloudflare hat böswillige Bots von Anfang an bekämpft und im Laufe der Zeit immer anspruchsvollere Methoden gegen sie entwickelt. Mit der Leistungsfähigkeit der über 20 Millionen Internetauftritte, die wir schützen und beschleunigen, und unserem Überblick über Netzwerke und Benutzer auf der ganzen Welt haben wir Maschinenlernmodelle aufgebaut, die gute und böse Bots unterscheiden und letztere blockieren.

Aber Bots sind weiterhin ein Problem, und unser neuer Bot-Bekämpfungsmodus wird den Anreiz, Kunden mit Bots anzugreifen, unmittelbar verringern. Gleichzeitig wollen wir nicht zum Klimawandel beitragen, deshalb pflanzen wir Bäume zum Ausgleich der CO2-Emissionen durch Bots. Für eine bessere Zukunft (und ein besseres Internet).