Le Botnet Storm

Notez cet article

Suite à l’attaque par mail dont j’ai été la victime, je me suis penché un peu plus en profondeur sur l’inquiétant phénomène Botnet qui est sans nulle doute la pire menace jamais créée sur Internet.

Même si le chiffre me semble ridiculement bas, il existe une bonne dizaine de Botnets clairement identifiés par des « chasseurs » : le Kraken, composé de plus de 400000 machines capable de générer 9 milliards de spams par jour, le Srizbi autrefois responsable de 60% du spam sur Internet, etc.

Parmi tout cela, l’un de ces Botnet a retenu toute mon attention pour le très haut niveau de technicité employé dans son utilisation: il s’agit du Botnet Storm.

Le Storm, encore appelé Storm Worm, de part son étroite relation avec un cheval de Troie du même nom, a été identifié pour la première fois en Janvier 2007. Les médias prétendent que ce Botnet serait composé de 1 à 50 millions de machines, mais les experts estiment que « seulement » 160000 machines forment ce Botnet.

Bien entendu, il est très difficile de déterminer l’origine du Storm: certains pensent qu’il serait contrôlé directement depuis le sol Américain alors que d’autres estiment, qu’à l’instar de plusieurs de ces « confrères », il serait Russe et même l’œuvre du sinistre Russian Business Network, une occulte organisation cyber-criminelle.

Comme tous les autres Botnet, le but principal du Storm est de générer du spam de nature différente: fichiers PDF ou Excel contenant des images, enregistrement vocal de MP3, texte brut, et email d’hameçonnage (Phishing). Au mois de mars 2008, 20% des spams sur Internet proviendrait du Storm.
Il est également à noter qu’une partie des machines est exclusivement dédiée à l’extension du Botnet, en envoyant par mail des chevaux de Troie chargés d’infecter les machines sur Internet.

Outre le spam, le Botnet est également capable de lancer des attaques DDOS contre d’autres groupes et organisations mais aussi en direction de ceux qui le traquent.

Si le Storm est particulier, c’est que son anatomie est différente des autres Botnet. Au fil du temps, ces auteurs semblent s’être durement focalisés sur la survie de leur création, passant d’une organisation relativement simple et classique à quelque chose de beaucoup plus sophistiquée.

Dans un Botnet rudimentaire, vous trouvez toujours un serveur principal appelé Command and Control (C&C) qui se charge de contacter et de contrôler ces milliers de machines contaminées sur tout le réseau. Pour casser ce type de Botnet, il suffit donc de trouver le C&C et de le désactiver: les machines Zombies sont alors privées de toute commande à distance et rendues partiellement inoffensives.

Le Storm a une approche foncièrement différente et s’organise en différentes couches. Tout en haut de la pyramide, vous avez un C&C tournant sous Apache, et vraisemblablement placé en Russie, selon les dires des experts. Au niveau inférieur, vous trouvez un proxy Nginx chargé de dissimuler la présence du C&C.
Au troisième niveau, vous trouvez une collection de Nginx qui masque le proxy principal du niveau supérieur. Au quatrième niveau se trouvent les nœuds publiques qui agissent comme des reverse proxies et qui renvoient les communications vers le C&C, agissant comme des serveurs DNS fast flux. La technique du fast flux consiste à associer un même nom de domaine à plusieurs IP différentes, et ce rapidement. Finalement, le dernier niveau se compose de milliers de machines serviles, réparties sur tout l’ensemble du réseau.

Le processus d’infection se fait généralement par mail mais peut aussi être déclenché via le réseau P2P. Lorsque la victime a cliqué sur le lien situé dans son mail, le programme va télécharger un fichier exécutable directement depuis un nœud du quatrième niveau. Une fois infectée, la machine compromise et le nœud s’échangent l’adresse IP du nouveau Zombie. L’information est alors envoyée au troisième niveau, puis au second pour finalement parvenir au C&C.

Au deuxième et troisième niveau, les proxies Nginx écoutent le trafic P2P des réseaux Overnet et eDonkey. Overnet est un réseau à base de table de hachage distribuée (DHT) basé sur l’algorithme Kademlia. Il s’agit du même protocole utilisé par les anciennes versions de eDonkey. Depuis octobre 2007, le Storm a changé son protocole: non seulement il utilise Overnet pour communiquer, mais les dernières versions du programme utilisent désormais leur propre réseau P2P. Ce réseau est quasiment identique à Overnet si ce n’est que l’information qui y circule y est encryptée.

Pour identifier les nœuds ainsi que le contenu sur le réseau Overnet, l’algorithme DHT utilise une clé linéaire (Généralement 128 bits) . Tous les algorithmes DHT ont leur propre façon de calculer la distance logique entre deux nœuds ou entre un nœud et du contenu distribué.

Kademlia calcule la distance entre les nœuds en effectuant un ou exclusif entre leur hachage publié.
Lorsqu’une machine souhaite trouver du contenu sur le réseau, elle calcule (ou reçoit) le hachage du contenu et recherche des machines adjacentes à elle même. Ces dernières répondent également en annonçant leurs propres machines adjacentes. Le processus est répété jusqu’à ce qu’une machine soit à même de répondre à la requête de la recherche du contenu.

C’est parce que le réseau Overnet fonctionne sur un modèle de distribution qu’il n’existe aucun annuaire des machines. La liste des machines actives ainsi que le contenu publié sont distribués en petits morceaux directement dans la mémoire de toutes les machines du réseau. C’est toujours l’absence d’annuaire centralisé ainsi que la nature dynamique de ce qui est stocké dans la DHT qui rend le Storm tellement résistant à son démantèlement.

En conclusion, je dirai qu’à la vue de tout ce que j’ai pu lire sur le sujet, ce botnet est un véritable chef d’œuvre de technologie au service du mal. Sa complexité et son architecture lui ont valu le privilège d’être le sujet de plusieurs études, voir même de thèses écrites par des chercheurs de haut niveau. Maintenant, loin de moi de vouloir faire l’apologie du cybercrime, on ne peut que rester perplexe devant un tel déchainement de recherches techniques, de réflexions et d’efforts, surtout pour de si noirs desseins.

3 commentaires sur “Le Botnet Storm

  1. Thibaut

    Super intéressant ton analyse (c’est assez passionnant il faut bien l’avouer !). Je ne connaissait pas du tout ce Botnet Storm, ni nginx qui je suppose n’est utilisé que du côté « obscur de la force » ?

    A bientôt

    Xav

  2. Bonjour,
    Quelques infos :
    il existe près de 3500 botnets de quelques dizaines de machines à près de 400.000 pour les plus gros.
    Le sujet est très complexe. Les technologies ont beaucoup évoluées. Auj, il s’agit de botnets high tech difficiles à démanteler, décentralisés.
    Sur la planète près de 1,5 millions de machines sont des bots. En moyenne tout les bots ne sont pas connectés et le botnet voit sans cesse des machines se connecter et se déconnecter.

    Je vous invite à consulter mon mini dossier :
    http://securite-informatique.over-blog.fr

    Cdlt,
    J-F

Laisser un commentaire