Botnet

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Un botnet (de l'anglais, contraction de « robot » et « réseau ») est un réseau de bots informatiques, des programmes connectés à Internet qui communiquent avec d'autres programmes similaires pour l'exécution de certaines tâches.

Historiquement, botnet désignait des réseaux de robots IRC. Le sens de botnet s'est étendu aux réseaux de machines zombies, utilisés pour des usages malveillants, comme l'envoi de spam et virus informatiques, ou les attaques informatiques par déni de service (DDoS).

Usage légitime[modifier | modifier le code]

Sur IRC, leur usage est de gérer des canaux de discussions, ou de proposer aux utilisateurs des services variés, tels que des jeux, des statistiques sur le canal, etc. Être connectés en réseau leur permet de se donner mutuellement le statut d'opérateur de canal de manière sécurisée, de contrôler de manière efficace les attaques par flood ou autres. Le partage des listes d'utilisateurs, de bans, ainsi que de toute sorte d'informations, rend leur utilisation plus efficace.

Il existe d'autres usages légitimes de botnets, comme l'indexation web : le volume des données à explorer et le nécessaire usage de parallélisation impose l'usage de réseaux de bots.

Dérives et usages malveillants[modifier | modifier le code]

Les premières dérives sont apparues sur les réseaux IRC[1] : des botnets IRC (Eggdrop en décembre 1993, puis GTbot en avril 1998) furent utilisés lors d'affrontements pour prendre le contrôle du canal.

Aujourd'hui, ce terme est très souvent utilisé pour désigner un réseau de machines zombies, car l'IRC fut un des premiers moyens utilisés par des réseaux malveillants pour communiquer entre eux, en détournant l'usage premier de l'IRC. Le premier d'entre eux qui fut référencé a été W32/Pretty.worm[2], appelé aussi PrettyPark, ciblant les environnements Windows 32 bits, et reprenant les idées d'Eggdrop et de GTbot. À l'époque, ils ne furent pas considérés comme très dangereux, et ce n'est qu'à partir de 2002 que plusieurs botnets malveillants (Agobot, SDBot puis SpyBot en 2003) firent parler d'eux et que la menace prit de l'ampleur.

Toute machine connectée à internet est susceptible d'être une cible pour devenir une machine zombie : les machines Windows, qui représentent la majorité des machines contaminées, mais aussi, dans une moindre mesure, les machines Linux, Apple[3], voire consoles de jeu[4] ou des routeurs[5].

En 2007, Vint Cerf considérait qu'un ordinateur sur quatre faisait partie d'un botnet[6].

Depuis peu ce phénomène se développe sur les terminaux téléphoniques de type smartphone et en particulier sur le système d'exploitation Android où le trojan chinois appelé "Geinimi" a fait son apparition en décembre 2010[7].

Usages principaux des botnets malveillants[modifier | modifier le code]

La caractéristique principale des botnets est la mise en commun de plusieurs machines distinctes, parfois très nombreuses, ce qui rend l'activité souhaitée plus efficace (puisqu'on a la possibilité d'utiliser beaucoup de ressources) mais également plus difficile à stopper.

Usages des botnets[modifier | modifier le code]

Les botnets malveillants servent principalement à :

  • Relayer du spam pour du commerce illégal ou pour de la manipulation d'information (par exemple des cours de bourse) ;
  • Réaliser des opérations de phishing ;
  • Identifier et infecter d’autres machines par diffusion de virus et de programmes malveillants (malwares) ;
  • Participer à des attaques groupées (DDoS)[8] ;
  • Générer de façon abusive des clics sur un lien publicitaire au sein d’une page web (fraude au clic) ;
  • Capturer de l’information sur les machines compromises (vol puis revente d'information) ;
  • Exploiter la puissance de calcul des machines ou effectuer des opérations de calcul distribué notamment pour cassage de mots de passe ;
  • Mener des opérations de commerce illicite en gérant l'accès à des sites de ventes de produits interdits ou de contrefaçons via des techniques de fast-flux, simple ou double-flux ou RockPhish[9].

Motivation des pirates[modifier | modifier le code]

Le Spam : pour envoyer plus de mails.

Le DDoS : envoyer plus d'attaques sur un serveur pour le faire arrêter de fonctionner.

Le BruteForcing : trouver un mot de passe plus vite.

Motivation économique[modifier | modifier le code]

L'aspect économique est primordial : la taille du botnet ainsi que la capacité d'être facilement contrôlé sont des éléments qui concourent à attirer l'activité criminelle, à la fois pour le propriétaire de botnet (parfois appelé « botherder » ou « botmaster ») que pour les utilisateurs, qui la plupart du temps louent les services d'un botnet pour l'accomplissement d'une tâche déterminée (envoi de pourriel, attaque informatique, déni de service[8], vol d'information, etc). En avril 2009, un botnet de 1 900 000 machines[10] mis au jour par la société Finjian engendrait un revenu estimé à 190 000 dollars par jour à ses « botmasters »[11].

Motivation idéologique[modifier | modifier le code]

En dehors de l'aspect économique, les attaques informatiques peuvent devenir une arme de propagande ou de rétorsion, notamment lors de conflits armés ou lors d'événements symboliques. Par exemple, lors du conflit entre la Russie et la Géorgie en 2008, le réseau géorgien a été attaqué sous de multiples formes (pour le rendre indisponible ou pour réaliser des défacements des sites officiels)[12]. En 2007, une attaque d'importance contre l'Estonie a également eu lieu[13] : la motivation des pirates serait le déplacement d’un monument en hommage aux soldats russes du centre de la capitale estonienne[14]. Début 2010, le Vietnam serait à l'origine d'un botnet visant à réduire au silence la dissidence politique[15].

Motivation personnelle[modifier | modifier le code]

La vengeance ou le chantage peuvent également faire partie des motivations des attaquants, sans forcément que l'aspect financier soit primordial : un employé mal payé[16] ou des joueurs en ligne défaits[4] peuvent chercher à se venger de l'employeur ou du vainqueur du jeu.

Architecture d'un botnet[modifier | modifier le code]

Mode actuel de communication des botnets[modifier | modifier le code]

Via un canal de commande et contrôle (C&C)[modifier | modifier le code]

  • Canaux IRC[17] (le premier historiquement), souvent sur un canal privé.

Via des canaux décentralisés[modifier | modifier le code]

  • P2P[9],[18],[17], pour ne plus dépendre d'un nœud central ;
  • HTTP[9],[17] (parfois via des canaux cachés[19]), ce qui a pour principal avantage de ne plus exiger de connexion permanente comme pour les canaux IRC ou le P2P mais de se fondre dans le trafic web traditionnel ;
  • Fonctions du Web 2.0[17], en faisant une simple recherche sur certains mots-clés afin d'identifier les ordres ou les centres de commandes auxquels le réseau doit se connecter[20].
  • Il a même été mis en évidence un réseau de botnets utilisant Twitter comme centre de commande et de contrôle[21].

Cycle de vie[modifier | modifier le code]

Un botnet comporte plusieurs phases de vie[1],[22]. Une conception modulaire lui permet de gérer ces phases avec une efficacité redoutable, surtout dès que la machine ciblée est compromise. La phase d'infection est bien évidemment toujours la première, mais l'enchaînement de ces phases n'est pas toujours linéaire, et dépend de la conception du botnet.

Infection de la machine[modifier | modifier le code]

C'est logiquement la phase initiale. La contamination passe souvent par l'installation d'un outil logiciel primaire, qui n'est pas forcément l'outil final. Cette contamination de la machine utilise les mécanismes classiques d'infection :

Activation[modifier | modifier le code]

Une fois installée, cette base logicielle peut déclarer la machine à un centre de contrôle, qui la considèrera alors comme active. C'est une des clés du concept de botnet, à savoir que la machine infectée peut désormais être contrôlée à distance par une (ou plusieurs) machine tierce. Dans certains cas, d'autres phases sont nécessaires (auto-protection, mise-à-jour, etc) pour passer en phase opérationnelle.

Mise-à-jour[modifier | modifier le code]

Une fois la machine infectée et l'activation réalisée, le botnet peut se mettre-à-jour, s'auto-modifier, ajouter des fonctionnalités, etc. Cela a des impacts importants sur la dangerosité du botnet, et sur la capacité des outils de lutte à enrayer celui-ci, car un botnet peut ainsi modifier sa signature virale et d'autres caractéristiques pouvant l'amener à être découvert et identifié.

Auto-protection[modifier | modifier le code]

D'origine, ou après une phase de mise-à-jour, le botnet va chercher à s'octroyer les moyens de continuer son action ainsi que des moyens de dissimulation. Cela peut comporter :

  • Installation de rootkits ;
  • Modification du système (changement des règles de filtrage réseau, désactivation d'outils de sécurité, etc) ;
  • Auto-modification (pour modifier sa signature) ;
  • Suppression d'autres logiciels malveillants pouvant perturber le botnet ;
  • Exploitation de failles du système hôte, etc.

Propagation[modifier | modifier le code]

La taille d'un botnet est à la fois gage d'efficacité et de valeur supplémentaire pour les commanditaires et les utilisateurs du botnet. Il est donc fréquent qu'après installation, la machine zombie cherche à étendre le botnet :

  • Par diffusion virale, souvent au cours d'une campagne de spam (liens web, logiciel malveillant en fichier attaché, etc)
  • Par scan :
    • Pour exploiter des failles qu'il saura reconnaître ;
    • Pour utiliser des backdoors connues ou déjà installées ;
    • Pour réaliser des attaques par force brute, etc.

Phase opérationnelle[modifier | modifier le code]

Une fois le botnet installé et déclaré, la machine zombie peut obéir aux ordres qui lui sont donnés pour accomplir les actions voulues par l'attaquant (avec, au besoin, l'installation d'outils complémentaires via une mise-à-jour distante) :

  • Envoi de spam ;
  • Attaques réseau ;
  • Participation au service de serveur DNS dynamique, ou DDNS (fast flux) ;
  • Utilisation des ressources systèmes pour du calcul distribué (cassage de mot de passe), etc

Illustration d'un exemple de botnet[modifier | modifier le code]

Voici le principe de fonctionnement d'un botnet servant à envoyer du courriel :

1 Le pirate tente de prendre le contrôle de machines distantes, par exemple avec un virus, en exploitant une faille ou en utilisant un cheval de Troie.
2 Une fois infectées, les machines vont terminer l'installation ou prendre des ordres auprès d'un centre de commande, contrôlé par le pirate, qui prend donc ainsi la main par rebond sur les machines contaminées (qui deviennent des machines zombies).
3 Une personne malveillante loue un service auprès du pirate.
4 Le pirate envoie la commande aux machines infectées (ou poste un message à récupérer, selon le mode de communication utilisé). Celles-ci envoient alors des courriers électroniques en masse.

Taille des botnets[modifier | modifier le code]

Il est extrêmement difficile d'avoir des chiffres fiables et précis, puisque la plupart des botnets ne peuvent être détectés qu'indirectement. Certains organismes comme shadowserver.org tentent d'établir des chiffres à partir de l'activité réseau, de la détection des centres de commandes (C&C), etc.

Nombre de réseaux (botnets)[modifier | modifier le code]

Au mois de février 2010, on estimait qu'il existait entre 4 000 et 5 000 botnets actifs[23]. Ce chiffre est à considérer comme une fourchette basse, puisque les botnets gagnent en furtivité et que la surveillance de tout le réseau internet est impossible.

Taille d'un réseau[modifier | modifier le code]

La taille d'un botnet varie mais il devient courant qu'un réseau puisse comprendre des milliers de machines zombies. En 2008, lors de la conférence RSA, le top 10 des réseaux comprenait de 10 000 à 315 000 machines, avec une capacité d'envoi de mail allant de 300 millions à 60 milliards par jour (pour Srizbi, le plus important botnet à cette date)[24].

Fin 2009, MessageLabs donnait le top 10 suivant[25] :

Top 10 des botnets en 2009
Nom du botnet Nombre de machines Capacité en mails par minute
Rustock 540 000 à 810 000 14 000 000
Cutwail 1 100 000 à 1 600 000 12 800 000
Bagle 520 000 à 780 000 12 000 000
Bobax 110 000 à 160 000 10 000 000
Grum 580 000 à 860 000 6 800 000
Maazben 240 000 à 360 000 1 500 000
Festi 140 000 à 220 000 900 000
Mega-D 50 000 à 70 000 690 000
Xarvester 20 000 à 36 000 615 000
Gheg 50 000 à 70 000 300 000

Nombre total de machines infectées[modifier | modifier le code]

Dans son rapport de 2009, la société MessageLabs estime également que 5 millions de machines[25] sont compromises dans un réseau de botnets destiné au spam.

Lutte contre l'action des botnets[modifier | modifier le code]

La constitution même d'un botnet, formé parfois de très nombreuses machines, rend la traçabilité des actions et des sources délicate. Plus le botnet est grand, plus il devient également difficile de l'enrayer et de l'arrêter puisqu'il faut à la fois stopper la propagation des agents activant le botnet et nettoyer les machines compromises.

Les anciennes générations s'appuyaient souvent sur un centre de contrôle centralisé ou facilement désactivable (adresse IP fixe ou nom de domaine pouvant être bannis, canal IRC pouvant être fermé, etc). Désormais, le peer-to-peer permet une résilience du système de communication, et les fonctions Web 2.0 détournées rendent l'interception très complexe : le botnet recherche un mot clé sur le web et l'utilise pour déterminer l'emplacement du centre de contrôle auprès duquel il doit recevoir ses ordres.

Plusieurs actions concertées dans lesquelles le département de sécurité de Microsoft s'est fortement impliqué ont permis de démanteler deux importants réseaux : Waledac et Rustock (opérations dénommées respectivement b49 et b107). En mars 2011, Rustock comprenait environ 1 million de machines générant 47,5 % du spam mondial (selon Symantec[26]) et dont le code source utilisait 106 adresses IP pour son contrôle[27].

Détection[modifier | modifier le code]

  • Empreintes
  • Observation du trafic
  • Analyse de logs

Prévention[modifier | modifier le code]

  • Listes noires
    • RBL
    • DNSBL
    • Listes de Botnet
  • Mesures habituelles de protection du réseau (cloisonnement, restrictions, etc)
  • Mesures habituelles de protection des machines (anti-virus, HIDS/HIPS, mot de passe, gestion des droits utilisateurs, anti-spam, gestion des mises-à-jour, etc)

Notes et références[modifier | modifier le code]

  1. a et b F. Ducrot, M. Danho, X. Marronnier, « SÉCURITÉ INFORMATIQUE, numéro 61 », CNRS,‎ octobre 2007
  2. (en) McAfee, base de virus, W32/Pretty.worm
  3. B. Braud, « Le premier réseau de machines Mac zombies a été découvert », 01netPRO,‎ 17 avril 2009
  4. a et b « Des attaques DDoS vengeresses perpétrées sur le Xbox Live », PCInpact,‎ fév 2009
  5. B. Braud, « Un ver à zombies enrôle de petits routeurs Linux », 01netPRO,‎ 25 mars 2009
  6. « one quarter of all computers part of a botnet », Ars Technica,‎ Jan 2007
  7. leMondeInformatique.fr, « Geinimi : un Trojan inquiétant ciblant Android », leMondeInformatique.fr,‎ 2010 (consulté le 18 septembre 2012)
  8. a et b « Dans les coulisses du DDoS », zataz.com,‎ 10 sept 2008
  9. a, b et c « Microsoft a-t-il vraiment mis à terre le botnet Waledac ? », 01netPRO,‎ 26 fév 2010
  10. (en)« How a cybergang operates a network of 1.9 million infected computers », Finjan Vital Security,‎ 22 avril 2009
  11. « Des chercheurs se sont introduits dans le back-office d'un botnet », 01netPRO,‎ 23 avril 2009
  12. N. Simonin, « Cyber-attaques en Georgie »,‎ 29 septembre 2008
  13. (en)J. Kirk, « Estonia recovers from massive DDoS attack », COmputerSecurity World,‎ mai 2007
  14. (en)« Russia confirms involvement with Estonia DDoS attacks », SC Magazine,‎ mars 2009
  15. (fr) Ethan Zuckerman, « Est-ce que le Vietnam exerce une surveillance via des logiciels malveillants ? »,‎ 10 avril 2010
  16. (en)« Computer Hacker Sentenced To Two Years In Federal Prison », Department of Justice, Eastern District of California
  17. a, b, c et d J. Saiz (SecurityVibes), « Les botnets se mettent au Web 2.0 »,‎ 21 juillet 2008
  18. (en) Julian B. Grizzard, Vikram Sharma, Chris Nunnery, Brent ByungHoon Kang, David Dagon, « Peer-to-Peer Botnets : Overview and Case Study »,‎ 2007
  19. (en) Joe Stewart, Director of Malware Research, SecureWorks, « Inside the Storm: Protocols and Encryption of the Storm Botnet »,‎ 2008 : présentation de Storm, utilisant la technique des canaux cachés
  20. J. Saiz (SecurityVibes), « Avi Chesla : "La nouvelle vague de bots passe à l'Ajax" »,‎ 21 juillet 2008
  21. Ranieri Romera (TrendLabs), « Mehika Twitter Botnet Targets Twitter Users »,‎ 13 sept 2010
  22. (en) « The Evolution of Malicious IRC Bots », Symantec Security Response,‎ 2004 (consulté en 16 fév 2010)
  23. http://www.shadowserver.org/wiki/pmwiki.php/Stats/BotnetCharts
  24. « Un million de PC robots pour 100 milliards de spam », NetEco,‎ 10 Avril 2008
  25. a et b (en) « MessageLabs Intelligence: 2009 Annual Security Report »,‎ 2009 (consulté en 14 février 2010)
  26. (en) « Has The Rustock Botnet Ceased Spamming? », Symantec,‎ 17 mars 2011
  27. « Microsoft décapite l’un des plus gros botnets au monde », 01net.com,‎ 21 mars 2011

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]