Storm Worm : Un "malware" de nouvelle génération
Date : 05 Février 2008
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
Juin
2007 : Infections à partir de sites web malicieux. A
partir de juin
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) :
- 50 millions d'ordinateurs pourraient avoir été infectés
- StormWorm aurait généré 2,7 milliards d'e-mails en une seule journée (le 9/9/2007)
- Le réseau des machines infectées par StormWorm aurait une puissance supérieure aux supercalculateurs les plus puissants.
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
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…