Le botnet et les phases de son cycle de vie

Il n’est pas rare de trouver dans la presse spécialisée des références aux botnets. Souvent le caractère fantasmagorique prend le dessus sur les enjeux précis de ces virus. Nous synthétisons ici les éléments précis permettant d’appréhender ce que sont les botnets pour des non-spécialistes

Certains virus peuvent se propager sur des milliers d’ordinateurs connectés à Internet et ne commettre aucun dégât direct. A un moment donné, lors d’un signal préalablement fixé, ces milliers voir millions de programmes peuvent être amenés à se connecter à un même serveur web ce qui provoquera son bloquage. Ce type d’attaque informatique est un DDoS pour Destributed Denial of Service ou Déni de Service Distribué. Le type de virus utilisé dans ce cas est appelé un bot. L’ensemble des virus déployés s’appelle botnet. Lorsqu’un ordinateur est infecté par un bot on l’appelle "zombie".  L’utilisation du terme zombie ne tient pas au hasard, les ordinateurs ressemblent en effet à de véritables morts vivants : la machine donne l’impression de ne rien faire (l’utilisateur n’a pas conscience qu'elle est infectée), elle participe pourtant, sans que l’utilisateur ne s’en rende compte, à des actions malveillantes tels que l’envoi de courriers électroniques ou la participation à des attaques DDoS. La majorité des fournisseurs d’accès à Internet considère que ces machines zombies représentent la première menace visible en matière de propagation des virus informatiques. Prenons l’exemple du spamming : même avec quelques dizaines de messages toutes les heures pour chaque ordinateur si des centaines de milliers de machines sont infectées, il est possible de distribuer des dizaines de millions de messages chaque jour. L’ouverture de ces messages peut elle-même provoquer l’infection d’un nouveau poste qui participera également à ces opérations de grande ampleur. 

Quelles sont les principales utilisations des botnet ? :

  • Relayer des spams (courriers indésirables ou pourriels) : afin d’effectuer du commerce illégal ou de la manipulation d’information (par exemple donner des faux cours d’action boursière) ;

  • Effectuer des opérations d’hameçonnage ou de fishing : cette technique est utilisée par des fraudeurs pour obtenir des renseignements personnels pour effectuer des usurpations d’identité dans le but d’utiliser les identités récupérées pour commettre des actions malveillantes (par exemple acheter des produits illégaux sur Internet ou pour lui soutirer de l’argent grâce à ses numéros de carte bancaire) ;

  • Identifier ou infecter d’autres machines susceptibles d’aider à la diffusion d’autres programmes malveillants; 

  • Participer à des attaques groupées de déni de service ;
  • Générer un nombre important de clics sur un lien publicitaire au sein d’une page web ;

  • Capturer des informations sur la machine compromise afin potentiellement de les revendre ; 

  • Voler des sessions utilisateurs par credential stuffing ;

  • Exploiter la puissance de calcul de la machine afin d’effectuer des opérations de calcul distribué (par exemple pour casser des mots de passe ou pour effectuer du minage de cryptomonnaies)

  • Mener des opérations de commerce illicite en gérant l’accès à des sites de vente de produits interdits grâce à des techniques de fast flux simple ou double flux ou rock phish;
Les botnets sont caractérisés par une architecture type : on peut à ce titre s’intéresser au cycle de vie des botnets ainsi qu’au moyen de communication entre les botnets. En quoi consiste donc le cycle de vie d’un botnet ? Un botnet a plusieurs phases de vie. La conception modulaire du botnet va lui permettre de gérer ces phases avec efficacité surtout lorsque la machine visée est compromise. La première étape est l’infection de la machine. La seconde est l’activation. Vient ensuite, la mise à jour puis l’autoprotection, la propagation, et enfin la phase opérationnelle. Pour comprendre et appréhender la diffusion d’un botnet, il est indispensable de comprendre les principales phases du cycle de vie :
-       Phase 1 : L’infection de la machine. 

Dans cette phase initiale la contamination va souvent passer par l’installation d’un outil logiciel qui n’est pas nécessairement l’outil final. Les mécanismes d’infection sont alors : 

o   le logiciel malveillant en pièce jointe ; 

o   le cheval de Troie (un logiciel en apparence légitime mais qui va contenir une fonctionnalité malveillante et permettra de faire entrer le parasite sur l’ordinateur de l’utilisateur à son insu) ;

o   les vulnérabilités informatiques du navigateur ou du logiciel : il s’agit d’une faiblesse dans le logiciel informatique au niveau de sa conception de sa mise en œuvre ou de l’utilisation d’un composant matériel ou logiciel du système mais il s’agit le plus souvent d’anomalies logicielles qui sont liées à des erreurs de programmation ou à des mauvaises pratiques. Celle-ci va permettre à un attaquant de porter atteinte à l’intégrité du système en rendant difficile son fonctionnement normal ou en trahissant la confidentialité et/ou l’intégrité des données qu’il contient. Une vulnérabilité informatique connue est par exemple Dirty Cow qui concerne le noyau linux et est susceptible d’affecter tous les systèmes d’exploitation Linux, y compris Android. Elle est liée à un défaut d’élévation de privilège exploitant une condition de concurrence au niveau de la mise en œuvre de la copie sur écriture dans le noyau de gestion de la mémoire. 

o   Un code malveillant se fait passer pour un fichier valide dans un système de partage de fichier type P2P. 

o   Les botnets locaux qui participent à la démultiplication des processus de flooding. Au début du mois d’octobre 2016, un célèbre malware du nom de Mirail avait vu ses codes sources mis en ligne. Ceci avait permis aux experts en informatique d’analyser la portée des botnets locaux liés au malware Mirail. Ce malware s’attaque en effet aux objets connectés qui une fois infectés peuvent servir à des attaques DDoS.

A ces éléments peuvent être associés des actions d’ingénierie sociale. Dans le contexte de la sécurité de l’information, l’ingénierie sociale fait référence à des pratiques d’utilisation de la psychologie pour diriger les gens vers d’action qu’ils n’auraient pas envisagée naturellement. Les informaticiens Anderson et Reimers ont constaté que les employés d’une organisation ne se considèrent pas comme un maillon de la sécurité informatique de leur structure. Les auteurs ont même constaté qu’il leur arrive de ne pas respecter volontairement et consciemment certaines règles de sécurité.

-       Phase 2 : l’activation. Lorsqu’une base logicielle a été installée, elle va déclarer la machine à un centre de contrôle qui va la considérer alors comme machine active. C’est la base du concept de botnet sachant que la machine infectée peut à présent être contrôlée à distance par une ou des machines tiers. Ce centre de contrôle va diffuser les ordres à exécuter par la machine infectée. Généralement, cette machine de contrôle est également une machine fantôme.

-       Phase 3 : La mise à jour. Quand une machine est infectée et activée, le botnet va pouvoir se mettre à jour, se modifier et ajouter des fonctionnalités. Les conséquences sont importantes en ce qui concerne la dangerosité du botnet et sa capacité à enrayer les outils de lutte contre celui-ci. Par exemple, la signature virale, c’est-à-dire la portion de code qui permet de caractériser un programme va pouvoir être modifiée à distance.

    Phase 4 : L’autoprotection. Après une phase de mise à jour, le botnet tentera de s’octroyer les moyens de se dissimuler et de continuer son action. Ainsi peuvent être installée : 

o   des rootkit, c’est-à-dire des outils de dissimulation des activités.

o   des modifications du système notamment avec des changements des règles de filtrage réseau ou la désactivation d’outil de sécurité informatique.

o   la suppression d’autres logiciels malveillants qui perturberaient le fonctionnement du botnet.

-       Phase 5 : La propagation. Plus le botnet est étendu, plus il est susceptible d’être efficace et d’avoir de la valeur. Suite à l’installation, la machine zombie cherchera à étendre le botnet à travers deux méthodes principales :

 o             o la diffusion virale : elle se fait souvent au cours d’une campagne de spam avec des liens webs ou des logiciels malveillants en fichier attaché 

o   par le scan : elle permet d’exploiter des failles, d'utiliser des backdoors connus ou déjà installés (fonctionnalité inconnue de l’utilisateur légitime qui donne accès au logiciel malveillant) ou encore pour la réalisation d’attaque par force brute (méthode de cryptanalyse qui permet de trouver une clé ou un mot de passe pour un système informatique)

Phase 6 : la phase opérationnelle. Lorsqu’un botnet est installé et déclaré la machine zombie va exécuter les ordres qui lui sont donnés par l’attaquant.

Le 16 mars 2011 Microsoft et les autorités fédérales américaines ont réussi à démanteler le botnet Rustock . Les "propriétaires" de ce botnet avaient décidé d’en commercialiser les services. Ainsi, ils avaient mis en place une organisation commerciale type avec notamment un service après-vente au travers d’une assistance téléphonique en anglais et une politique tarifaire progressive avec des tranches de 10 000 machines zombies en location. Les utilisateurs qui avaient été lésés dans cette affaire, lorsqu’ils ont pris conscience que leur machine avait été exploitée de manière malveillante, ont été particulièrement déçus par la réaction des fournisseurs d’accès à Internet. 

En effet, dans ce type de cas, le fournisseur d’accès restreint l’accès à Internet pour les utilisateurs dont les machines sont infectées. De plus, ils s’arrogent le droit d’accéder aux courriers électroniques de leurs utilisateurs : face aux zombies qui envoient des courriers non sollicités, les fournisseurs d’accès imposent aux utilisateurs ayant une machine infectée un filtrage au niveau du port 25 (dévolue au protocole SMTP qui permet la diffusion des mails). 

 

Le botnet et les phases de son cycle de vie
Le botnet et les phases de son cycle de vie

Certains virus peuvent se propager sur des milliers d’ordinateurs connectés à Internet et ne commettre aucun dégât direct. A un moment donné, lors d’un signal préalablement fixé, ces milliers voir millions de programmes peuvent être amenés à se...