Depuis le début, Cloudflare bloque les bots malveillants qui tentent de scraper les données de sites Web ou d'utiliser les API à mauvais escient. Au fil du temps, nous avons amélioré nos méthodes de détection des bots et déployé de grands modèles d'apprentissage automatique capables de distinguer le trafic réel (provenant d’utilisateurs humains ou d’applications) des robots malveillants. Nous avons également créé un grand catalogue de bons bots pour détecter, par exemple, l'indexation utile par les moteurs de recherche.

Mais ce n'est pas suffisant. Les bots malveillants sont toujours un problème sur Internet et nous avons décidé de passer à l’offensive. À partir d'aujourd'hui, les clients ont la possibilité d'activer le « bot fight mode » (mode de lutte contre les bots) dans les paramètres du pare-feu de leur tableau de bord Cloudflare.

Une fois activé, lorsque nous détectons un bot malveillant, nous ferons trois choses : (1) nous allons dissuader le fabricant du bot sur le plan économique par la technique de la répulsion , y compris en les forçant à résoudre des calculs intenses qui occuperont le CPU de leur bot ; (2) concernant lespartenaires Bandwidth Alliance, nous remettront l'IP du bot au partenaire et le bloquerons ; (3) nous allons planter des arbres pour compenser le coût carbone du bot.

Les bots malveillants nuisent aux éditeurs et aux applications web légitimes, ils portent préjudice aux hébergeurs en mobilisant inutilement des ressources. Par ailleurs, ils sont doublement préjudiciables pour la planète en raison du coût de l'électricité nécessaire pour les serveurs et pour refroidir leurs bots et leurs victimes.

Trop, c'est trop. Notre objectif est de faire en sorte que l’exploitation d’un bot malveillant sur Internet ne soit plus viable. Et nous pensons qu'à notre échelle, nous pouvons le faire.

Comment Cloudflare détecte les bots

La botte secrète de Cloudflare (mais elle n’est pas aussi secrète que cela) est notre grande échelle.  Nous traitons actuellement le trafic de plus de 20 millions de propriétés Internet depuis les plus petits sites Web personnels jusqu’à certains des noms les plus connus sur Internet (y compris 10 % des grandes entreprises du Fortune 1000), en passant par les API principal pour les applications populaires et les appareils IoT.

Cette échelle nous procure un avantage énorme, en ce que nous voyons une énorme quantité et une grande variété de trafic, ce qui nous permet de construire de grands modèles d'apprentissage automatiques du comportement sur Internet. Cette échelle et cette variété nous permettent de tester rapidement et facilement de nouvelles règles et de nouveaux modèles.

Notre détection de bots repose sur quatre éléments principaux :

  • L’identification des bots légitimes bien connus ;
  • Les règles écrites à la main pour des bots simples qui, aussi simples soient-ils, sont utilisées tous les jours ;
  • Notre modèle de détecteur d'activité de bots, qui repère le comportement des bots en fonction du trafic passé et les bloque ;
  • Notre modèle de client de confiance qui indique si un utilisateur-agent HTTP est ce qu'il prétend être.

En outre, Gatebot, notre système de prévention DDoS, repère les empreintes DDoS des bots et bloque leur trafic au niveau des paquets. Au-delà de Gatebot, les clients ont également accès à nos règles de pare-feu, dans lesquelles ils peuvent écrire des règles granulaires pour bloquer des types d'attaque très spécifiques.

Un autre modèle nous permet de déterminer si une adresse IP appartient à un point de terminaison VPN, un abonné haut débit, une entreprise utilisant NAT ou un hébergeur ou encore un fournisseur de cloud. C'est ce dernier groupe que « Bot Cleanup » cible.

Aujourd'hui, Cloudflare est confronté à plus de 3 milliards de demandes de bots par jour. Certains de ces bots vont passer un très mauvais quart d’heure.

Comment Cloudflare lutte contre les bots

