Dans cette section tout public, il m'a semblé interessant de faire un point sur les activites virales d'aujourd'hui et de demain.
En effet, nous nous appercevons qu'il n'y a plus de réelles communications en presse ou même chez les éditeurs d'antivirus concernant de grandes épidémies, telles que nous les avions eu avec les ILOVEYOU, Sasser, Blaster, NetSky/Baggle, etc...
Cela ne signifie pas que les codes malicieux de tout genre, virus, trojans, vers, etc tentent a disparaitre...
non, au contraire...
La différence est que leurs propagations sont complètement transparentes, furtives et nous, utilisateurs, sommes les acteurs d'une scène de constitutions de réseaux parallèles, dont on n'imagine pas même la puissance de calculs dont les pirates actuels disposent en exploitant nos machines, dites MACHINES ZOMBIES.
Rappel Général
Un virus est un programme qui, pour fonctionner, a besoin d'un fichier hôte pour fonctionner.
Un ver, ou worm, est un programme qui a besoin d'une machine hôte pour fonctionner.
La principale différence entre un vers et un virus, est que le virus peut être détruit facilement par un antivirus, car il est localisé sur une petite entité : les fichiers du PC.
Le ver, ou worm, quant à lui, existera tant qu'une machine sur internet le fait fonctionner. On appelle cette technique : une infection par le cable.
Voici une petite statistique qui vous permettra de comprendre la problématique du worm.
Dans l'image ci-dessous :

On constate bien que SLAMMER et MSBLASTER sont bels et bien encore actifs sur une machine connectée sur le net, sur laquelle on analyse les tentatives de pénétrations (appelé VirusPot).
Ces deux vers ont été lancés sur le net aux environs des années 2002 et 2003...wow ! elles représentent encore un taux élevé de tentives d'infections alors que TOUS les antivirus...même les gratuits les détectent!
Etrange, vous ne trouvez pas...
L'explication est très simple, ces codes sont des vers ou worms.
Alors qu'un virus est présent à part entière sur la machine de l'utilisateur, l'antivirus, lui, fait son travail de détection et d'eradication localement.
Alors que le ver ou worm, lui, tant qu'une machine sur internet est vulnérable, le ver existera et se propagera sur la toile... d'ou la constitution et les convergences de développement très fortes de la part des pirates vers les technologies des vers ou worms.
Qu'est-ce qu'une machine zombie (rappel)
Une machine utilisateur devient zombie en subissant des techniques de pénétration dites 'différées'.
Le principe est le suivant :
1. La machine est sur le net, et subit, de la part des worms, des tentives de pénétration par exploits de vulnérabilités que ce soit sur l'operating system, ou bien applicatifs comme des clients de messageries courrier ou instantannés, navigateurs, visualisateurs de films ou de mp3, de logiciels peer to peer, etc...
2. Un processus va alors s'installer sur la machine, et va ouvrir une porte dérobée (appelé backdoor) en modifiant les règles des parefeux logiciels.
3. Une fois la backdoor établie, un BOTNET (robot internet) va être lancé sur la machine permettant ainsi d'envoyer l'adresse IP et le numéro de la porte dérobée de la machine victime au pirate.
4. Le pirate recevant cette information, pourra référencé la machine victime dans une console d'administration, et ... plus tard, prendre la main à distance pour téléguider cette machine pour effectuer une ou plusieurs attaques, ou permettre à cette machine de devenir un serveur web pédophile, d'achat en ligne, de promouvoir des attaques de phishing, ou même d'être un faux serveur de blog.... bref tout peut être imaginé!
5. Pour ce faire, de nouveaux procédés sont mis en place sur les machines victimes en installant un DNS Dynamique....
Cette technique devient de plus en plus fréquente pour le phishing (faux serveur de logging bancaire) ou pour des faux serveurs de casinos.... oui, les machines des utilisateurs zombies sont de plus en plus référencées dans les moteurs de recherches type google et yahoo search.

En faisant des recherches en fonction de l'actualité, qui peut être sportive, politique ou ... autre... l'internaute se retrouve très facilement sur un faux serveur de blog ou faux serveur web comme le montre la photo ci-dessous :

