Qu’est-ce Qu’un Botnet ?

Un botnet est un ensemble d’ordinateurs compromis supervisés via un canal de commande et contrôle. La personne qui exploite l’infrastructure de commande et contrôle, à savoir le maître des robots ou botmaster, utilise ces ordinateurs compromis, ou robots, pour lancer des attaques destinées à faire tomber le réseau d’une cible, à injecter des logiciels malveillants, à collecter des identifiants ou à exécuter des tâches gourmandes en puissance de calcul.

Un botnet est composé de trois éléments principaux :

  1. Les robots
  2. Les serveurs de commande et contrôle
  3. L’opérateur du botnet

Comment les cyberadversaires utilisent-ils les attaques par Botnets ?

Imaginez que vous disposiez d’une armée de collaborateurs qui vous aident à atteindre vos objectifs, bienveillants ou non. C’est précisément ce que représente un botnet aux yeux des cyberadversaires. Une attaque par botnet peut s’appuyer sur plusieurs centaines, voire plus d’un million de terminaux infectés qui exécutent tous un code malveillant pour le compte du maître des robots.

Un cyberadversaire n’a pas besoin d’être un génie de l’informatique pour exploiter un botnet. En effet, ceux-ci sont en vente sur le Dark Web pour environ 30 dollars et peuvent être loués pour 10 dollars de l’heure (avec des remises pour les commandes groupées). Pour les cyberattaquants plus expérimentés, de nombreux tutoriels sont disponibles sur le Web légitime et sur YouTube, tandis que le Dark Web propose des leçons plus détaillées pour environ 50 dollars.

Il est difficile d’identifier (et donc de poursuivre) un maître des robots. En effet, il n’est pas facile de remonter jusqu’au serveur de commande et contrôle d’une attaque par botnet dans la mesure où ce sont les ordinateurs piratés de ce réseau qui mènent l’attaque proprement dite.

Une fois qu’un cyberadversaire a pris le contrôle d’un botnet, les possibilités d’actions malveillantes sont nombreuses. Un botnet peut être utilisé pour mener divers types d’attaques, notamment :

1. Phishing

Les réseaux de robots peuvent être utilisés pour distribuer des logiciels malveillants via des e-mails de phishing. Comme les réseaux de robots sont automatisés et constitués d’un grand nombre de robots, il est difficile de mettre fin à une campagne de phishing : dès qu’un ordinateur est neutralisé, un autre prend le relais.

2. Attaque par déni de service distribué (DDoS)

Au cours d’une attaque par déni de service distribué (DDoS), le botnet inonde de requêtes le serveur ou l’application cible, qui ne parvient pas à les gérer et finit par planter. Les attaques DDoS de la couche réseau utilisent des inondations SYN (SYN flood), des inondations UDP (UDP flood), l’amplification DNS et d’autres techniques conçues pour consommer la bande passante de la cible et empêcher le traitement des requêtes légitimes. Les attaques DDoS de la couche application utilisent les inondations HTTP (HTTP flood), les outils Slowloris ou RUDY, les attaques zero day ou d’autres attaques qui ciblent les vulnérabilités d’un système d’exploitation, d’une application ou d’un protocole afin de faire planter une application particulière.

Nombre d’entre nous se souviennent de l’attaque DDoS de grande ampleur menée par le botnet Mirai. Mirai est un botnet IoT composé de plusieurs centaines de milliers de terminaux IoT compromis, qui, en 2016, a fait tomber des services comme OVH, DYN et Krebs on Security.

3. Cryptopiratage

Les cryptomonnaies sont « minées » par des ordinateurs qui gagnent des parts de monnaie en résolvant des équations mathématiques chiffrées. Cependant, les calculs consomment beaucoup d’électricité. En effet, le minage de bitcoins à lui seul consomme autant d’énergie que la Suisse entière et, si l’on tient compte de toutes les dépenses liées au minage de cryptomonnaie, il est trois fois plus cher de miner de la cryptomonnaie que d’extraire de l’or. Il est dès lors beaucoup plus rentable pour les cybercriminels de faire supporter le coût à un tiers en prenant le contrôle de ses ressources.

4. Espionnage du trafic réseau

Les réseaux de robots peuvent être utilisés pour surveiller le trafic réseau, soit de façon passive pour recueillir des renseignements de cyberveille et voler des identifiants, soit de façon active pour injecter du code malveillant dans le trafic HTTP. L’espionnage du système de noms de domaine (DNS) consiste à corréler les adresses IP aux noms de domaine contenus dans la base de données dynamique ou dans une liste locale afin de découvrir les requêtes effectuées ou d’identifier soit les domaines susceptibles de constituer les meilleures cibles pour une attaque par empoisonnement du cache, soit les domaines mal orthographiés qu’il pourrait être intéressant d’enregistrer.