Le coût du lancement d'une attaque de bots comprend la dépense correspondant au temps CPU qui génère l'attaque. Si nos modèles montrent que le trafic provient d'un bot et qu’il se trouve chez un hébergeur ou un fournisseur de cloud, nous allons déployer du code CPU intensif pour que le créateur de bot utilise plus de CPU, et de cette manière nous les ralentissons. En forçant l'assaillant à utiliser plus de CPU, nous augmentons le coût de l’attaque et le dissuadons d’en faire d’autres à l’avenir.

C'est l'une des nombreuses techniques de « répulsion » que nous déployons actuellement sur notre réseau pour que l'exécution d'un bot malveillant ne soit pas viable économiquement. Opérateurs de bots malveillants vous n’avez qu’à bien vous tenir : si vous ciblez les ressources derrière l'espace IP de Cloudflare, nous vous neutraliserons.

Chaque minute au cours de laquelle nous bloquons un bot malveillant est une minute pendant laquelle il ne nuira à personne sur Internet. Cela signifie que nous protégeons non seulement nos clients, mais aussi toutes les personnes en ligne qui sont ciblées par des bots malveillants. L'esprit de la Semaine anniversaire de Cloudflare a toujours été de faire revivre Internet dans son ensemble, et nous ne pouvons imaginer meilleur cadeau que de débarrasser Internet des bots malveillants.

Au-delà de la simple perte de temps avec les bots, nous voulons aussi les éliminer. Si le fournisseur d'infrastructure hébergeant le bot fait partie de la Bandwidth Alliance, nous partagerons l'adresse IP du bot, afin qu'il puisse le bloquer complètement. La Bandwidth Alliance nous permet de réduire les frais de transit avec nos partenaires et, avec ce lancement, nous aide également à travailler avec eux pour rendre Internet plus sûr pour les utilisateurs légitimes.

En général, toutes les personnes pour qui nous avons exécuté le Bot Fight Mode ont trouvé que c'était une excellente idée. La seule objection que nous avons entendue est la suivante : lorsque nous forçons les CPU des bots à résoudre des calculs intensifs à court terme, avant qu'ils ne renoncent (ce qui, à notre avis, est inévitable à long terme), nous augmentons selon toute vraisemblance les émissions de carbone. Pour lutter contre ces émissions, nous nous engageons à évaluer les ressources CPU supplémentaires utilisées par ces bots, à calculer leur coût carbone, puis à planter des arbres en compensation pour construire un avenir meilleur.

Planter des arbres

Faire face au changement climatique implique de nombreux efforts de la part des personnes et des entreprises. Cloudflare a annoncé plus tôt cette année que nous avions élargi nos achats de Certificats d'énergie renouvelable (qui couvraient auparavant nos activités en Amérique du Nord) à l'ensemble de notre réseau mondial de 194 villes.

Pour comprendre combien d'arbres nous devons planter, nous devons calculer le coût du CPU supplémentaire utilisé lorsque le bot travaille intensément. Voici comment cela va fonctionner.