Ce Faux blogs avec le téléchargement sur youtube d’une vidéo n’est qu'en fait qu’un fichier exécutable qui contient le storm worm...
En juin 2007, le FBI lancait une annonce presse indiquant 1 million de machines zombie.
Après de nombreux calculs mathématiques au centre de recherche scientifique, on estime que le nombre de machine zombie n'est pas de 1 million comme l'indique le FBI, mais plutot estimé entre 30 et 50 millions.
Nous allons voir ensemble pourquoi.
Que se passe-t-il aujourd'hui ?
L’utilisation à distance d’une machine zombie est très pratique, certes, mais les ressources CPU doivent répondre au lancement de l’attaque ou au téléchargement du nouveau code.

Cette sur-activité CPU est normale, car des opérations mathématiques particulières doivent être lancées. Ces opérations font appels aux FLOPs (opérations à virgules flottantes).
Mais la perception au niveau de l'utilisateur est importante. En effet, avec une utilisation du processeur de 100%, l'utilisateur peut tout juste faire bouger sa souris. C'est la raison pour laquelle, de nombreux pirates voient leurs codes rapidement détectés par les Antivirus, car les utilisateurs suspectent fortement leur machine.
Si leur code est détecté, pour le pirate essayant de mettre en place un réseau parallele de machines zombies, il y a de fortes chances que l'existance et la persistance de ce réseau soit très fortement fragiligisé, et surtout que ce réseaux ait une faible durée de vie.
C'est pourquoi, depuis quelques semaines, nous assistons à une emergence de nouvelle génération de vers appelés STROM WORM.
Voici le principe :
Les délinquants ont décider de prendre des mesures technologiques afin d’éviter que les machines zombies soient affaiblies par l’activité.
Ils utilisent la techniques des ressources CPU partagées.

Lorsque le stormworm arrive sur la machine, il va faire une analyse du CPU afin de déterminer le nombre de MEGA FLOP maximum pouvant supporter le CPU, le storm worm va ainsi n'utiliser que 2/3 de la puissance de la machine victime.
La résultante est efficace :

En effet, à 47% d'utilisation du CPU, l'utilisateur n'a aucune perception de contamination, d'utilisation à distance de sa machine, y compris si la machine est un serveur web référencée sur google!
Mais comment ces codes arrivent sur ma machine ?
Les délinquants d'aujourd'hui n'utilisent plus vraiment le courrier électronique pour déployer leurs attaques....Il y a trop de procédés antispam, antivirus, blocages de certains fichiers par extensions, etc...
Ils utilisent aujourd'hui le WEB, le surfe, le HTTP !
La technique ne date pas d'hier ! C'est la technique du defacing/défaçage.
En fait, certains serveurs web sont vulnérables par le biais des applications fonctionnant sur le serveur : php, sql, etc...
Ces failles, si ces applications ne sont pas mises à jour, permettent un accès quasi total sur les répertoires du serveur web où sont localisées les pages d'index et autres pages, type contact, forum, etc...
Les anciennes générations de pirates, dit 'joueurs', ne faisaient que insérer une image comme celle ci-dessous sur la page d'index du serveur web piraté !

Maintenant, les cyber-délinquants recherchent la transparence.
Ils utilisent les mêmes méthodes pour propager leurs codes, mais insèrent tout simplement dans le code de la page du serveur du code comme ci-dessous :

Pour les pirates les plus vicieux, ils inséreront une IFRAME transparente, comme l'exemple ci-dessous :

