Storm Worm : Un "malware" de nouvelle génération

Date : 05 Février 2008

Comme nous le mentionnons dans notre bilan sur l'année 2007, le malware "StormWorm" (aussi connu sous les noms "Zhelatin", "Nuwar", "PeaComm" ou  "CME-711") est pour nous l'un des événements majeurs de l'année 2007 dans le domaine de l'évolution technique des codes malveillants.

 
Il est exemplaire parce qu'il regroupe en un seul "malware" des techniques très différentes et très sophistiquées qui couvrent tout le cycle d'attaque :

  • Attaque de l'utilisateur au travers du navigateur web
  • Infection du poste et défense contre la désinfection (rootkit) et l'analyse (technique anti-détection et anti-analyse)
  • Actions malfaisantes à travers un "botnet" P2P totalement décentralisé.

Le Cert-IST a  suivi les différentes mutations de "Storm Worm" tout au long de 2007 dans le cadre de sa veille quotidienne sur les vulnérabilités. Nous avons aussi analysé en profondeur ce malware en septembre 2007 dans le cadre d'un traitement d'incident.

 
Histoire et mutations de StormWorm.

 StormWorm a déjà un an d'existence et il nous a paru donc intéressant de retracer son histoire.


 Janvier 2007 : Première apparition de "StormWorm", qui se présente comme un e-mail relatif aux tempêtes en Europe du nord (le nom de "Storm Worm" vient de cette première campagne de mailing massif à propos des tempêtes). A cette époque, "StormWorm" est un simple fichier exécutable joint à un e-mail (par exemple un fichier "Video.exe"). Si le destinataire exécute ce fichier (croyant voir une vidéo) il infecte alors son poste.

Nota : Dès cette époque "StormWorm" est déjà un "bot P2P" (voir la description technique des "bot P2P" plus loin dans l'article).

Pendant tout le premier semestre de 2007, plusieurs campagnes de SPAM vont avoir lieu et chercheront par différents prétextes (par exemple la St Valentin 2007, une carte électronique "Greeting Card", ou une alerte de sécurité) à faire exécuter par l'utilisateur une pièce jointe malicieuse. Différents types de pièces jointes seront successivement utilisés, y compris un fichier "zip" protégé par un mot de passe fourni dans le e-mail. A cette époque le malware "StormWorm" devient plus résistant en intégrant par exemple des fonctions empêchant son analyse (voir par exemple le rapport d'avril de l'ISC : http://isc.sans.org/diary.html?storyid=2612 )

 

 Juin 2007 : Infections à partir de sites web malicieux. A partir de juin 2007, l'exécutable malicieux n'est plus envoyé en pièce jointe à un e-mail. Il est désormais placé sur un site web malicieux. Des e-mails attirants sont alors envoyés en masse pour inciter l'internaute à visiter ce site web (par exemple avec un message du type "Rendez vous sur le site XXXX pour télécharger votre carte d'anniversaire !").

Si l'internaute se rend sur le site web, il est automatiquement attaqué pour tenter d'infecter son poste sans interaction de sa part. Si cela ne fonctionne pas, la page web visitée propose également de télécharger un fichier exécutable (qui est bien sûr un fichier malicieux) sous un prétexte habilement choisi (par exemple avec un message du type "Si le téléchargement automatique de votre carte virtuelle ne démarre pas, veuillez télécharger le fichier XXXXX.exe.").

 
Eté 2007 : Les envois massifs d’e-mails incitatifs se multiplient. Durant tout l'été, les e-mails proposant de visiter des sites web (malicieux) se multiplient dans des proportions incroyables.

  • Par exemple le rapport http://www.secuser.com/alertes/2007/storm-worm-agentaf.htm liste 55 scénarios successifs utilisés par StormWorm entre le 22/06/2007 et le 25/08/2007 pour attirer l'internaute vers des sites malicieux.
  • Le nombre d'e-mails infectés par "StormWorm" détectés sur les passerelles antivirales grimpe de façon frénétique.

 La presse spécialisée avance à cette époque des chiffres de progression faramineux (mais pas vraiment étayés) :

 

 Automne et hiver 2007 : StormWorm devient plus discret, mais persiste

A partir de la fin septembre, le phénomène StormWorm semble diminuer en taille.

Tout d'abord, des études plus approfondies modèrent les résultats publiés jusque là dans la presse (15 millions d'ordinateurs auraient été infectés par Storm Worm mais seules 25 000 machines seraient toujours actives en octobre 2007). Ensuite les défenses s'organisent. Par exemple, en septembre, Microsoft a ajouté "StormWorm" à la liste des codes malveillants éradiqués par l'outil "Malicious Software Removal Tool (MSRT)" (outil inclus à Windows et automatiquement mis à jour via "Windows Update"). Microcroft indique avoir désinfecté alors prés de 300 000 machines en une semaine (sur un parc de 350 millions de machines utilisant le MSRT).