En utilisant un chiffre de 450 kg de CO2/an (d’après https://www.goclimateneutral.org/blog/the-carbon-footprint-of-servers/) pour les types de serveur qu'un bot malicieux utilise (serveur cloud utilisant une source d'énergie non renouvelable), nous obtenons environ 8 kg de CO2/an par cœur de processeur. Nous sommes en mesure de mesurer le temps que les bots passent à faire tourner inutilement leurs processeurs. Nous pouvons donc estimer directement la quantité de CO2 émise par notre riposte.

Selon One Tree Planted, un seul arbre arrivé à maturité peut absorber environ 21 kg de CO2 par an. Ainsi, de manière très approximative, chaque arbre peut absorber la valeur d'une année de CO2 à partir de 2,5 cœurs de processeur.

Puisque les arbres mettent du temps à mûrir et en raison de l’ampleur du défi du changement climatique, nous allons payer pour planter des arbres. Pour chaque arbre que nous devrions planter, selon nos calculs, pour séquestrer les émissions de CO2 dues à la lutte contre les bots, nous allons faire un don de 25 $ à One Tree Planted pour planter 25 arbres.

Et, bien sûr, nous allons remettre les adresses IP des mauvais bots à nos partenaires de Bandwidth Alliance pour bloquer ces bots et compenser entièrement leur coût carbone. Dans le passé, la communauté technologique a largement vaincu les spammeurs de messagerie et les services DDoS-for-hire en annihilant leurs efforts, et nous pensons que c'est la bonne stratégie pour vaincre dès maintenant les bots malveillants une fois pour toute.

À qui les bots portent-il atteinte ?

Les bots malveillants peuvent causer des dommages importants à l'infrastructure de nos clients et entraîner, par ailleurs, de mauvaises expériences pour les utilisateurs de nos clients.

Par exemple, un client récent a été paralysé par une attaque de « credential stuffing » qui essayait, non seulement, de compromettre les comptes de leurs utilisateurs, mais le faisait dans des proportions si importantes qu'il causait effectivement un déni de service à petite échelle sur tous les aspects du site Web du client.

Le bot malveillant surchargeait l'infrastructure conventionnelle de prévention des menaces du client, et nous l’avons rapidement intégré comme client Under Attack. Dans le cadre de l'intégration, nous avons identifié que l'attaque pouvait être combattue en utilisant notre produit Bot Management, sans créer impact sur le trafic utilisateur légitime.

L'augmentation de la combinaison de bots avec des botnets est une autre tendance que nous avons remarquée, en particulier les armadas de bots malveillants qui raflent les stocks. La motivation et la volonté de dépenser de ces opérateurs de bot sont assez élevées.

Les biens ciblés sont généralement des fournitures limitées, à forte demande et à forte valeur. Par exemple, des baskets, des places de concert, des billets d'avion ou des comédies musicales populaires de Broadway. Les opérateurs de bots qui sont en mesure d'acheter ces articles au détail peuvent facturer des primes massives en le revendant sur des marchés secondaires. Lorsque ces opérateurs identifie un site cible, par exemple un détaillant de commerce électronique et un article spécifique, comme une nouvelle paire de baskets sur le marché, ils peuvent acheter du temps sur le nouveau proxy résidentiel en tant que marché de Service pour accéder aux machines des utilisateurs finaux et ainsi nettoyer (relativement) les adresses IP à partir desquelles ils lancent leur attaque.

Ils utilisent ensuite des techniques sophistiquées et des déclencheurs pour changer les caractéristiques de la machine, le réseau et le logiciel qu'ils utilisent pour générer l'attaque à travers un très large éventail d'options et de combinaisons, en contrecarrant les systèmes qui reposent sur la répétition ou d’autres modèles connus. Ce type d'attaque fait également mal à plusieurs cibles : le site de commerce en ligne voient ses vrais utilisateurs frustrés de ne pas pouvoir acheter l’article désiré. Les vrais utilisateurs qui perdent du stock au profit d’un assaillant qui est juste là pour tirer le plus grand bénéfice possible. Et les utilisateurs involontaires qui font partie du botnet voient leurs ressources, telles que leur connexion haut débit, utilisées à leur insu et sans leur consentement.

Le facteur commun de tout cela est que les bots nuisent aux entreprises et à leurs clients.

Résumé

Cloudflare a combattu les bots malveillants dès le début et, au fil du temps, a déployé des méthodes de plus en plus sophistiquées pour les bloquer. En utilisant la puissance de plus de 20 millions de propriétés Internet, nous protégeons et développons notre visibilité des réseaux et des utilisateurs à travers le monde. Nous avons construit des modèles d'apprentissage machine qui trient les bot en reconnaissent les bons bots et en bloquant les mauvais.

Mais les bots sont toujours un problème et notre nouveau Bot Fight mode dissuadera directement les créateurs de bots d'attaquer les clients. En même temps, nous ne voulons pas contribuer au changement climatique et compenserons le coût carbone des bots en plantant des arbres pour absorber le carbone et aider à construire un avenir et un Internet meilleurs.