La technique de la IFRAME transparente est simple.
Le pirate va faire héberger un code VBS ou JS sur une de ses machines zombies, et lorsque le navigant viendra sur le serveur du site défacé, le navigateur de l'internaute, ira téléchargé de facon transparente ce code en infectant ainsi, non pas le serveur web, mais l'internaute lui-même.
Epidémiologie de ces techniques
Il ne faut pas cacher que ces technologies sont extrèmement bien maitrisées, et leurs propagations sont classées parmi les plus hautement emmergents.
Une évolution de +300% sur tout ce qui est StormWorm et StormBotnet depuis juin 2007, et une evolution parallèle équivalente pour tout ce qui est JavaScript, VBScript, Iframe, PHP et HTML dans les bases antivirales de Kaspersky... SUR LA MEME PERIODE...
Associé à ces technologies, viennent s'ajouter l'utilisation des codes modulaires.
Le principe du code modulaire est la possibilité de pousser dans une enveloppe programme chargé en mémoire, un certain nombre de codes sous-programmes en temps réel afin que cette enveloppe lance en temps reel une attaque.
Cela permet aux attaquants de changer le contenu de leurs malwares en moins de 1 heure sur les machines zombie .. et de n'être quasiement jamais détecté par les antivirus !
Les attaquants possèdent une base de données qui permet, à tout moment, de connaître le nombre exact de machines zombie en ligne, prêtes à recevoir une attaque ou à la lancer
Cette base de données peut avoir des options de réplications avec une ou plusieurs bases de d’autres cyber-délinquants....en d'autres termes les consoles des pirates sont standardisées afin de recevoir les bases de données de d'autres pirates!
Voici une console d'administration de machines zombies 'dites ancienne génération' dont le(s) pirates disposent :

Initialement la technique du botnet qui est installé sur les machines zombies des internautes envoie les adresses IP des machines zombies à une console d’administration sur la machine du pirate.
Le pirate pousse le code de son attaque sur sa console-serveur.
La console-serveur télécharge le nouveau code de l'attaque sur les machines zombies dans les codes modulaires.
La limitation de ce système est que le serveur qui déploie les attaques peut être localisé facilement.
En effet, chaque machine zombie renvoie sur la même adresse IP ou nom DNS (console du pirate) ses propres informations. Lors de la découverte de ces informations, nous faisons fermer cette ip ou ce nom dns.
Résultat : le réseau zombie tombe, donc le pirate ne dispose plus de puissance de machines téléguidées.
C'est pourquoi, ils ont imaginé un nouveau concept : Les StormWorms et StormBotnet
Les StormWorms et StormBotnet
Cette console rapatrie les hosts (serveurs) décrivant des détails ultra-précis sur leurs taux d’efficacité et par pays permettant une attaque ciblée ou globale.

Comme on peut le constater, dans cette console nouvelle génération, il n'y a plus de notion du nombre d'adresses IP, mais on établi des calculs par rapport à des TAUX D'EFFICACITE!
Oui, si on revient sur mes explications concernant les FLOPs, les STORM BOTNET gèrent des puissances de calculs, qui sont géolocalisées.
Par conséquent, dans cette image on peut constater que le taux d'efficacité pour les USA est faible. La raison pour laquelle cette valeur est faible est que bon nombre d'américains éteignent leurs machines la nuit puisque la copie écran a été faite ... de la france aux heures ouvrées 
Mais si on pousse la réflexion, certains gouvernements européens ont subis des attaques de Chine, il y a quelques semaines.
Oui, les attaques venaient de Chine, si on géolocalise les provenances des attaques....MAIS qui est le commenditaire ??? Et oui, puisque la console ci-dessus est une console WEB accessible depuis n'importe quel PC ayant une connectivité internet.... à méditer...
Bref, revenons sur la constitution des nouveaux réseaux paralléles STORM BOTNET :
Le Storm Botnet est programmé pour avoir une grande force de calcul (Flop) et obtenir une géolocalisation précises des zombies
Le principe de ce Botnet s’appuie sur la technologie du p2p.
Le storm botnet met en place des machines zombie qui agissent en tant que serveur (hosts) ou male.
Chaque serveur (host) a un nombre limité de machines zombie attaquantes, mais qui dépendent d’au moins 3 serveurs (hosts) à 5...voir plus...
Par effet de maillage, on multiple en masse rapide le nombre de machines zombies tout en limitant les trafics réseaux disponibles pour des attaques diverses
Cet effet de maillage permet également d’auto-contrôler les puissances des microprocesseurs de chacune des victimes
Il permet également une grande longévité de vie d’un réseau zombie