Malgré ce retrait, StormWorm continue de circuler sur Internet et à évoluer. Le réseau P2P utilisé par StormWorm semble à cette époque avoir été segmenté en "ilots" indépendants, certains trafics P2P deviennent "encodés", voire même chiffrés. A Noël, StormWorm circule à nouveau en proposant des vidéos sexy des femmes du père Noël …. Au nouvel an il se présente comme une carte de vœux …. et dès le 15 janvier en une carte virtuelle pour  la St Valentin …. (pour la deuxième fois depuis sa naissance en janvier 2007, la boucle est bouclée).


 Ce que StormWorm a de remarquable

 Au-delà de sa longue histoire, StormWorm regroupe dans un seul "malware" des caractéristiques techniques très intéressantes. Certaines sont inédites (les aspects "botnet P2P") alors que les autres avaient déjà été vues individuellement (mais rarement regroupées dans un seul malware).

Infection automatique lors de la visite d'un site web malicieux. Les sites web vers lesquels les e-mails de "StormWorm" attirent les internautes sont très dangereux. Le simple fait de les visiter (sans télécharger le fichier exécutable qui vous sera proposé sur le site) peut provoquer l'infection du poste de l'internaute. En effet ces sites web utilisent des outils d'attaque (similaires à l'outil "MPack" que nous avons décrit en juin 2007 dans notre bulletin mensuel), capables de déterminer le type et la version du navigateur web de l'internaute et d'envoyer un code d'attaque approprié pour cet environnement. Si le poste de l'internaute n'est pas à jour en terme de correctifs de sécurité, ou si une faille "0-day" est utilisée (faille pour laquelle aucun correctif n'est disponible), alors l'infection du poste est immédiate, dès la visite du site piégé.

Les sites web malicieux forment un réseau "FastFlux" résistant aux pannes. Le site web vers lequel StormWorm essaye d'attirer les internautes (site web cité dans des e-mails souvent racoleurs) ne correspond pas à une machine unique, mais à un ensemble de machines interchangeables, qui pointent elles-même vers un second rang de machines "en base arrière" chargées d'infecter le poste. Ce modèle utilise un mécanisme récemment baptisé "fastflux" (mais connu depuis longtemps comme une technique de load-balancing DNS) qui associe, grâce au DNS, "n" machines à un nom de domaine unique (voir la définition Wikipedia de "fastflux"). L'utilisation du "fastflux" rend difficile l'arrêt du site web pointé par les e-mails malicieux puisqu'il faut stopper l'intégralité des "n" sites web enregistrés pour ce nom de domaine.

Le virus infectant le poste de l'internaute est difficile à détecter par un antivirus classique. Le code malicieux qui est injecté sur la machine qui visite le site web est difficile à détecter par les logiciels antivirus parce qu'il s'agit d'un virus polymorphe (le code de ce virus change de façon très fréquente de façon à échapper à une détection lors d'une analyse antivirale basée sur la signature).

Ce virus est très résistant à l'analyse et la désinfection.

Comme le montre l'analyse technique publiée sur le site www.reconstructer.org (intitulé "Peacomm.C - Cracking the nutshell"), le code malicieux déposé sur le poste d'un internaute infecté contient de nombreuses fonctions empêchant l'analyse ou la désinfection :

  • Le code est chiffré (par une première passe "XOR" puis une passe de chiffrement "TEA")
  • Il inclut un "rootkit" (en modifiant la SSDT de Windows) qui rend certains fichiers malicieux sur le poste de travail invisibles.
  • Il surveille les processus lancés sur le poste infecté et est programmé pour stopper une vingtaine de produits de type antivirus, pare-feux personnels ou anti-rootkit.
  • Il inclut des fonctions bloquant les débuggers et est capable de détecter les environnements virtualisés de type "Vmware" (environnements souvent utilisés pour analyser les logiciels malveillants).

Il installe sur le poste un "Bot P2P"

Le virus qui infecte le poste de l'internaute est en fait un "bot" (contraction de "robot"). Cette analogie vient du fait qu'il exécute des actions malveillantes pré-programmées lui permettant de rejoindre l'ensemble des autres machines infectées par StormWorm, tel un robot. Cet ensemble constitue un "botnet" (réseau de "bots") piloté à distance par le pirate. Les botnets  jusqu'à présent utilisaient un serveur central IRC pour leurs échanges, ce qui constituait une faiblesse chronique (il suffisait de stopper le serveur IRC pour empêcher les bots de communiquer avec le pirate). StormWorm utilise lui un modèle P2P (Peer to Peer) totalement décentralisé, basé sur le protocole P2P "Overnet/Cademlia". Dans un tel réseau il n'y a pas de serveur central, et le réseau ne peut être démantelé qu'en supprimant l'intégralité des "bots" qui le constituent. StormWorm est le premier botnet P2P réellement opérationnel.

Le protocole "Overnet" utilisé est uniquement basé sur UDP qui est un protocole très difficile à filtrer au niveau d'un pare-feu (hormis à l'interdire globalement ce qui pour les sites utilisant des technologies de type "streaming" n'est pas possible). De plus "StormWorm" utilise des ports UDP dynamiques et aléatoires (on ne peut donc pas filtrer le trafic en fonction d'un numéro de port) et est conçu pour s'adapter aux environnements IP translatés (NAT).

 
Globalement, un botnet P2P tel que StormWorm est donc difficile à démanteler et difficile à filtrer.

 

Comment détecter une infection "StormWorm" ?

 Le réseau "botnet" StormWom a été utilisé surtout pour envoyer des e-mails de SPAM (et en particulier des e-mails incitant les internautes à visiter les sites malicieux "StormWorm"). De ce fait, un des effets caractéristiques de la présence de machines infectées par StormWorm dans un environnement réseau est une augmentation significative :

  • Du trafic SMTP sortant vers Internet
  • Du trafic vers les résolveurs DNS de l'entreprise (ces résolutions DNS sont générées par les requêtes MX provoquées par l'envoi massif d’e-mails)
  • Du trafic UDP (pour les sites ou ce type de trafic est d'habitude faible).

 
Conclusion

Nous l'avons vu, "StormWorm" est un malware très sophistiqué, qui regroupe des techniques d'attaques très abouties et très variées. Il s'agit visiblement de l'aboutissement d'un travail systématique et structuré que l'on peut qualifier de "professionnel" (probablement découpé en sous projets indépendants). Il est pour nous un exemple de ce qu'une industrie malfaisante, utilisant des informaticiens qualifiés, est désormais capable de produire. "StormWorm" est apparemment sous le contrôle du groupe cyber criminel Russe "RBN" (Russian Business Network).

 Au-delà de ce cas particulier de StormWorm, on voit bien à quel type de menace nous devons désormais faire face :

  • Infection automatique des postes non à jour (en termes de correctifs de sécurité)
  • Efficacité limité des antivirus
  • Trafic réseau difficile à stopper et conçu pour traverser les pare-feux
  • Botnet P2P difficile à démanteler et qui peut grossir rapidement et devenir impossible à maîtriser.

 Les principaux moyens pour y faire face sont :

  • Une grande rigueur dans le maintien à jour des parcs machines (pour corriger les failles connues)
  • La sensibilisation des utilisateurs sur les dangers actuels d'Internet (pour développer un comportement raisonné dans l'utilisation des outils du "monde" Internet)
  • La veille sur l'émergence de nouveauc codes malveillants, le développement d'outils de contre-attaques (par exemple du type de l'outil MSRT de Microsoft déjà cité ci-dessus) et une vigilance accrue des mécanismes de remontées d'incidents, logs, sonde etc…
Précedent Précedent Suivant Suivant Imprimer Imprimer