Comme régulièrement dans l’histoire informatique, il semble que la presse se soit emparée d’une alerte, parmi tant d’autres pourtant : l’affaire « virus Conficker », présentée quelque peu comme la dernière terreur du monde numérique.
Commençons par le bruit médiatique.
Google renvoie presque 20 millions de résultats pour la recherche du mot « conficker », ce chiffre parle tout seul. On notera d’ailleurs que certaines structures n’ont pas hésité à acheter le mot clef « conficker », et des sites internet tels www.downadup.org , www.webroot.fr , www.pctools.com ou encore www.mcafeestore.com apparaissent dans les liens « commerciaux » des réponses Google, c’est à dire en tête des résultats !
On remarquera aussi l’apparition de certains domaines un peu plus étranges comme www.conficker.com , resté pendant au moins 2 mois dans les 10 premières réponses Google.
Ce site, en plus d’accorder visiblement une relative importance à la publicité (Google Adwords), ne fait que relayer partiellement des informations sur Conficker, et renvoie sur une société de services assez obscure. Il peut également être intéressant de s’interroger sur l’enregistrement du nom de domaine conficker.com : il semble que l’organisme référencé soit quelque peu opaque ( http://www.domaincrawler.com/domains/view/conficker.com « Domains by proxy », une branche de GoDaddy, spécialisée dans les services Internet sous anonymat) et il en est de même avec le domaine www.digitalperfections.com : http://www.domaincrawler.com/domains/view/digitalperfections.com/
Pourquoi rester anonyme pour relayer (partiellement) une information déjà si diffusée ?
Visiblement, « l’affaire Conficker » suscite des idées de profit financier à certains !
Ce bruit en arrive à un tel point, que des évènements à priori anormaux sont par défaut imputés à Conficker (voici une brève liste d’exemples) :
- l’arrêt de l’horloge londonienne,
- une légère panique dans une base de lancements de missiles de l’US Air Force (qui devait certainement se rappeler des mésaventures du Pentagone quelques mois auparavant),
- des distributeurs de billets soudainement très généreux en Islande,
- ou encore divers incidents de fonctionnement de ressources réseau en entreprise, etc.
Cette association avec Conficker n’est pas toujours à raison, et contribue en plus à la « phobie Conficker », qui pourrait être pire que le mal lui-même. (voir :
http://www.journaldunet.com/solutions/breve/37715/le-virus-du-1er-avril-conficker-fait-pschitt.shtml )
Sans oublier qu’effectivement Conficker a fait quelques dégâts sur son passage (citons les Rafales, les sous-marins et des hôpitaux britanniques, EDF, pour ne citer qu’eux…), il convient certainement de prendre un peu de recul et de tenir compte de l’historique, afin de traverser le bruit médiatique et éclaircir quelque peu la nébuleuse virale qui nous entoure.
On nous présente presque Conficker comme une révolution virale, ou le dernier monstre du genre, ce qu’il n’est d’ailleurs pas, et nous allons en voir les raisons ci-après.
Tout d’abord, pour recadrer les choses, Conficker est un ver, et non pas un virus, selon les définitions croisées du CLUSIF et des travaux de Fred Cohen (voir : http://www.clusif.asso.fr/fr/production/infovir/infovir04.asp et http://all.net/books/virus/index.html ).
En tant que tel, Conficker explore les réseaux, mais ne provoque pas réellement de dommages sur les machines qu’il infecte, via ses techniques d’infection du moins (contrairement aux virus).
Le dommage éventuel infligé aux machines infectées, est amené par la charge active incluse dans le virus/ver. On pourrait considérer par exemple qu’une des charges actives de Conficker est de désactiver les protections antivirales des machines (selon les variantes), et qu’une autre est le téléchargement de mises à jour depuis des sites Internet dont l’adresse est re-générée chaque jour.
Ensuite, la principale (et première) méthode de propagation de Conficker est une faille de sécurité sur le système Windows : la MS08-067.
De quoi s’agit-il ? D’une faiblesse logicielle, d’une erreur de développement même, par les équipes Microsoft, et qui permet de perturber un composant système Windows (« svchost.exe », voir : http://support.microsoft.com/kb/314056/fr ) en lui envoyant une requête spécialement conçue. Ce composant est un service Windows, gérant des sous-services, et notamment un, crucial pour la gestion réseau : le service Serveur. Le fait de l’amener en erreur permet d’imposer dans ce cas une action à la machine vulnérable se faisant infecter : en l’occurrence, télécharger un exemplaire complet du ver, depuis la machine attaquante (et donc déjà infectée…).
Maintenant, revenons quelque peu sur l’historique, à la fois du monde viral, mais aussi de quelques alertes de sécurité de façon générale.
Nous allons ici reprendre quelques unes des grandes caractéristiques de Conficker, et les mettre en perspective avec un peu d’histoire de la sécurité informatique (incluant la menace virale).
Il s’agit d’exemples démonstratifs, et non pas d’un historique exhaustif à proprement parler des alertes de sécurité informatique. Les éléments d’analyse sont tirés entre autres de : http://www.microsoft.com/security/portal/Entry.aspx?Name=Win32/Conficker.
1- Pour commencer, on nous parle de « ver informatique ». Il faut tout de même rappeler que ce type de logiciel malveillant (parce qu’un ver informatique est un logiciel, qui n’apparaît pas de lui-même dans le monde numérique) a presque 30 ans. En effet, en 1982 (date qui varie quelque peu selon les sources), des chercheurs du laboratoire Xerox tentèrent de tirer parti des machines présentes sur le leur réseau, mais durant leur temps d’inutilisation par le personnel. Il créèrent un logiciel qui avait pour but de découvrir les machines non utilisées sur le réseau. Hélas, une erreur de programmation provoqua un plantage des machines ayant reçu le fameux logiciel par réseau (un grand nombre). Cette expérience fut publiée dans un article nommé « Early experience with a distributed computation ».
En conséquence, l’on peut affirmer que la notion de ver informatique ne date pas d’hier, du moins à l’échelle de l’histoire de l’informatique.
2- L’alerte Microsoft MS08-067, utilisée par Conficker, n’est pas une nouveauté du genre.
Souvenons-nous, en décembre 2001, le bulletin de sécurité Microsoft nommé MS01-059 correspondait à une faille UPnP via réseau local, avec les environnements Windows XP vulnérables par défaut !
D’ailleurs, n’oublions pas que la faille Microsoft MS08-067 est étroitement liée à la MS06-040, bien connue dans le monde de la sécurité informatique (même portion de code source).
3- Un logiciel malveillant qui se propage via une vulnérabilité du système Windows, ce n’est pas nouveau non plus.
On peut citer les cas de W32.Blaster (alias Lovesan), qui exploitait la faille MS03-026, mi 2003 (voir : http://www.viruslist.com/en/viruslist.html?id=61577 ).
Cependant, et il convient de le souligner, Conficker n’est pas un Sasser version 2 ! (et nous allons y revenir).
4- Un logiciel malveillant (type ver) qui s’attaque aux logiciels de sécurité (comme les antivirus), ce n’est pas nouveau non plus. Techniquement, les virus de ce type sont appelés « rétrovirus », et la menace « rétrovirale » n’a fait que croître depuis quelques années. On peut citer W32.Klez qui s’attaquait déjà à certaines protections antivirales en 2002 (cf. : http://www.viruslist.com/en/viruses/encyclopedia?virusid=22463 )!
5- Conficker se copie sur les supports amovibles, type clé USB. Cela a l’air de surprendre, ou d’être imparable. Pourtant, en 2006, on trouvait déjà Worm.Win32.Agent. i qui infectait tous les lecteurs logiques ( http://www.viruslist.com/en/viruses/encyclopedia?virusid=126974 ) !
De même, Symantec indiquait une forte hausse des logiciels malveillants utilisant la clé USB pour se propager ( https://forums2.symantec.com/t5/blogs/blogarticlepage/blog-id/malicious_code/article-id/220 )
Ceci n’est donc pas nouveau !
6- En plus de se copier sur les supports amovibles, Conficker utilise (détourne) les fonctions d’auto-exécution du contenu sur ces supports. C’est à dire qu’à l’insertion, un message apparaît et propose à l’utilisateur différentes actions en rapport avec le contenu de la clé USB ainsi que des applications installées sur l’ordinateur (on remarquera au passage que Conficker est polyglotte et son message ressemble fortement à celui de Windows en standard, de façon à induire l’utilisateur en erreur).
Ceci n’est malgré tout pas novateur, dans la mesure où W32/SillyFDC-M par exemple, générait un « autorun.inf » (permettant l’auto-exécution) sur supports USB et disquettes, début 2007 !
Le support multilingue dans le monde viral, d’ailleurs, n’est pas nouveau non plus. Kelvir était déjà polyglotte mi-2005, et parlait français, anglais, allemand, italien, polonais, turc, espagnol, suedois, etc ( http://www.lexpansion.com/economie/actualite-high-tech/msn-messenger-cible-d-un-virus-polyglotte_110638.html ). Le tout, pour mieux se propager via MSN Messenger !
De même pour Netsky.X , en 2004 (www.zdnet.fr/actualites/telecoms/0,39040748,39150104,00.htm).
7- Conficker scanne les adresses IP du réseau local pour se propager (1 adresse différente toutes les 4s pour certaines variantes). Ceci n’est évidemment pas nouveau : le fameux Lovesan faisait de même mi-2003 ( http://www.viruslist.com/en/viruslist.html?id=61577 ).
8- Conficker fonctionne uniquement par DLL (en mémoire), et de nombreuses personnes semblent surprises de ne pas avoir à chercher un quelconque fichier « exe » sur les machines infectées (de vieux réflexes, certainement !). Pourtant, ceci n’est pas nouveau non plus : Troj/Banker-Y était également principalement composé d’une DLL, en 2004 ( http://www.sophos.com/security/analyses/viruses-and-spyware/trojbankery.html ) !
9- Conficker s’attache à un processus (un service) système, au lieu de fonctionner avec un code exécutable standard, indépendant. Bien que cela complique détection et désinfection, cette technique virale n’est pas nouvelle : on peut citer Email-Worm.Win32.Snapper , en 2004, qui opérait de la même façon ( http://www.viruslist.com/en/viruses/encyclopedia?virusid=23066)
10- Conficker télécharge des mises à jour, ou des instructions d’attaque, depuis des sites Internet ? Ceci n’est pas très novateur non plus, et on peut citer W32.MiMail qui téléchargeait ce qui lui était fourni (commandé) par une URL envoyée via IRC, en 2004 ! ( http://www.sophos.com/security/analyses/viruses-and-spyware/w32mimailv.htm )
11- On dit Conficker capable d’appliquer une pseudo-correction à la fameuse vulnérabilité MS08-067, lui ayant justement permis de se propager (correction de la fonction NetpwPathCanonicalize() de netapi32.dll, http://isc.sans.org/diary.html?storyid=5830 ). Ceci certainement pour éviter tout problème de sur-infection par lui-même, ou aussi pour éviter que d’autres codes malveillants tentent d’utiliser le même vecteur d’attaque sur des machines déjà sous emprise de Conficker.
Pourtant, la chose n’est pas nouvelle : W32/Nachi-E par exemple, installait des services pack après infection début 2004 (un service pack étant entre autres, un ensemble de mises à jour de sécurité d’un système, voir : http://www.sophos.fr/security/analyses/viruses-and-spyware/w32nachie.html ).
12- Conficker intègre un système de recensement (comptage) des machines qu’il a infectées. De même, ceci n’est pas nouveau, dans la mesure où W32/Sasser comptait également le nombre de machines qu’il avait attaquées, dans le fichier c:\win.log de la machine infectée ( http://www.viruslist.com/en/viruses/encyclopedia?virusid=50204 )
13- Conficker supprime les points de restauration (notamment sous Windows XP). En plus de compliquer les tâches de désinfection, ainsi que la maintenance d’une façon générale des machines, cette technique n’est pas très novatrice non plus. On peut citer W32/Gallory-A qui lançait une suppression des fichiers SysBckup mi-2006. ( http://www.sophos.com/security/analyses/viruses-and-spyware/w32gallorya.html).
14- A partir de la variante B, Conficker intègre de nouvelles méthode de propagation, en plus de celle de départ (la vulnérabilité Microsoft MS08-067) : attaque des partages réseau et partages administratifs, infection des clés USB et disques logiques, insertion dans le planificateur de tâches.
Cela donne plusieurs cordes à l’arc de Conficker, ou plutôt devait-on dire : plusieurs armes.
Et pourtant, ceci n’est malgré tout pas nouveau. On peut citer les exemples suivants :
- W32/Nachi-E : exploitation des failles MS03-026, MS03-007 et MS03-049, ( http://www.sophos.fr/security/analyses/viruses-and-spyware/w32nachie.html ) début 2004
- W32/Rbot-LL : exploitation des failles MS03-026 et MS04-012, MS04-011, MS03-007, MS01-059, CAN-2003-1030, CAN-2003-0719 ( http://www.sophos.fr/security/analyses/viruses-and-spyware/w32rbotll.html ) en 2004
- W32/Agobot-SL : exploitation des failles RPC DCOM (MS03-026, MS04-012) MSSQL (MS02-039), botnet IRC ( http://www.sophos.fr/security/analyses/viruses-and-spyware/w32agobotsl.html ) mi 2005.
15- Conficker se connecte à des sites Internet pour se mettre à jour. Bien que ceci soit évidemment une réelle difficulté pour la lutte antivirale (la mise à jour du ver perturbera certainement les détections via définitions antivirales, qui ne le verront plus), cela n’est pas nouveau.
Un des plus beaux exemples du genre est certainement StormWorm , en circulation depuis début 2007 (du nom de la tempête ayant frappé l’Europe tout début 2007, et utilisée par le ver comme ingénierie sociale pour inciter les internautes à visiter des liens malveillants).
StormWorm contient littéralement une poche à mise à jour, prête à accueillir instructions et code complémentaire ( http://marc-blanchard.com/blog/index.php/2007/12/21/41–dfinitionexplications-les-storm-worm-et-storm-botnet )
Tous ces éléments amènent à une conclusion claire : le milieu viral s’est professionnalisé (depuis 2002 environ, si l’on regarde la croissance virale, ses évolutions et leurs impacts,).
Ceci implique qu’il faut considérer aujourd’hui un virus, ou un ver, comme une plateforme d’attaque à part entière.
Ce type de plateforme :
– peut se mettre à jour, de façon très rapide (jusqu’au seuil horaire !)
être potentiellement pilotée à distance par un tiers (notion de BotNet), avec une volonté liée à la cybercriminalité (motivation financière, lutte politique et/ou idéologique).
peut mettre en place des mécanismes de défense contre ce qui peut la bloquer, notamment les protections antivirales, pare-feux, outils d’administration et de diagnostic
peut utiliser les paramètres système et comptes utilisateur afin d’obtenir des accès au SI et aux infrastructures télécom (ex : lecture des réglages proxy du navigateur, pour accéder à Internet), en plus de tenter des découvertes manuelles de l’architecture réseau.
Ces plateformes virales réalisent donc un potentiel vol des ordinateurs à travers le monde (ressources / documents), qu’ils soient personnels ou professionnels, et ce à l’insu des utilisateurs et administrateurs.
Enfin le professionnalisme du milieu cybercriminel se retrouve également dans le niveau technologique atteint par la menace virale.
Aujourd’hui, un logiciel malveillant comme Conficker est une réelle ingénierie du système Windows, entre autres puisqu’il utilise par exemple des fonctions non documentées (telles que NtQueueApcThread, voir : http://blog.threatexpert.com/2009/01/confickerdownadup-memory-injection.html ).
Et comme tout professionnel qui se respecte et qui passe en phase de test, puis recette, avant mise en production d’un projet, Conficker a vraisemblablement été testé avant diffusion (incluant sur plusieurs versions de Windows, notamment 2000), au vu de son efficience et du nombre important de systèmes d’exploitation Microsoft qu’il est capable d’infecter.
Conficker serait même le résultat de deux coups d’essai :
- Gimmiv.A : pas un « vrai ver » au sens propre, mais plutôt un cheval de Troie, réalisant des statistiques sur les antivirus installés à travers le monde ( http://www.sophos.com/security/analyses/viruses-and-spyware/trojgimmiva.html ). Il lançait une tentative de propagation avec une petite liste embarquée d’adresses IP de téléchargement de Gimmiv et de codes malveillants complémentaires.
- Networm, qui a visiblement souffert d’un échec lors de l’utilisation du shellcode d’attaque, pour exploiter la faille. On pourrait le considérer comme Conficker version Alpha… ( http://blog.trendmicro.com/ms08-067-vulnerability-botnets-reloaded/ )
Enfin, pour terminer sur cet aspect « professionnalisation du monde viral », je vous propose la rétrospective suivante sur les évolutions de Conficker, amenées par ses différentes variantes :
- Variante A : Propagation via la faille Microsoft MS08-067
- Variante B : variante A plus…
Tentative d’infection des partages réseau (cassage de mot de passe)
Crée des tâches planifiées sur les machines infectées, pour (re)lancer l’infection
Infection des lecteurs réseau mappés et lecteurs amovibles
Suppression des points de restauration de Windows
Modification du registre (réglages réseau : accélération du scan IP)
- Variance C (ou B++) : variante B plus..
Fonctionnalités de la variante B
Génère 250 URL selon la date, et tente de télécharger d’autres codes malveillants
Désactive Windows Defender (composants de démarrage) et tue autres AV, outils…
- Variante D (ou C++) [date du 04/03/2009] : variante A plus…
Génère 50 000 domaines nouveaux par jour ! (tente 500 / jour)
Arrête d’autres services système (Win Security Center, WUAU, BITS, WinDefend, Error Reporting, etc) et tue d’autres outils de sécurité, par rapport à la variante C
Fonction P2P de communication (y compris entre machines infectées)
Blocage de nombreux sites de sécurité (via hook sur fonction DNSAPI.DLL)
Si l’on considère qu’une majorité de la communauté informatique a réagit initialement en considérant Conficker comme un Blaster ou Sasser version 2, on peut noter l’intelligence derrière les évolutions de Conficker.
En effet, si les DSI se sont cantonnées à « appliquer le correctif Microsoft », et « laisser faire à l’antivirus son travail », on remarquera alors que la variante B est parfaitement étudiée à ce nouveau contexte : il semble légitime de se poser la question de savoir si les nouvelles fonctionnalités amenées par la variante B (propagation via clés USB et partages réseau, par exemple) ne sont pas une réponse directe virale, à la réponse sécurité apportée par les DSI à la menace Conficker.
De même pour la variante D (ou C++ selon les sources) : le fait de générer 50 000 domaines possibles par jour, au lieu de 250 pour les variantes précédentes, complique fortement (si ce n’est annule) le travail de la Cabale « anti-conficker » montée autour de Microsoft. Le nombre de domaines possibles (pour les mises à jour de Conficker) rend leur blocage proactif très lourd, et cela fait suite à l’annonce justement de l’achat ou la mise sous surveillance de tous les domaines Conficker précédemment utilisés par les variantes B/C (FSecure entre autres, avait publié une liste).
Dans ce cas, on parle donc de lutte antivirale, mais avec des professionnels de chaque côté de la barrière. Conficker a bien été utilisé comme une plateforme d’attaque, qui a visiblement réagit aux réponses que lui ont adressées les DSI (déploiement correctif, puis blocage des domaines).
En conclusion, il semble donc que nombre de structures, incluant leurs DSI, n’ont pas pris en compte l’évolution de la menace virale, et donc son niveau technologique actuel. Ou peut-être également que les budgets sécurité des DSI ayant été un peu resserrés fin 2008, ne leur ont pas permis de mettre tous les moyens qu’ils auraient voulu pour mettre leur SI en préservation.
La crise économique actuelle aura peut être eu l’effet retord de générer d’importants incidents sur les systèmes d’information, dont le coût final aura certainement été bien plus élevé que la mise en place de solutions de sécurité en amont. Comme dit le proverbe : « mieux vaut prévenir que guérir ».
La note finale sera malgré tout une sonnette d’alarme : Conficker, tel que démontré plus haut, n’est pas un Sasser v2, et ne doit pas être considéré comme tel, à moins de réellement risquer une crise virale d’envergure.
La problématique de lutte antivirale dans un contexte de menace virale « type Conficker » sera d’ailleurs développée prochainement dans un autre article.




#1 by Le Boisselier Stéphane - April 8th, 2009 at 14:22
Bonjour Philippe,
Très bon article !
En effet, nombre des techniques utilisées par Confiker ne sont pas nouvelles, il est toutefois le premier à cumuler l’ensemble de ces techniques ce qui rends la tâche plus ardue.
Je décortique actuellement le code source pour ma culture générale et je ne peux que confirmer la professionalisation qu’il y a derrière. La dernière variante intègre un algorithme de hash MD6 très peu répandu encore et non vulnérable. Les précédentes variantes utilisées SHA1 ou MD5, de plus le mécanisme de P2P intégré est simple mais efficace.
Si le buzz est fort pour finalement peu d’effets sur le SI comparé à certains de ces concurrents, il faut rester en alerte et être vigilant.
Beaucoup de personnes disent que confiker est loin d’être une révolution car il utilise des techniques anciennes, un expert microsoft m’a même dit que les attaques en brute force datant de 1942 c’était limite, mais là réside toute l’intelligence des concepteurs. Certes, si le mot de passe est fort et différent de login=password, l’attaque ne permettra pas de casser le moindre mot de passe mais nous avons tous implémenté une politique visant à locker les comptes au bout d’un certain nombre de tentatives, effet de bord, des milliers de comptes lockés pour un grand groupe. Pendant que les admins deverouillent les comptes ou developpent des scripts pour le faire, ils ne sont pas occupés à patcher des serveurs ou a pousser des GPO pour bloquer les autorun, verrouiller la base de registre …
Ne sous-estimons pas l’équipe qui se cache derrière et restons en veille sans tomber dans la paranoïa.
Cordialement,
#2 by Julien - April 9th, 2009 at 21:02
Effectiveme,t à lire cet argumentaire on peut croire que Conficker ne fait rien de nouveau puisque bien d’autres vers ou virus l’ont déjà fait avant lui. La nouveauté, c’est que Conficker rassemble en un seul ver TOUS ces mécanismes. C’est cela qui le rend à la fois nouveau et dangereux.