Dans cette photo, les carrés représentent les machines hosts dites machine male.
Lorsqu'un internaute se fait contaminé par un storm worm, alors sa machine fera des tentatives d'infections sur 1000 ou 2000 machines du net... on ne peut donc pas prétendre à une épidémie.
Mais chacune de ces machines vont à leurs tours essayer de contaminer 1000 à 2000 machines, et ainsi de suite.
Par contre sur les 2000 machines, certaines deviendront des machines hosts (machines males) et les autres femelles.
Chacune des machines femelles communiqueront avec les machines hosts (males) afin de télécharger de nouvelles attaques, soit des attaques nominatives, soit multiples.
Les gros interêts de cette technique sont que d'une part, si une machine host est détectée par un antivirus, les machines femelles continueront de communiquer avec les autres hosts (machines males).
C'est un peu le principe de KAZAA : Il y aura toujours l'existance de ce réseau, car il y aura toujours une machine cliente et une machine serveur, juste le minimum pour la survie de ce réseau parallele !
Quel est le principe de fonctionnement des males et femelles ?
L’enveloppe vide poussée après infection est inoffensive car elle ne possède pas encore de codes.
Elle attend que l’attaque soit envoiée sur son IP.
Le block sera rempli ultérieurement par l’intermédiaire d’un storm botnet en ‘push’ ou en ‘pull’ et être cacher avec un rookit.

Comme on peut le constater sur cette image, le Géniteur est le code qui sera poussé sur les machines males.
Ce code a un double header :
- Marker : code modulaire destiné pour les machines males ou host
- Block Information : code modulaire destiné pour les machines femelles.
Comme on peut le voir, les block modulaires peuvent être logés dans les micro-sections dans n'importe quelle zone de l'enveloppe, permettant ainsi de multiples attaques comme par ex : un faux server web/blog ET un serveur de mail pour propager du SPAM, etc...
Ce qui complique la détection des antivirus, puisque ces micros-sections ne sont réellement pas fixées à un endroit précis.
CONCLUSION
He oui! les codes modulaires sont un problème pour les antivirus.
Il est fortement recommandé d'utiliser les dernieres versions des suites des éditeurs antivirus, de choisir un antivirus très réactif au niveau de ces mises à jour de bases MAIS SURTOUT, surtout, utiliser une protection très poussée pour tout ce qui est surfe du traffic internet, en activant les détections heuristiques au maximum, l'utilisation d'une Proactive Defense poussée à son maximum.
Pour une entreprise, je ne saurai que recommander une protection antivirale renforcée au niveau des proxys HTTP.
Pourquoi ces précautions ?
Tout le monde a déjà vu, en surfant sur certains sites, des bannières publicitaires.
A chaque visite, ou pendant la visite, on peut voir défiler des bannières différentes.
Pour la propagation http des storm worms, le cyber-délinquants utilisent la même technique, sauf qu'au lieu de faire afficher des images publicitaires, ils font exécuter du code qui peut etre VBS, JS ou même des exécutables.
Pour ce faire, ils utilisent des moteurs de bannières aléatoires de ce type :

Dans cet exemple, j'ai pris NOTEPADxxx.EXE
En fait, le délinquant n'a qu'a déposer dans les faux serveurs web une url de redistribution pointant sur un ou plusieurs serveurs zombies.

Le résultat est interessant, car l'internaute (future victime) va télécharger aloéatoirement des codes différents...
Dans cet exemple, on va pouvoir accèder à ce type de téléchargement suivant, à chaque visite de la page :
- 1 ere visite :

- 2eme visite :

- 3eme visite :

Comprendre cette procédure
En fait, dans ce concept, il est facile pour le cyber-délinquant, de passer à l'antivirus, la totalité de ces codes mis à disposition des futures victimes zombie.
Dès qu'un de ces codes (ceux que l'on visualise dans le redirecteur ci-dessus) est détecté, il est simple et sans coupure de téléchargement, pour le pirate, de modifier un de ces codes afin de ne plus être détecté... et ainsi repousser sur ce serveur un nouveau StormWorm...
Un peu d'histoire
- En 1999, il fallait 10 à 15 jours pour les créateurs de virus pour exploiter des failles publiées sur les sites de sécurité!
- En 2003, 15 min suffisaient à développer un code malicieux exploitant une faille venant d'être référencée

- En 2007, moins de 4 min suffisent à développer un code malicieux exploitant une faille venant d'être référencée

On peut donc conclure que il faut impérativement pousser les analyses heuristiques et proactive défense à leurs maximum pour limiter les attaques ZERO DAY.