Sommaire :
1ère partie : Définition, et fonctions.
2ème partie : Classification et évolution.
Ceci est la deuxième partie de la série de billets concernant les botnets. Nous allons voir comment peut-on classer les botnets, et nous allons faire un bref historique, en partant de la création des premiers réseaux de zombie, en finissant par les solutions les plus populaires aujourd’hui.
Les types de réseaux zombies
La classification des botnet d’aujourd’hui est relativement simple. Elle se base sur l’architecture du botnet et les protocoles utilisés pour contrôler les robots.
Classification des réseaux de zombies en fonction de l’architecture
Il y a actuellement seulement deux types connus d’architecture réseau de botnet.
Les botnets centralisés
Tous les ordinateurs sont connectés à un unique centre de commande et de contrôle (abrégé C & C). Le C & C attend que les robots se connecte, les indexe dans sa base de données, trace leur statut et le propriétaire n’a plus qu’à leur envoyer les commandes du bot. Tous les ordinateurs zombies du botnet sont visibles sur le C & C. Le propriétaire du réseau zombie doit avoir accès aux commandes du centre de contrôle pour être en mesure de gérer un botnet centralisé.
Les botnets centralisés sont le type les plus répandus car ils sont plus faciles à créer, plus facile à gérer et ils répondent aux commandes plus rapidement. Cependant, il est aussi plus facile de lutter contre les botnets centralisés, puisque l’ensemble du réseau zombie est neutralisé si le C & C est mis hors service.
Les botnets décentralisés ou P2P (peer-to-peer)
Dans un botnet décentralisé, les bot se connectent à une série de machines infectées du réseau plutôt qu’au C & C. Les commandes sont transférées de bot en bot: chaque robot a une liste de plusieurs voisins, et toute commande reçue par un bot d’un de ses voisins sera envoyé aux autres, afin de la distribuer sur tout le botnet. Dans ce cas, un cybercriminel n’a besoin que d’avoir accès à au moins un ordinateur du réseau zombie pour être en mesure de contrôler l’ensemble du botnet.
Dans la pratique, créer des botnets décentralisés n’est pas une tâche facile, puisque chaque ordinateur nouvellement infecté à besoin qu’on lui fournisse une liste de bots à laquelle il se connecte. Il est beaucoup plus facile de connecter un bot à un serveur central d’abord, où il recevra sa liste. Cette topologie mixte est également classée comme P2P, même si à un moment, les bots utilisent un C & C. La lutte contre les botnets décentralisés est une tâche beaucoup plus difficile que contre les réseaux centralisés car un botnet P2P n’a pas de centre de contrôle.
Classification des botnets selon des protocoles réseau
Pour qu’un propriétaire de botnet envoie des commandes à un bot, il est essentiel d’établir une connexion. Toutes les connexions réseau sont basées sur des protocoles qui définissent les règles d »interaction entre les ordinateurs. Les botnets, lorsqu’ils sont classés par protocole réseau peuvent être catégorisé comme suivant :
Orienté IRC
C’est l’un des premiers types de botnet : les bots étaient contrôlés via des canaux IRC (Internet Relay Chat). Chaque ordinateur infecté se connectait au serveur IRC indiqués dans le corps du programme bot, et attendait les commandes de son maître sur un certain canal.
Orienté IM
Ce type de botnet n’est pas particulièrement répandu. Il diffère des botnets IRC, car ils n’utilisent que les canaux d’IM (messagerie instantanée) des services tels que AOL, MSN, ICQ. La raison de la faible popularité de ces botnets réside dans la difficulté de créer différents comptes de messagerie instantanée pour chaque bot. Chaque bots doit être connecté tout le temps. Comme la plupart des services de messagerie instantanée ne permettent pas à plus d’un ordinateur d’utiliser un seul et même compte en même temps, chaque bot a besoin de son propre compte de messagerie instantanée. Toutefois, ces services s’efforcent de prévenir toute forme d’enregistrement automatique de compte. En conséquence, cela limite le nombre de bots qui peuvent être en ligne à tout moment.
Orienté Web
Il s’agit d’un type relativement nouveau et en évolution rapide. Un bot se connecte à un serveur web prédéfinis, reçoit des commandes et transfère le résultat comme réponse. Ces botnets sont populaires parce qu’ils sont relativement faciles à créer, il ne manque pas de serveurs Web sur Internet et une interface web peut être utilisé pour la gestion.
Autres
En plus des types énumérés ci-dessus, il en existe d’autres qui communiquent via leur propre protocole qui est uniquement basée sur la pile TCP / IP, c’est à dire, qu’ils utilisent uniquement des protocoles de transport tels que la couche TCP, ICMP et UDP.
L’évolution des Botnets
L’histoire des botnets a commencé en 1998 – 1999, quand les premiers programmes backdoor (le fameux NetBus et BackOrifice2000) sont apparus. Ces chevaux de Troie ont mis en œuvre de nouvelles technologies. NetBus et BackOrifice2000 ont été les premiers à inclure un ensemble complet de fonctions permettant d’administrer à distance les ordinateurs infectés, comme d’effectuer des opérations sur les fichiers des machines distantes, lancer de nouveaux programmes, faire des captures d’écran, ouvrir ou fermer les lecteurs CD…
Pour contrôler un ordinateur infecté, un cybercriminel devait établir une connexion sur chaque machine infectée individuellement. Les backdoors, d’abord utilisés sur des réseaux locaux, ont démontré les possibilités d’exploiter l’API Windows pour contrôler un ordinateur distant.
Dans le début des années 2000, Les programme d’administration à distance étaient déjà capables de contrôler plusieurs machines en même temps. Cependant, contrairement au backdoors d’aujourd’hui, NetBus et BackOrifice2000 étaient utilisés comme des serveurs : ils ouvraient un port prédéfini et attendaient les connexions du maître (les backdoors contemporains, qui sont utilisés pour créer des botnets établissent une connexion eux-même).
Un utilisateur malicieux a eu l’idée que les ordinateurs infectés par des backdoors devaient établir des connexions eux-mêmes pour qu’ils soient toujours visibles (à condition que la machine soit en marche). Il est probable que le développement de nouveaux bots a été facilité par le fait que les robots utilisent le système IRC qui est open source.
Lorsqu’un nouvel ordinateur est infecté, le bot se connecte sur un canal prédéfini d’un serveur IRC en tant que visiteurs et attend les commandes (sous forme de messages) du propriétaire botnet. Le propriétaire peut se connecter quand il veut, consulter la liste des bots, envoyer des commandes à tous les ordinateurs infectés ou à une seule machine. C’est l’origine des botnet centralisés, plus tard baptisé C & C (Command & Control Center).
Développer de tel bots n’a pas été difficile parce que le protocole IRC a une syntaxe simple, et qu’aucun programme client n’est nécessaire pour utiliser IRC (Netcat ou Telnet, peuvent être utilisés.)
La nouvelle se propagea rapidement. Dès que des articles à leur sujet ont commencé à sortir dans des magazines de hacker, une nouvelle sorte de hacker apparu : Des ‘hijackers’ de botnet (des voleurs de botnet). Ces gens en savaient probablement aussi long que les propriétaires de botnet. Ils ont localisé les canaux IRC qui avait étrangement un grand nombre de visiteurs, ont pénétré dans ces canaux, ont étudié le botnet et l’ont «détourné» . Le principe était de prendre le contrôle du réseau, réorienter les bots vers leurs propre canaux IRC, et finalement le protéger par mot de passe, pour ne pas subir la même fourberie.
L’évolution des botnets a ensuite été marquée par le déplacement des centres de contrôle sur le Web. Tout d’abord, le pirate développait des outils de contrôle à distance basés sur des moteurs de script populaires comme Perl et PHP.
Puis, une méthode a été publiée en ligne pour contrôler à distance les ordinateurs, en contournant des protections telles que les serveurs proxy et NAT. D’un point de vue du programmeur, il s’agissait d’une solution simple et accessible.
Les botnets axés Web se sont avéré être une solution très pratique, qui reste populaire à ce jour. Un grand nombre d’ordinateurs peuvent être gérés en utilisant n’importe quel appareil disposant d’un accès Internet, y compris un téléphone mobile qui supporte le WAP / GPRS. Et même un enfant peut apprendre à utiliser une interface web.
Ce n’était pas la fin de l’évolution botnet : après avoir essayé tous les protocoles disponibles, les développeurs de botnet ont tourné leur attention vers une architecture de réseau. Il s’est avéré que les botnets à l’architecture classique (à savoir un grand nombre de bots avec un centre de commandement et de contrôle) sont très vulnérables, car elles dépendent d’un noeud critique (le C&C). Si ce dernier tombe, le contrôle sur l’ensemble du réseau sera perdue. C’est pour cela que les développeurs sont arrivés à programmer des botnet P2P, mais nous détaillerons leur fonctionnement lors du prochain billet 🙂
ouch complexe ^^