Ce rapport se penche sur les réseaux de zombies ou
botnets, la manière dont ils sont formés et les individus qui gagnent
leur vie grâce à ceux-ci. Les lecteurs qui possèdent déjà une certaine
expérience en la matière pourront lire les dernières tendances observées
dans le développement des réseaux de zombies.
Cette analyse d’un expert des laboratoires Kaspersky Lab est la
première d’une série consacrée à la problématique des réseaux de
zombies.
Cela fait près de 10 ans que les réseaux de zombies existent et
depuis leur apparition, les experts n’ont cessé d’avertir le public du
danger qu’ils représentent. Malgré cela, le problème des réseaux de
zombies n’est toujours pas traité comme il se doit et de nombreux
utilisateurs (tant qu’ils ne sont pas déconnectés d’Internet, tant
qu’ils n’ont pas perdu de l’argent sur leur carte de crédit ou tant que
leur boîte aux lettres ou leur compte de messagerie électronique n’a pas
été détourné) ont du mal à cerner la véritable menace que posent les
réseaux de zombies.
Avant toute chose, il convient d’expliquer ce qu’est un réseau de zombies ou botnet.
Le réseau de zombies est un réseau d’ordinateurs infectés par un
programme malveillant de type Backdoor qui permet au cybercriminel de
prendre à distance les commandes des machines infectées (séparément,
d’un groupe d’ordinateurs du réseau ou de l’ensemble du réseau).
Les programmes malveillants de type Backdoor développés spécialement
pour bâtir des réseaux de zombies sont des bots. Ces programmes
exploitent les failles présentes sur les ordinateurs.
Les réseaux de zombies possèdent des ressources de traitement
considérables, ils sont une arme cybernétique terrible et constituent
une source de revenus illégitimes pour les individus mal intentionnés.
Qui plus est, le maître du réseau de zombies peut administrer les
ordinateurs infectés depuis n’importe où, qu’il s’agisse d’une autre
ville, d’un autre pays ou d’un autre continent. Via Internet et grâce à
son organisation, il peut « gérer » en préservant l’anonymat.
L’administration de l’ordinateur infecté par le bot peut être directe
ou non. En cas d’administration directe, l’individu mal intentionné
peut établir la liaison avec l’ordinateur infecté et l’administrer à
l’aide des instructions reprises dans le corps du programme bot. En cas
d’administration indirecte, le bot établit lui-même la connexion avec le
centre d’administration ou avec d’autres machines du réseau, envoie des
requêtes et exécute l’instruction reçue.
Dans les deux cas, le propriétaire de l’ordinateur infecté ne
soupçonne même pas que sa machine est utilisée par des individus mal
intentionnés. C’est la raison pour laquelle les ordinateurs infectés par
un bot qui sont placés sous le contrôle secret des cybercriminels sont
appelés des zombies et le réseau qu’ils forment devient un réseau de
zombies. Dans la majorité des cas, les ordinateurs qui figurent dans les
réseaux de zombies sont des ordinateurs de particuliers.
Les individus mal intentionnés peuvent exploiter les réseaux de
zombies afin d’effectuer un large éventail de tâches criminelles, depuis
la diffusion de courrier indésirable jusqu’à des opérations de
cyber-guerre entre Etats.
Diffusion du courrier indésirable. Il s’agit d’une des options
d’exploitation des réseaux de zombies les plus répandues et les plus
simples. Selon les estimations des experts, plus de 80% des messages non
sollicités sont envoyés par l’intermédiaire de zombies. Le courrier
indésirable n’est pas nécessairement envoyé par les propriétaires des
réseaux de zombies. En effet, les spammeurs peuvent louer de tels
réseaux pour une certaine somme.
Souvent, ce sont les spammeurs qui connaissent la véritable valeur
des réseaux de zombies. D’après nos calculs, le spammeur moyen peut
gagner entre 50 000 et 100 000 dollars américains par an. Les réseaux de
zombies comptant des milliers de machines permettent aux spammeurs
d’envoyer des millions de messages en très peu de temps. Outre la
vitesse et l’ampleur de la diffusion, les réseaux de zombies offrent un
autre avantage aux spammeurs. Les adresses utilisées activement pour la
diffusion de courrier indésirable se retrouvent souvent dans la liste
noire des serveurs de messagerie et les messages en provenance de ces
adresses sont bloqués automatiquement ou marqués comme du courrier
indésirable. La diffusion du courrier indésirable depuis des centaines
de milliers d’adresses des utilisateurs des zombies permet aux spammeurs
d’éviter ce problème.
L’autre « bonus » offert est que les spammeurs ont la possibilité de
récolter des adresses électroniques sur les machines infectées. Les
adresses volées sont soit vendues aux spammeurs, soit utilisées par les
propriétaires du réseau de zombies afin de diffuser du courrier
indésirable. Dans ce contexte, un réseau de zombies en développement
permet d’obtenir toujours de nouvelles adresses.
Cyber-chantage. La deuxième utilisation la plus répandue des réseaux
de zombies pour gagner de l’argent consiste à utiliser les dizaines ou
les centaines de milliers d’ordinateurs pour lancer des attaques par
déni de service (DDoS). Dans ce genre d’attaque, les machines infectées
par le bot créent un flux de requêtes fictives adressées au serveur
attaqué dans le réseau. Suite à la surcharge, le serveur devient
inaccessible aux utilisateurs. Pour arrêter l’attaque, les individus mal
intentionnés requièrent le versement d’une rançon.
De nos jours, de nombreuses sociétés fonctionnent uniquement via
Internet et pour elles, un serveur qui devient inaccessible signifie
l’impossibilité de travailler et entraîne naturellement des pertes
financières. Pour rétablir le plus vite possible leurs serveurs, ces
sociétés sont plus disposées à répondre aux exigences des maîtres
chanteurs qu’à demander l’aide à la police. Les cybercriminels misent
sur ce point, ce qui explique le nombre croissant d’attaques par déni de
service.
Ces attaques peuvent également intervenir dans des conflits
politiques. Dans ce cas, ce sont les serveurs d’institutions
gouvernementales ou d’organismes de l’Etat qui sont attaqués. Le danger
de ce genre d’attaque provient de leur côté provocateur : la
cyberattaque des serveurs d’un pays peut être réalisée depuis les
serveurs d’un autre et administrée depuis un troisième.
Accès anonyme au réseau. Les individus mal intentionnés peuvent
contacter les serveurs du réseau via un zombie et commettre des
cybercrimes au nom des machines infectées, par exemple pénétrer dans un
site ou transférer de l’argent volé.
Vente et location de réseaux de zombies. Une des méthodes utilisées
pour gagner de l’argent de manière illicite à l’aide des réseaux de
zombies consiste à vendre ou à louer des réseaux « clés en main ». La
création de réseaux de zombies en vue de les vendre est une direction
particulière prise par le milieu cyber-criminel.
Hameçonnage (phishing). Les adresses de site d’hameçonnage peuvent se
retrouver assez rapidement dans les listes noires. Le réseau de zombies
permet aux individus qui pratiquent ce genre d’escroquerie de changer
rapidement l’adresse du site d’hameçonnage en utilisant les ordinateurs
infectés en guise de serveur proxy. L’escroc peut ainsi dissimuler
l’adresse réelle de son site.
Vol de données confidentielles. Il est probable que ce genre
d’activité criminelle ne cessera jamais d’attirer les cybercriminels et
grâce aux réseaux de zombies, les vols de mots de passe (accès aux
services de messagerie, à ICQ, à des serveurs FTP ou à des services Web)
et d’autres données confidentielles des utilisateurs peut être
multiplié par mille. Le bot qui infecte les ordinateurs du réseau de
zombies peut télécharger d’autres programmes malveillants tels qu’un
cheval de Troie capable de voler des mots de passe. Dans ce cas, tous
les ordinateurs faisant partie du réseau de zombies sont infectés par le
cheval de Troie et les individus mal intentionnés peuvent obtenir les
mots de passe de toutes les machines infectées. Les mots de passe ainsi
volés sont revendus ou utilisés pour réaliser des infections en masse de
pages Web (par exemple, les mots de passe pour tous les comptes FTP
découverts) afin de diffuser le bot et d’élargir le réseau de zombies.
Les instructions exécutées par les bots sont diverses mais en règle
générale, il s’agit de celles qui sont reprises dans la liste ci-dessus.
Le nom des instructions peut varier en fonction de la version du bot
mais la fonction est la même.
Update : télécharger et exécuter le fichier exécutable indiqué ou le
module depuis le serveur défini. Cette instruction est une instruction
élémentaire car elle est exécutée en premier lieu. Elle permet
d’actualiser le fichier exécutable du bot sur ordre du propriétaire du
réseau de zombies lorsque celui-ci désire installer une version plus
moderne du bot. Cette instruction permet d’infecter l’ordinateur avec
d’autres programmes malveillants (virus, vers) et d’installer d’autres
bots sur l’ordinateur. Grâce à cette instruction, il est possible
d’installer simultanément sur tous les ordinateurs des chevaux de Troie
qui recherchent tous les mots de passe saisis à un moment donné sur
l’ordinateur et conservés dans sa mémoire et les envoient vers un
serveur connecté à Internet.
Flood : lancer le processus de création de requêtes fictives vers un
serveur désigné dans le réseau afin de le mettre hors service ou de
surcharger le canal Internet d’un segment régional du réseau. La
création d’un tel flux peut entraîner de graves dysfonctionnements du
serveur et le rendre inaccessibles aux utilisateurs habituels. Ce type
d’attaque réalisée à l’aide de réseaux de zombies est une attaque par
déni de service (DDoS). Il existe un nombre important de variantes de
requêtes de réseau fictives et c’est la raison pour laquelle nous nous
contenterons de l’explication générale.
Spam : télécharger le modèle du message non sollicité et commencer la
diffusion de celui-ci vers les adresses indiquées (chaque bot reçoit
une partie d’adresses).
Proxy : utiliser cet ordinateur en tant que serveur proxy. Souvent,
cette fonction n’est pas considérée comme une instruction mais
directement incluse dans les fonctions générales du bot. Il s’agit d’une
des fonctions qui permet d’utiliser n’importe quel ordinateur du réseau
en tant que serveur proxy afin de dissimuler l’adresse réelle de
l’individu mal intentionné qui administre le réseau de zombie.
Il existe d’autres instructions, mais elles ne figurent pas parmi les
instructions les plus utilisées et elles ne sont exploitées que dans
quelques réseaux de zombies. Ces instructions complémentaires permettent
d’obtenir des captures de l’écran de l’utilisateur, de contrôler les
frappes au clavier, de consulter le fichier avec le protocole de
communication de réseau de l’utilisateur (utilisé pour le vol de données
d’accès et d’autres données confidentielles), de transmettre le fichier
indiqué depuis l’ordinateur de l’utilisateur, de relever le numéro de
série d’un logiciel, d’obtenir des informations détaillées sur le
système de l’utilisateur et sur son environnement, de consulter la liste
des ordinateurs qui appartiennent au réseau de zombie, etc.
Le classement des réseaux de zombies est assez simple de nos jours.
Il repose sur l’architecture des réseaux de zombies et sur les
protocoles utilisés pour administrer les bots.
Jusqu’à présent, nous connaissions uniquement deux types d’architectures de réseaux de zombies.
- Réseaux de zombies à centre unique. Dans les
réseaux de zombies correspondant à cette architecture, tous les
ordinateurs du réseau se connectent à un seul centre d’administration ou
C&C (Control & Command Center en anglais, centre de contrôle et
de commande). Le centre attend la connexion des nouveaux bots, les
enregistre dans sa base, surveille leur état et leur envoie des
instructions sélectionnées par le propriétaire du réseau de zombies dans
la liste des instructions possibles pour le bot. Par conséquent, le
centre de commande permet de voir tous les zombies connectés et afin de
pouvoir administrer le réseau de zombies de manière centralisée, le
propriétaire du réseau doit absolument pouvoir accéder au centre de
commande.
Ill. 1. Topologie centralisée (C&C)
Les réseaux de zombies à administration centralisée sont les plus
répandus. Ils sont plus faciles à créer, plus faciles à administrer et
ils réagissent plus vite aux instructions. De la même manière, la lutte
contre les réseaux de zombies à administration centralisée est également
plus aisée : pour neutraliser réseau dans son ensemble, il suffit de
fermer le C&C.
- Réseaux de zombies décentralisés ou réseaux de zombies P2P .
(de l’anglais « peer-to-peer » qui désigne une connexion de type
« point-point »). Dans le cadre du réseau de zombies décentralisé, les
bots ne se connectent pas à un centre d’administration mais à quelques
ordinateurs infectés du réseau de zombies. Les instructions sont
transmises de bot à bot : chaque bot possède une liste d’adresses de
quelques « voisins » et lorsqu’il reçoit une instruction de l’un d’entre
eux, il la transmet aux autres et assure ainsi la diffusion de
l’instruction. Dans ce contexte, l’individu mal intentionné doit pouvoir
accéder uniquement à un ordinateur du réseau afin de pouvoir
administrer l’ensemble du réseau de zombie.
Ill. 2. Topologie décentralisée (P2P)
Dans la pratique, la création d’un réseau de zombies décentralisé
n’est pas commode car chaque nouvel ordinateur infecté doit recevoir la
liste des bots avec lesquels il sera en communication dans le réseau de
zombies. Il est bien plus simple de commencer par administrer le réseau
de zombies sur un serveur centralisé où il reçoit la liste des bots
« voisins » puis de faire passer le bot en mode d’interaction via une
connexion P2P. Cette topologie mixte appartient au type P2P même si à un
moment donné les bots utilisent un centre de commande. La lutte contre
les réseaux de zombies décentralisés est plus compliquée car ils ne
possèdent pas un centre d’administration effectif.
Afin de transmettre une instruction au bot, le maître du réseau de
zombies doit au moins établir une connexion de réseau entre le zombie et
l’ordinateur qui envoie l’instruction. Toutes les interactions de
réseau reposent sur des protocoles de réseau qui définissent les règles
de communication des ordinateurs dans le réseau. C’est la raison pour
laquelle il existe un classement des réseaux de zombies en fonction du
protocole de communication utilisé.
Sur la base du protocole de réseau utilisé, les réseaux de zombies peuvent être répartis dans les catégories suivantes.
- Orientation IRC.
Il s’agit d’un des tout premiers types de réseau de zombies dans
lequel l’administration des bots s’opérait via IRC (Internet Relay
Chat). Chaque ordinateur infecté se connectait au serveur IRC indiqué
dans le corps du bot, entrait dans un canal défini et attendait les
instructions du maître.
- Orientés vers les messageries instantanées.
Ce type de réseau de zombies n’est pas très répandu. Le seul élément
qui le distingue de ses congénères orientés vers IRC, c’est utilisation
des canaux de messagerie instantanée (AOL, MSN, ICQ, etc.) pour
transmettre les données. Le peu de popularité dont jouissent ces réseaux
de zombies provient des difficultés liées à la création d’un nouveau
compte de messagerie instantanée pour chaque bot. Il se fait que les
bots doivent être sur le réseau et être toujours en ligne. Dans la
mesure où la majorité des services de messagerie instantanée ne
permettent pas la connexion depuis différents ordinateurs à l’aide du
même compte, chaque bot doit posséder son propre numéro de service de
messagerie instantanée. Et les fournisseurs de services de messagerie
instantanée empêchent les enregistrements automatiques de comptes. Par
conséquent, le propriétaire d’un réseau de zombies orienté vers les
messageries instantanées est limité au niveau du nombre de comptes
enregistrés et, par conséquent, au niveau du nombre de bots qui peuvent
être en ligne simultanément. Bien entendu, les bots peuvent utiliser le
même compte et se connecter une fois à un moment déterminé, envoyer les
données au numéro du propriétaire et attendre la réponse pendant un laps
de temps défini mais cette méthode n’est pas sans problèmes : un réseau
de ce genre réagit très lentement aux instructions.
- Orientés vers Internet.
Les réseaux de zombies qui basent leur administration via WWW sont
relativement récents et se développent rapidement. Le bot se connecte à
un serveur Web déterminé, reçoit les instructions et transmet les
données en guise de réponse. Ces réseaux de zombies sont populaires
étant donné la facilité de leur mise au point, le nombre important de
serveurs Web sur Internet et la simplicité de l’administration via une
interface Web.
- Autres.
Outre les catégories citées ci-dessus, il existe d’autres types de
réseaux de zombies qui communiquent selon leur propre protocole inspiré
de TCP/IP : ils utilisent uniquement les protocoles communs TCP, ICMP et
UDP.
Le début des réseaux de zombies remonte aux années 1998-1999 avec
l’apparition des premiers programmes de type Backdoor, les célèbres
NetBus et BackOrifice2000. Il s’agissait de concepts, à savoir des
programmes qui intégraient des solutions technologiques inconnues
jusqu’alors. NetBus et BackOrifice 2000 furent les premiers à offrir un
ensemble complet de fonctions d’administration à distance de
l’ordinateur infecté qui permettait à l’individu mal intentionné de
travailler avec les fichiers sur l’ordinateur distant, d’exécuter de
nouveaux programmes, de prendre des captures d’écran, d’ouvrir et de
fermer le lecteur de cédérom, etc.
Conçus à l’origine comme des chevaux de Troie, ces backdoors
(trappes) fonctionnaient sans l’autorisation de l’utilisateur. Afin de
pouvoir administrer l’ordinateur infecté, l’individu mal intentionné
devait lui-même établir une connexion avec chaque machine infectée. Les
premières trappes fonctionnaient dans les réseaux locaux sur la base du
protocole TCP/IP et étaient en réalité des variantes de démonstration de
l’utilisation de Windows API pour l’administration à distance d’un
ordinateur.
Au début des années 2000, les clients d’administration à distance des
ordinateurs permettaient déjà d’administrer simultanément plusieurs
machines. Toutefois, à la différence des trappes actuelles, NetBus et
BackOrificie 2000 faisaient office de serveur de réseau : ils ouvraient
un port déterminé et attendaient passivement la connexion du maître (les
programmes de type Backdoor utilisés aujourd’hui dans la construction
de réseaux de zombies établissent la connexion eux-mêmes).
Plus tard, un individu mal intentionné s’arrangea pour que les
ordinateurs infectés par les trappes ouvrent eux-mêmes la connexion et
soient toujours en ligne (pour autant qu’ils soient branchés et en ordre
de marche). Il s’agissait certainement d’un pirate informatique car les
réseaux de zombies de la nouvelle génération utilisaient le canal de
communication traditionnel des pirates, à savoir IRC (Internet Relay
Chat). Il est probable que le développement de nouveaux réseaux de
zombies a été grandement facilité par le fait que dès le début, il était
possible de trouver dans IRC des bots dont le code source était
accessible. Il est vrai que ces bots ne visaient pas l’administration à
distance mais prévoyaient d’autres fonctions (ces programmes répondaient
aux requêtes des utilisateurs, par exemple ils offraient des
informations sur la météo ou sur la dernière connexion au chat d’un
utilisateur défini).
Les nouveaux bots, après avoir infecté l’ordinateur, commencèrent à
se connecter aux serveurs IRC et à établir des communications en tant
que visiteur via un canal IRC donné pour recevoir les messages du maître
du réseau de zombies. Le propriétaire pouvait se connecter à n’importe
quel moment, voir la liste des bots, envoyer les instructions
directement à l’ensemble des ordinateurs infectés ou envoyer un message
privé à une machine en particulier. Il s’agissait du premier mécanisme
de réalisation d’un réseau de zombies à administration centralisée, ce
qui allait devenir par la suite le C&C (Command & Control
Centre).
Le développement de tels bots n’était pas compliqué étant donné la
simplicité de la syntaxe du protocole IRC. L’utilisation d’un serveur
IRC ne requiert pas obligatoirement un logiciel client spécialisé. Il
suffit de posséder un client de réseau universel tel que Netcat ou
Telnet.
L’apparition des réseaux de zombies IRC fut assez vite dévoilée. Dès
que les premiers articles à leur sujet furent publiés dans les journaux
de pirates informatiques, les « voleurs » de réseaux de zombies firent
leur apparition. Il s’agissait de personnes qui possédaient probablement
les mêmes connaissances que les propriétaires des réseaux de zombies
mais qui voulaient gagner de l’argent plus facilement. Ils recherchaient
les canaux IRC dont le nombre élevé de visiteurs était suspect, y
entraient puis étudiaient et « volaient » le réseau de zombies : ils
interceptaient l’administration du réseau, réorientaient les bots vers
d’autres canaux IRC protégés par un mot de passe et obtenaient ainsi le
contrôle total sur un réseau de machines infectées créé par quelqu’un
d’autre.
L’étape suivante du développement des réseaux de zombie fut le
déplacement des centres d’administration sur l’ensemble de la Toile.
Tout d’abord, les pirates informatiques développèrent des outils
d’administration à distance du serveur sur la base de scripts tels que
Perl et PHP, plus rarement ASP, JSP et quelques autres. Ensuite,
quelqu’un établissait une connexion de l’ordinateur du réseau local avec
un serveur sur Internet qui permettait d’administrer l’ordinateur
depuis n’importe où. Le schéma d’administration à distance d’un
ordinateur dans un réseau local en contournant les moyens de protection
tels que les proxy ou le NAT fut publié sur Internet et il devint très
vite populaire dans certains milieux. L’administration à distance
reposait sur l’établissement d’une connexion HTTP avec le serveur
d’administration en utilisant les paramètres locaux de l’ordinateur. Si
l’utilisateur avait défini dans les paramètres du système l’adresse, le
port, le nom d’utilisateur et le mot de passe pour le serveur proxy,
alors le mécanisme d’autorisation de la bibliothèque des fonctions pour
la prise en charge du protocole HTTP (Wininet.dll) était lancé
automatiquement. Du point de vue de la programmation, il s’agissait
d’une solution simple et accessible.
Les développements semi légitimes d’outils d’administration à
distance conçus pour contourner la protection des machines dans les
réseaux locaux et obtenir l’accès à distance donnèrent le coup d’envoi
de la création des réseaux de zombies orientés vers le Web. Un peu plus
tard, un script simple d’administration d’un petit réseau d’ordinateurs
fut créé et les individus mal intentionnés trouvèrent un moyen
d’utiliser de tels réseaux à des fins détournées.
Les réseaux de zombies orientés vers le Web étaient une solution très
pratique dont la popularité n’a pas faibli à ce jour. Il est possible
d’administrer de nombreux ordinateurs à l’aide de n’importe quel
dispositif qui a accès à Internet, y compris à l’aide d’un téléphone
mobile prenant en charge la technologie WAP/GPRS et n’importe quel
écolier peut trouver son chemin dans une interface Web. La poursuite du
développement d’Internet et le perfectionnement des technologies des
applications Web ont également stimulé l’utilisation des réseaux de
zombies orientés vers le Web.
Il y eut également des tentatives de création de réseaux de zombies
administrés via les canaux de messagerie instantanée. Ce type de réseau
de zombie n’a toutefois pas remporté un grand succès, principalement
parce qu’il requiert l’ouverture de comptes de messagerie instantanée et
dans la mesure où les dispositifs de protection contre les créations
automatiques de comptes ne cessent de changer, il est pratiquement
impossible de créer automatiquement une multitude de comptes.
Mais l’évolution des réseaux de zombies n’est pas terminée : après
avoir étudié les différentes variantes d’utilisation des protocoles, les
développeurs de réseaux de zombies se sont tournés vers l’architecture
du réseau. Le fait est que le réseau de zombies d’architecture classique
(une multitude de zombies et un centre d’administration) était
particulièrement vulnérable car il dépendait d’un noeud critique, le
centre d’administration dont la désactivation entraînerait la perte du
réseau. Les solutions qui proposent l’infection simultanée des
ordinateurs par différents bots qui s’adressent à des centres
d’administration différents fonctionnent parfois mais de tels réseaux
sont bien plus compliqués à entretenir car il faut surveiller deux ou
trois centres d’administration.
Selon les experts, les réseaux de zombies bâtis sur l’architecture
P2P (sans centre d’administration) sont plus efficaces et plus
dangereux. Le propriétaire du réseau n’a qu’à envoyer l’instruction à
une des machines et par la suite, les bots transmettent l’instruction
eux-mêmes. En principe, n’importe quel ordinateur du réseau de zombies
peut se connecter à n’importe quel autre ordinateur qui appartient au
même réseau. Les expériences sur la création de ce genre de réseau de
zombies ont été menées pendant de longues années et ce n’est qu’en 2007
que le premier réseau de zombies d’envergure basé sur l’architecture P2P
a fait son apparition. Les experts de la sécurité informatique se
penchent désormais sur les réseaux de zombies P2P.
L’attention des spécialistes de la sécurité informatique fut attirée
en 2007 par un réseau de zombies P2P créé à l’aide du programme
malveillant Storm Worm. Les auteurs du ver de la tempête avaient
tellement bien diffusé leur création qu’ils furent vraisemblablement
obligés de créer une usine entière pour créer de nouvelles versions du
programme malveillant. Depuis janvier 2007, nous recevons chaque jour
entre 3 et 5 versions de Storm Worm (Email-Worm.Win32.Zhelatin selon la
classification de Kaspersky Lab).
Certains spécialistes estiment que Storm Worm est un programme
malveillant conçu pour bâtir des réseaux de zombies de nouvelle
génération. Les caractéristiques suivantes du réseau de zombies de la
tempête indiquent que le bot a été développé et diffusé par des
professionnels et que l’architecture et la protection du réseau ont été
soigneusement élaborées :
- Le code du bot connaît des mutations, ce qui rappelle
les virus polymorphes. La différence de Storm Worm vient du fait que le
code à l’origine de la mutation ne se trouve pas dans le programme
(comme dans les virus polymorphes) mais sur un ordinateur spécial dans
le réseau. Ce mécanisme a été baptisé polymorphisme serveur (server-side
polymorphism).
- Les mutations sont assez fréquentes (un taux de
mutation d’une fois par heure a été enregistré) et, élément important,
elles se passent du côté du serveur, ce qui veut dire que les mises à
jour des bases antivirus sont inutiles pour de nombreux utilisateurs.
- Le réseau de zombie de la tempête protège ses
ressources contre les chercheurs trop curieux. De nombreux éditeurs de
logiciels antivirus téléchargent fréquemment de nouveaux exemplaires du
vers depuis les serveurs à l’origine de la propagation du programme
malveillant. Lorsque le bot détecte des requêtes fréquentes en
provenance d’une même adresse, il lance une attaque par déni de service
contre cette adresse.
- Le bot malveillant tente de fonctionner le plus
discrètement possible dans le système. Il est évident qu’un programme
qui lance des attaques en permanence va être très vite découvert par les
utilisateurs et les administrateurs. C’est la raison pour laquelle le
dosage de l’activité qui ne requiert pas un volume important de
ressources de l’ordinateur est bien plus dangereux du point de vue du
programme malveillant.
- Au lieu de communiquer avec un serveur central,
le vers de la tempête contacte uniquement quelques ordinateurs
« voisins » dans le réseau infecté, ce qui rend pratiquement impossible
la tâche d’identification de tous les zombies du réseau P2P. Il est
possible de mettre sur pied des groupes d’espionnage selon le même
principe : chaque membre d’un tel groupe connaît quelques autres membres
du groupe et la chute d’un espion ne signifie pas automatique la
découverte de l’ensemble du groupe.
- Les auteurs du vers modifient en permanence les
modes de diffusion. Au début, le programme malveillant était diffusé en
tant que pièce jointe dans des messages non sollicités (principalement
sous la forme d’un PDF), ensuite ces messages reprenaient un lien vers
les fichiers infectés. Nous avons même recensé des tentatives de
diffusions automatiques dans des blogs avec des liens vers des pages Web
infectées. Et les méthodes les plus rusées d’ingénierie sociale
accompagnent n’importe quel moyen de diffusion de ce programme
malveillant.
Le réseau de zombies de la tempête est à l’origine de plusieurs
problèmes. Outre la diffusion massive de courrier indésirable, il serait
intervenu dans diverses attaques par déni de service d’envergure dans
le monde entier et, à en croire certains experts, il aurait également
joué un rôle dans les attaques cybernétiques lancées contre l’Estonie en
2007. Le potentiel d’un tel réseau met mal à l’aise les fournisseurs
d’accès Internet et les hébergeurs de sites. Le fait que la taille
réelle du réseau de zombies de la tempête soit toujours un secret
contribue à ce malaise. Alors que d’autres réseaux de zombies, qui
reposent en tout ou en partie sur un centre de commande, peuvent être
vus tels qu’ils sont (le centre de commande montre chaque zombie
connecté), aucun expert n’a jamais vu la liste des ordinateurs infectés
et recrutés dans le réseau de zombies de la tempête. Selon les
estimations, le nombre d’ordinateurs du réseau de zombies Storm Worm
pourrait être compris entre 50 000 et 10 millions.
Vers la fin de l’année 2007, le réseau de zombies de la tempête s’est
un peu affaibli mais nous continuons toujours à recevoir chaque jour
plusieurs nouvelles versions du bot. Certains spécialistes pensent que
le réseau de zombies a été vendu en morceaux tandis que d’autres
estiment qu’il n’était pas rentable. son développement et son entretien
coûtaient plus que l’argent gagné.
Mayday
Selon nous, Mayday est un autre réseau de zombies qui se distingue
quelque peu de ses prédécesseurs par la technologie employée, ce qui le
rend intéressant. Le nom du bot (Backdoor.Win32.Mayday dans la
classification de Kaspersky Lab) et du réseau créé grâce à lui viennent
du nom de domaine contacté par un des exemplaires du programme
malveillant qui contenait le mot « mayday ».
Mayday est un autre réseau de zombies construit selon l’architecture
P2P. Une fois qu’il a été lancé, le bot se connecte au serveur indiqué
dans le corps du programme, s’enregistre dans sa base de données et
reçoit la liste de tous les bots du réseau infecté (dans le cas de Storm
Worm, il s’agissait uniquement d’une partie de la liste). Ensuite, le
bot établit des connexions d’ordinateur à ordinateur avec d’autres bots
qui appartiennent au réseau de zombies.
Nous avons recensé 6 serveurs différents dans le monde entier
(Grande-Bretagne, Etats-Unis, Pays-Bas, Allemagne) contactés par les
bots au moment de la construction du réseau de zombies. Au début du mois
de mars, seul un serveur était toujours opérationnel. Celui-ci comptait
près de 3 milles bots (pour rappel, selon les estimations les plus
modestes, le réseau de zombies de la tempête comptait des dizaines de
milliers d’ordinateurs infectés). Outre la taille, Mayday est devancé
par son « grand frère » dans plusieurs aspects importants : dans le
réseau de zombies Mayday, le protocole de communication utilisé est
élémentaire et non crypté, le code du programme malveillant n’est pas
soumis à un traitement spécial permettant de compliquer l’analyse des
logiciels antivirus et, ce qui est plus important, les nouvelles
versions du bot ne sont pas du tout diffusées selon les mêmes fréquences
que les versions de Storm Worm. Le pogramme Backdoor.Win32.Mayday fut
détecté pour la première fois par Kaspersky Lab à la fin du mois de
novembre 2007 et au cours des quatre derniers mois, nous avons ajouté à
notre collection un peu plus de 20 versions différentes du programme.
S’agissant des nouveautés technologiques, il convient de signaler l’intégration de deux approches inhabituelles.
Tout d’abord, dans le réseau Mayday, la communication d’ordinateur à
ordinateur (P2P) repose dès le début sur le transfert de messages ICMP
avec une charge utile de 32 octets.
La majorité des utilisateurs du protocole ICMP (Internet Control
Message Protocol – protocole de message de contrôle sur Internet)
connaît ce dernier via l’utilitaire PING qui utilise ICMP pour vérifier
l’accès au réseau de l’hôte. Toutefois, les fonctions de bases du
protocole sont bien plus étendues. Voici ce que nous dit Wikipedia sur
le protocole ICMP : « ICMP est un protocole de communicationprotocole de
réseau, qui fait partie de la suite des protocoles Internetpile de
protocoles TCP/IP. Il est utilisé principalement pour véhiculer des
messages d’erreur ou relatifs à d’autres situations exclusives qui
surviennent lors du transfert de données. Le protocole ICMP est
également doté de quelques fonctions de services ».
L’illustration 10 reprend l’interface du sniffer de paquets de réseau
qui enregistre le transfert de paquets ICMP du bot Mayday. A notre
connaissance, aucun autre bot n’avait jamais utilisé ICMP pour
transmettre des données.
Ill. 3. Paquets ICMP envoyés par le bot Mayday
A l’aide du protocole ICMP, il est possible de vérifier l’accès des
bots dans le réseau infecté ainsi que leur identification. Dans la
mesure où le bot Mayday est orienté vers un fonctionnement dans Windows
XP SP2, il remplace, après le lancement, la règle du pare-feu Windows
afin d’autoriser la réception de paquets ICMP.
La deuxième particularité du réseau de zombies Mayday, et peut-être
la caractéristique principale, est son centre d’administration.
Le mécanisme connu sous le nom de CGI (Common Gateway Interface) est
utilisé pour le fonctionnement des centres d’administration des réseaux
de zombies orientés vers le Web. A l’origine, la technologie des
serveurs Web fut conçue pour pouvoir utiliser les fichiers exécutables
en tant que réalisation CGI et par la suite, divers scripts firent leur
apparition. Une application CGI génère en temps réel le contenu demandé
par l’utilisateur de la page Web, garantit l’exécution des programmes et
affiche les résultats de son travail avec les statistiques du serveur.
Un script CGI fonctionne de la même manière mais il requiert un
interprète, un moteur de script, pour afficher les résultats de son
travail. En règle générale, les centres de commande des réseaux de
zombies orientés vers le Web sont développés par des individus mal
intentionnés à l’aide de moteur de script.
Grâce à une collaboration avec les forces de police, nous avons pu
obtenir une copie du programme qui fonctionne dans le centre de commande
du réseau de zombies Mayday. L’application serveur Mayday est une
fichier exécutable ELF complet (sans modules) de 1,2 Mo (équivalent
Linux des fichiers exécutables EXE de Microsoft Windows) qui ne requiert
pas la présence de moteur de script dans le système. A première vue, il
n’y a rien d’étonnant à ce que les auteurs de Mayday développent une
application CGI avec un script CGI. Toutefois, une telle décision
suscite plusieurs questions.
Le développement d’une application CGI est en plusieurs points plus
compliqué que le développement d’un script CGI car l’opération requiert
des efforts particuliers pour produire un code stable et fiable. A
l’heure actuelle, 99% des applications Web reposent sur un script et les
programmes CGI monolithiques sont créés uniquement lorsqu’il faut
absolument tout optimiser jusqu’au moindre détail. En règle générale,
cette démarche est adoptée par les grandes entreprises lorsqu’elles
développent des projets qui doivent fonctionner dans des conditions de
charge élevée. Ainsi, on retrouve des programmes exécutable
monolithiques CGI dans des systèmes Web tels qu’e-Bay, Paypal, Yahoo,
etc.
Pourquoi dès lors créer un fichier exécutable sans module dans le cas
du réseau de zombies Mayday ? Une des explications possibles serait le
désir des développeurs de compliquer la tâche des tiers qui
souhaiteraient modifier, reconfigurer puis revendre le centre
d’administration. Quoi qu’il en soit, l’analyse de la structure de
l’application serveur de Mayday laisse croire qu’un produit aussi
sérieux (le code est précis, le système de classes est universel) est le
fruit d’une équipe de programmeurs bien organisés. De plus, pour créer
l’application du réseau de zombies Mayday, les individus mal
intentionnés ont probablement dû travailler sur deux projets différents :
un pour Windows et l’autre pour Linux.
Au printemps 2008, Kaspersky Lab n’a enregistré aucune nouvelle
version du bot Mayday. Il se peut que les auteurs du programme
malveillant aient pris des vacances et que le réseau de zombies Mayday
se manifeste à nouveau à court terme.
L’état du marché parallèle créé autour des réseaux de zombies peut
nous aider à comprendre pourquoi ces réseaux continuent à se développer
et pourquoi la problématique est toujours d’actualité. De nos jours, les
cybercriminels qui utilisent les réseaux de zombies n’ont pas besoin de
connaissances particulières ou de sommes considérables. Le marché noir
des réseaux de zombies offre à un prix raisonnable tout ce qu’il faut à
la personne désireuse d’acquérir un réseau de zombies : l’application,
des réseaux constitués et des services d’hébergement anonymes.
Penchons-nous un instant sur cet aspect d’Internet afin de voir
comment fonctionne le secteur des réseaux de zombies qui offre des
services aux propriétaires de tels réseaux.
Le premier élément indispensable à la création d’un réseau de
zombies, c’est le bot lui-même, à savoir le programme qui permet
d’exécuter à distance certaines actions sur l’ordinateur de la victime à
l’insu de celle-ci. L’application requise pour la création d’un réseau
de zombies peut se procurer facilement sur Internet. Il suffit de
trouver l’annonce et de contacter la personne qui l’a passée.
Ill. 4. Annonce pour la vente d’un bot et d’un tableau de bord (traduit du russe)
Le prix d’un bot varie entre 5 et 1 000 dollars américains en
fonction de la diffusion du bot, de sa détection par les logiciels
antivirus, des instructions qu’il prend en charge, etc.
Pour construire le plus élémentaire des réseaux de zombies orientés
vers le Web, il faut disposer d’un endroit où placer le centre de
commande. N’importe quelle personne qui le souhaite peut acheter un tel
espace avec un service d’assistance et la possibilité de travailler
anonymement avec le serveur (l’hébergeur garantit dans ce cas
l’inaccessibilité des journaux à quiconque, y compris aux organes
compétents). Les annonces semblables à celle reprise ci-après sont
nombreuses sur Internet.
Ill. 5. Offre de service d’hébergement pour la construction d’un réseau de zombies
Une fois que le centre de commande est placé, il faut obtenir les
machines infectées par le bot. Il est possible d’acheter une réseau
préparé avec le bot d’une autre personne. Dans la mesure où les vols de
réseaux de zombies entre individus mal intentionnés sont fréquents,
l’acheteur, en règle générale, préfère utiliser son propre programme et
son propre centre de commande une fois qu’il a reçu le contrôle garanti
du réseau de zombies. Pour ce faire, le bot du réseau acheté reçoit
l’instruction de télécharger et d’exécuter un nouveau bot (avec une
nouvelle adresse de centre de commande) puis s’autodétruit. Le bot
d’autrui est remplacé et le réseau de zombies commence à interagir avec
le nouveau centre de commande. Un tel « redémarrage » des réseaux de
zombies s’impose aussi bien du point de vue de la protection que de
l’anonymat : il est tout à fait possible que le « vieux » centre de
commande et le « vieux » bot aient déjà été remarqués, avant la vente,
par les spécialistes de la sécurité informatique.
Malheureusement, la construction de son propre réseau de zombies ne
pose pas de difficultés particulières : il existe des outils spéciaux
pour ce faire. Les plus populaires d’entre eux sont les paquets
logiciels tels que Mpack, Icepack et WebAttacker. Ils permettent
d’infecter les systèmes informatiques des visiteurs d’une page Web
malveillante en exploitant les vulnérabilités du navigateur et de ses
modules externes. Ces programmes sont désignés sous l’expression
« système Web d’infection massive » ou simplement ExploitPack. Une fois
que le code d’exploitation a été activé, le navigateur télécharge sur
l’ordinateur de l’utilisateur un fichier exécutable et l’exécute. Ce
fichier est le bot qui ajoute le nouveau zombie au réseau et transfère
son administration à l’individu mal intentionné.
Malheureusement, il est si facile de trouver ces outils que même un
adolescent peut se les procurer et tenter de gagner de l’argent en les
revendant.
Ill. 6. Un adolescent de 16 vend MPack
Il est intéressant de constater qu’ExploitPack est à l’origine le
fruit des travaux de pirates russes et qu’il a trouvé par la suite des
utilisateurs dans d’autres pays. Ces programmes malveillants ont été
localisés (ce qui témoigne de leur réussite commerciale sur le marché
noire) et ils sont désormais énormément utilisés en Chine par exemple.
Ill. 7. version originale russe de IcePack
Ill. 8. Version d’Icepack traduite en chinois
Plus un système est populaire et couronné de succès sur le marché du
cybercrime, plus il est facile à utiliser. Les développeurs de tels
systèmes l’ont bien compris et par conséquent, pour renforcer la
popularité de leur création et pour augmenter la demande, ils mettent au
point des mécanismes d’installation et de configuration simplifiés,
qu’il s’agisse d’un système pour le centre de commande ou simplement
d’un ExploitPack.
Ainsi, l’installation d’un centre de commande, suppose en général la
copie des fichiers sur le serveur Web et la requête du script
install.php à l’aide du navigateur. L’existence d’une interface Web dans
l’installateur facilite énormément la tâche : le cybercriminel n’a qu’à
remplir correctement les champs du formulaire pour que le centre de
commande soit configuré correctement et qu’il puisse commencer à
fonctionner.
Ill. 9. Installateur Web d’un centre de commande
Les cybercriminels savent que tôt ou tard les logiciels antivirus
commenceront à déceler les bots. Par conséquent, les machines infectées
dotées d’un logiciel antivirus seront perdues et la vitesse d’infection
de nouveaux ordinateurs sera considérablement réduite. Les propriétaires
de réseaux de zombies utilisent quelques moyens pour tenter de
préserver leur réseau. Le plus efficace consiste à protéger le programme
malveillant contre la détection grâce à un code exécutable spécial : le
marché du cybercrime propose un large éventail de services de cryptage,
de compactage et d’obfuscation.
Ill. 10. Offre de service de traitement des programmes pour mettre le code à l’abri des logiciels antivirus
Ainsi, Internet propose tout ce qui est indispensable à la réussite
de l’existence et du développement des réseaux de zombies. Il est pour
l’instant impossible d’interrompre le développement du secteur des
réseaux de zombies.
A l’heure actuelle, les réseaux de zombies constituent une des
principales sources de revenus illégaux sur Internet et ils peuvent se
transformer en armes redoutables entre les mains d’individus mal
intentionnés. Il ne faut pas s’attendre à ce que les cybercriminels
abandonnent un instrument aussi efficace et les spécialistes de la
sécurité informatique sont inquiets pour l’avenir en raison des
développements des technologies propres aux réseaux de zombies.
Le danger de ces réseaux est renforcé par la simplicité croissante de
leur utilisation qui, bientôt, sera à la portée du premier écolier
venu. La possibilité d’accéder à l’administration d’un réseau de
machines infectées est déterminée non pas par les connaissances
spéciales de l’individu mal intentionné mais par la taille de son
portefeuille. Et les prix sur le marché développé et structuré des
réseaux de zombies sont raisonnables.
La construction de réseaux de zombies internationaux est intéressante
non seulement pour les cybercriminels mais également pour les Etats qui
sont disposés à utiliser ce genre de réseau en tant qu’outil de
pression politique ou qu’arme dans les cyberguerres entre Etats. De
plus, la possibilité de pouvoir gérer anonymement les machines infectées
quel que soit leur emplacement géographique permet de provoquer de tels
conflits dans un intérêt particulier : il suffit d’organiser une
cyberattaque sur les serveurs d’un pays depuis les ordinateurs d’un
autre.
Les réseaux composés de dizaines, de centaines de milliers voire de
millions d’ordinateurs infectés possèdent un potentiel dangereux qui,
heureusement, n’a pas encore été pleinement exploité. Entre-temps, la
majorité de cette puissance repose sur les ordinateurs infectés de
particuliers. Ce sont eux qui représentent la majorité des zombies et ce
sont eux que les individus mal intentionnés utilisent à leur fin.
Pensez à dix de vos amis et connaissances qui possèdent un ordinateur
et il est plus que probable que l’ordinateur de l’un d’entre eux
appartienne à un réseau de zombies quelconque. Et qui sait, il s’agit
peut-être de votre ordinateur ?