5. Bricking

Une attaque de bricking consiste à supprimer un logiciel d’un appareil IoT dont la sécurité est faible, de façon à rendre ce dernier inutilisable. Les cybercriminels peuvent recourir aux attaques de bricking dans le cadre d’une attaque en plusieurs phases. Par exemple, ils suppriment le logiciel de certains appareils pour dissimuler les indices qu’ils peuvent avoir laissés lors du lancement de l’attaque initiale. Le bricking empêche les experts en investigations informatiques de déceler les traces des logiciels malveillants utilisés par le botnet susceptibles de fournir des informations sur l’identité des cyberattaquants, leur mode opératoire ou les motifs de l’attaque initiale.

6. Robots générateurs de spam

Les robots générateurs de spam récoltent des adresses e-mails sur les sites web, les forums, les livres d’or, les salons de discussion et partout où les utilisateurs saisissent leur adresse e-mail. Une fois acquises, ces adresses e-mails sont utilisées pour créer des comptes et envoyer des messages de spam. D’après les spécialistes, plus de 80 % du spam provient de réseaux de robots.

Quels sont les différents types de Botnets ?

Les réseaux de robots peuvent être classés en deux catégories :

  • Modèle client-serveur centralisé
  • Modèle peer-to-peer (P2P) décentralisé

Modèle centralisé

visual depiction of a centralized botnet structure

La première génération de réseaux de robots s’appuyait sur une architecture client-serveur, au sein de laquelle le serveur de commande et contrôle gère l’ensemble du botnets.

Les réseaux de robots centralisés sont toujours utilisés aujourd’hui en raison de leur simplicité. Toutefois, le modèle centralisé présente l’inconvénient d’être vulnérable à un point de défaillance unique, contrairement au modèle P2P.

Les deux canaux de communication de commande et contrôle les plus courants sont les protocoles IRC et HTTP :

Botnet IRC (Internet Relay Chat)

Les réseaux de robots IRC font partie des tout premiers types de réseaux de robots et sont contrôlés à distance à l’aide d’un serveur et d’un canal IRC préconfigurés. Les ordinateurs compromis se connectent au serveur IRC et attendent les ordres du maître des robots.

Botnet HTTP

Un botnet HTTP est un botnet géré via Internet auquel le maître des robots envoie des commandes à l’aide du protocole HTTP. Les ordinateurs compromis interrogent régulièrement le serveur pour obtenir des mises à jour et de nouvelles commandes. L’utilisation du protocole HTTP permet au maître des robots de faire passer ses activités pour du trafic web normal.

Modèle décentralisé

visual depiction of a p2p botnet architecture

La nouvelle génération de réseaux de robots est de type peer-to-peer, ce qui signifie que les robots partagent des commandes et des informations entre eux et ne sont pas en contact direct avec le serveur de contrôle et commande.

Les réseaux de robots P2P sont plus difficiles à mettre en place que les réseaux IRC ou HTTP, mais ils sont aussi plus résilients car ils ne dépendent pas d’un serveur centralisé. Chaque robot fonctionne de façon indépendante à la fois en tant que client et serveur. Il met à jour les informations et les partage de manière coordonnée entre les terminaux du botnets.

Comment les Botnets fonctionnent-ils ?

Voici une description simplifiée de la création d’un botnets :

  • Un pirate lance l’infection initiale par logiciel malveillant afin de créer des terminaux zombies à l’aide de techniques telles que des téléchargements web, des kits d’exploit, des publicités pop-up et des pièces jointes aux e-mails.
  • S’il s’agit d’un botnets centralisé, le maître des robots dirige le terminal infecté vers un serveur de commande et contrôle. S’il s’agit d’un botnet P2P, la propagation latérale commence et les terminaux zombies cherchent à se connecter à d’autres terminaux infectés.
  • L’ordinateur zombie télécharge ensuite la dernière mise à jour via le canal de commande et contrôle afin de recevoir ses ordres.
  • Il exécute ensuite les ordres et se livre à des activités malveillantes.

Protégez-vous contre les Botnets

Pour éviter que vos terminaux IoT ne soient zombifiés, nous vous recommandons de prendre les mesures suivantes :

  • Mettez en place un programme régulier de sensibilisation à la sécurité au cours duquel les utilisateurs/collaborateurs apprendront à identifier les liens malveillants.
  • Mettez en place un programme rigoureux d’application des correctifs pour vous protéger des dernières vulnérabilités.
  • Implémentez et maintenez à jour une solution antivirus de haute qualité qui analyse régulièrement le réseau.
  • Déployez un système de détection des intrusions (IDS) sur votre réseau.
  • Implémentez une solution de protection des endpoints offrant des fonctionnalités de détection des rootkits et capable de détecter et bloquer le trafic réseau malveillant.