Sebastien_Goutal_CSO-Vade-Retro
Les botnets : acteurs majeurs de l’ombre
L’écosystème d’Internet est d’une complexité insoupçonnée, et en particulier sa part obscure. Au coeur de cet écosystème, les botnets tiennent une place de choix, et sont à l’origine d’un très grand nombre de menaces qui occupent à plein temps les différents acteurs de la sécurité informatique.
Mais tout d’abord, qu’est-ce qu’un botnet? Littéralement, un botnet est la contraction de deux termes: “robot” et “network”. Il s’agit donc d’un réseau de robots – robot désignant un agent ou un programme informatique – dont la finalité est malveillante. Les exemples d’activité malveillante sont nombreux, et l’envoi de spam et de virus par email sont des exemples-types de l’activité des botnets. Un botnet est contrôlé par une personne physique: il s’agit du botmaster (Il peut évidemment y avoir plusieurs botmasters pour un même botnet.)
Nous allons présenter plus en détail les botnets, en nous intéressant au cycle de vie de ces derniers : ce choix de perspective permettra d’appréhender toute la problématique relative aux botnets, autant d’un point de vue technique que d’un point de vue économique et juridique.
Naissance d’un botnet
Le support physique d’un agent malveillant – ou malware – est une machine zombie : il s’agit en général d’un ordinateur contrôlé par le botnet, à l’insu de son utilisateur légitime. Un exemple typique de machine zombie est un ordinateur familial placé derrière une connexion ADSL, dont des éléments essentiels à la sécurité ne sont pas à jour (système d’exploitation, navigateur internet, anti-virus…) et qui a été compromis soit par l’exécution d’une pièce jointe contenant un virus, soit par la visite d’un site web infecté. S’appuyer sur une telle infrastructure a des avantages indéniables d’un point de vue économique : les coûts, que ce soit le hardware, la bande passante ou l’électricité sont intégralement à la charge de son utilisateur légitime.
Donner naissance à un botnet revient à constituer un réseau de machines zombies, par l’intermédiaire d’une phase d’infection virale de grande ampleur. Cette phase d’infection se déroule en plusieurs étapes:
-
Le développement d’un malware qui permettra à la machine zombie de communiquer avec le botnet, et d’effectuer les activités malveillantes. Ce développement nécessitera en outre l’exploitation d’une faille de sécurité, qui peut être innovante, ou bien déjà connue, pour installer le malware à l’insu de l’utilisateur légitime. A noter que certaines failles de sécurité innovantes – et pouvant potentiellement affecter des systèmes d’exploitation ou des logiciels récents – peuvent être achetées ou vendues sur le marché noir.
-
La constitution d’un carnet d’adresses, qui est la liste des utilisateurs cibles de la phase d’infection virale. Ces listes peuvent être constituées par des robots qui collectent des adresses emails trouvées sur Internet (En parcourant des forums de discussion par exemple.) ou bien être achetées directement sur le marché noir.
-
L’envoi d’une campagne d’emails qui, soit contient le malware sous forme de pièce attachée, soit fait référence à ce malware par l’intermédiaire d’un lien vers un site web infecté. L’envoi de cette campagne peut d’ailleurs être sous-traité en sollicitant les services d’un autre botnet.
-
La réception d’un email contenant le malware sous une des formes précisées précédemment et l’installation de ce dernier par certains utilisateurs cibles de la phase d’infection virale. Le taux d’infection est très variable et dépend d’une part du niveau de protection de chaque utilisateur, et d’autre part de la qualité de la faille de sécurité exploitée.
Suite à cette phase d’infection initiale qui permet au botnet de prendre vie, d’autres phases d’infection peuvent avoir lieu pour agrandir le botnet (De la même manière, des phases d’infection peuvent avoir lieu pour reconstituer un botnet qui a été partiellement démantelé.). Un botnet peut atteindre une taille considérable : on estime par exemple que le botnet Bredolab était constitué à son paroxysme de près de 30.000.000 de machines zombies.
Vie d’un botnet
Suite à l’installation du malware sur la machine cible, ce dernier va contacter un des nombreux serveurs de contrôle et de commande du botnet (Les serveurs de contrôle et de commande sont généralement installés chez des hébergeurs, car ils doivent avoir une capacité – en terme de bande passante, de stockage et de traitement – importante. Le pilotage et la supervision de millions de machines zombies nécessite des ressources importantes et un niveau de compétence technique élevé). Ces serveurs servent à piloter (La communication entre les machines zombies et les serveurs de contrôle et de commande est effectuée selon un protocole propre au botnet, qui peut être éventuellement crypté.) les activités des machines zombies, à collecter des informations, et également à mettre à jour le malware : ils constituent la clé de voûte de l’infrastructure de communication du botnet.
Le malware va espionner la machine cible, et remonter toute information utile : numéro de cartes bancaires, mots de passe, données personnelles (nom, prénom, numéro de sécurité sociale… utilisés à des fins d’usurpation d’identité), carnet d’adresses…. Ces données seront ensuite agrégées, et utilisées directement ou bien revendues sur le marché noir par le botmaster. A noter que les adresses email collectées sont d’une grande importance pour le botnet, car elles permettent d’effectuer de nouvelles phases d’infection virale permettant d’agrandir ce dernier.
En outre, le malware va effectuer les différentes tâches qui lui seront affectées, parmi lesquelles :
-
L’envoi d’une campagne de spam ou de virus, en utilisant un modèle d’email et une liste de destinataires : à ce modèle seront ajoutés des éléments variables et aléatoires, de manière à échapper aux systèmes de filtrage par signature.
-
Effectuer une attaque par déni de service distribué (Une attaque par déni de service consiste à rendre indisponible un service internet en le saturant de demandes de connexion. On parle d’une attaque par déni de service distribué si un grand nombre de machines participe à cette opération, ce qui est toujours le cas pour un botnet. On pourra citer par exemple l’attaque menée en décembre 2010 par le groupe Anonymous contre les sites de Paypal, Visa et Mastercard, lors de l’affaire Wikileaks, et qui a été largement médiatisée)
-
Effectuer de la fraude au clic (Le fraude au clic consiste à effectuer de manière automatisée des clics sur des liens publicitaires, ce qui remet en cause le modèle économique des liens sponsorisés, qui est très populaire sur Internet. On estime que plus de 20% des clics sur les liens publicitaires sont d’origine frauduleuse) pour générer des revenus publicitaires frauduleux.
-
Effectuer du calcul intensif, en particulier pour casser certaines clés de cryptage.
Exemple de génération de spams à partir d’un modèle de campagne
Ces activités peuvent être exercées pour le compte du botmaster, mais dans la plupart des cas elles sont vendues comme une prestation à d’autres acteurs : industriels de la contrefaçon (La contrefaçon concerne principalement les montres de prestige, les produits de luxe, les médicaments – dont le fameux Viagra – et l’édition logicielle), organisations criminelles…
Prenons l’exemple classique du spam :
-
Une organisation souhaite proposer à la vente des contrefaçon
s (montres de prestige, produits de luxe…). -
Elle contacte le botmaster, et lui demande d’envoyer une campagne publicitaire à grande échelle. Le botmaster joue donc le rôle de prestataire de service pour le routage des emails : il fournit – contre rémunération (Les prix sont variables, et dépendent surtout de la qualité du carnet d’adresses. On estime que l’envoi d’un million de spams coûte en moyenne moins de 100$ pour le client) – les moyens techniques d’envoi ainsi que les carnets d’adresses des destinataires.
-
La campagne de spam est envoyée, avec une volumétrie souvent considérable (On a estimé par exemple la capacité d’envoi quotidienne du botnet Rustock à environ 30.000.000.000 d’emails. C’est un volume considérable, et cela donne la mesure de la dangerosité des botnets). Du fait des moyens techniques mis en œuvre pour limiter le spam, un pourcentage assez faible atteindra le destinataire final, et le taux de transformation sur le site de contrefaçon sera d’autant réduit. Toutefois, la volumétrie considérable en amont – souvent plusieurs millions voire milliards d’emails – lié au coût quasi-nul en terme d’infrastructure – le coût financier étant à la charge des propriétaires des machines zombies – font que ce modèle reste très rentable.
-
L’organisation qui vend les contrefaçons reçoit par la suite un grand nombre de commandes, qu’elle pourra choisir d’honorer ou pas : si elle honore la commande, elle enverra donc la contrefaçon au client et crée ainsi une relation commerciale classique ; si elle ne l’honore pas, elle utilise les données bancaires capturées pour un autre usage.
-
L’argent gagné par l’organisation vendant des contrefaçons restant dans un cadre illégal, elle devra le blanchir. A ce titre, elle pourra encore une fois utiliser les services proposés par le botmaster en envoyant une campagne d’emails pour recruter des money mules (A noter que le terme de mule désigne dans le langage courant une personne transportant de la drogue d’un pays à l’autre, et parfois à son insu.). Une money mule est une personne physique acceptant – contre forte rémunération – d’effectuer des opérations bancaires pour le compte d’une entreprise : ces opérations bancaires permettent à l’entreprise de blanchir des sommes d’argent, et la money mule prend à son insu toutes les responsabilités légales relatives à cette opération.
Exemple d’email de recrutement d’une money mule
Mort d’un botnet
Étant donné le rôle essentiel donné aux serveurs de contrôle et de commande, le démantèlement d’un botnet passe par la mise hors service de ces derniers, et cette opération nécessite une intervention des autorités auprès des sociétés hébergeant les serveurs de contrôle et de commande.
On pourra ainsi citer le cas du botnet Bredolab, qui le 25 octobre 2010, a été fortement affaibli suite à la saisie par les autorités hollandaises de 143 serveurs auprès de l’hébergeur hollandais LeaseWeb. Toutefois, le botnet est toujours en vie, grâce à la présence d’autres serveurs de contrôle et de commande en Russie et au Kazakhstan.
Autre exemple: le botnet Grum, qui a été complètement démantelé en juillet 2012, avec des opérations menées conjointement par les autorités en Hollande, au Panama et en Ukraine.
La capacité à mettre hors service un botnet est par conséquent principalement conditionnée par la bonne volonté des autorités des pays où sont hébergés les serveurs de contrôle et de commande : la problématique n’est plus d’ordre technique, mais d’ordre juridique et politique.