[helpc] A nouveaux virus, nouvelles techniques d'élimination

  • From: "Angel" <angel.alexander@xxxxxxxxx>
  • To: helpc@xxxxxxxxxxxxx
  • Date: Mon, 01 Apr 2002 13:04:14 +0200

A nouveaux virus, nouvelles techniques d'élimination


Souvent formulé à l'encontre des logiciels des éditeurs d'anti-virus, le 
reproche de ne pas être proactif n'est que rarement justifié. Bon nombre de 
produits du commerce ne se bornent pas à stopper uniquement les codes malicieux 
déjà connus. A l'heure actuelle, trois démarches sont principalement mises en 
oeuvre par la plupart des éditeurs pour prémunir de la menace électronique 
virale. Deux d'entre elles permettent d'enrayer la propagation de virus encore 
non identifiés. Mais leur champ reste limité, et d'autres solutions devraient 
être implémentées par les temps qui courent dans les anti-virus du commerce. En 
attendant, voici une courte présentation des trois méthodes exploitées par ces 
outils :

La base de signatures. Chaque virus, ver ou cheval de Troie est différent d'un 
autre. Cette différence se constate à travers des séquences de code machine qui 
leur sont propres. La plus caractéristique de ces séquences est extraite par 
l'expert en recherche antivirale chez l'éditeur et stockée dans la base du 
logiciel sous forme de signature. C'est à partir de cette base, que l'on doit 
fréquemment mettre à jour sur son poste de travail, que l'anti-virus détecte et 
désactive les codes malicieux qui ont déjà été identifiés par les éditeurs.

La détection générique. Au lieu de stocker une séquence complète et précise 
dans la base, l'expert stocke seulement des morceaux de cette séquence. 
Certains emplacements sont laissés vides afin de pouvoir détecter une variante 
du code malicieux considéré. Le jeu favori des "script-kiddies" est de prendre 
un virus existant et de le modifier en partie afin qu'il ne soit plus 
détectable avec une base classique. Beaucoup plus nombreux que les véritables 
programmeurs, ces "petits joueurs" peuvent tout de même causer des dégâts. Ce 
principe de signature floue les empêche tout du moins de propager un virus déjà 
reconnu qu'ils auront légèrement modifié.

La détection heuristique. Cette méthode est la plus avancée des trois, 
puisqu'il s'agit ici d'analyser la structure des fichiers passés au crible par 
l'anti-virus. Si la logique de cette structure semble suspecte, par exemple si 
deux exécutables ont été concaténés dont l'un présentant des caractéristiques 
particulières, le moteur de détection heuristique pourra générer une alerte de 
type : "Attention, ceci pourrait être un virus, voulez-vous vraiment l'exécuter 
?"

Envoyez les virus jouer dans le bac à sable...
On le voit bien : ces trois méthodes ont leurs limites. Combinées, elles 
permettent de stopper en toute probabilité plus de 99 % des codes malicieux 
existants.
Mais que se passe-t-il si un nouveau virus à la structure non suspecte fait son 
apparition dans la nature ? Il vous faut généralement attendre que l'éditeur de 
votre anti-virus en ait récupéré un exemplaire pour qu'il en établisse la 
signature caractéristique et développe les antidotes appropriés. Bref, il faut 
croiser les doigts pour ne pas être parmi les premiers infectés. A condition, 
bien sûr, de ne pas avoir été imprudent en cliquant par exemple impunément sur 
les pièces jointes exécutables, ou pouvant contenir des portions exécutables 
comme les documents Office comportant des macros.

Comme certains programmeurs de virus - des vrais cette fois-ci - s'essaient aux 
dernières technologies disponibles pour mettre au point des codes malicieux 
toujours plus complexes, les éditeurs sont obligés de s'adapter. Déjà, certains 
d'entre eux ajoutent des capacités d'émulation en complément de la méthode 
heuristique. Au lieu d'analyser en l'état la structure du fichier, c'est son 
comportement structurel à l'exécution qui est observé dans un cadre hors de 
danger.

Pour illustrer le principe, la machine virtuelle Java prend en charge le 
lancement des applications Java de façon indépendante en empêchant toute action 
d'écriture sur le système cible. Pour cela, les appliquettes sont exécutées à 
l'intérieur d'un environnement cloisonné appelé SandBox. En bon français : bac 
à sable. La simulation de l'exécution du virus dans cet environnement 
d'émulation doit permettre de détecter des comportements suspects.

Vers le blocage comportemental en temps réel ?
Dans un article récemment publié sur SecurityFocus, le site officiel de la 
mailing list BugTraq bien connu des experts en sécurité à travers le monde, il 
est fait mention d'une autre approche de l'analyse des comportements de codes 
potentiellement malicieux. Au lieu d'effectuer une simulation de l'exécution en 
environnement clos, c'est en temps réel que l'outil de protection sera capable 
de bloquer certaines actions, comme l'écriture de commandes d'appel dans la 
base de registre ou la réplication pure et simple. Dans ce contexte, 
l'anti-virus se rapproche de la détection d'intrusion. Il est résident, ce qui 
signifie qu'il fonctionne en permanence en tâche de fond pour surveiller tout 
changement induit par un programme non autorisé.

Mais ce type de moteur comporte aussi les défauts des IDS (Intrusion Detection 
Systems). D'une part, sa fonction de surveillance étroitement liée au système 
peut provoquer une baisse de la performance générale. Ensuite, il est 
nécessaire de savoir comment paramétrer les règles : ce qui sera autorisé ou 
non pour tel ou tel type d'application, et le comportement adéquat à adopter 
selon les cas. Ici, il est tout à fait possible à un éditeur de fournir son 
produit avec un ensemble de règles préconfigurées pour les systèmes les plus 
standards. Enfin, le plus gênant est sa capacité à identifier comme codes 
malicieux des programmes tout à fait légitimes, mais dont certaines fonctions 
logiques se rapprochent de celles d'un virus. Cela peut survenir, par exemple, 
si un programme d'installation écrase l'ancienne version d'une application par 
la nouvelle.

A quand l'auto-immunité des réseaux ?
En attendant que les recherches aient permis de réduire considérablement ce 
taux d'erreurs, la combinaison des trois premières méthodes avec l'émulation 
apporte toujours les meilleures garanties. Une autre voie enfin, non abordée 
dans l'article paru sur SecurityFocus, serait enfin finalisée dans les 
laboratoires d'IBM Research après environ dix ans de recherches : 
l'exploitation des réseaux auto-immunisés (lire la conclusion de notre article 
Ca existe ? sur la programmation génétique).

Grâce à un mix de technologies comme l'analyse en environnement d'émulation et 
les réseaux neuronaux, Digital Immune Systems for Cyberspace, selon Big Blue, 
s'avère capable de détecter automatiquement un début d'infection sur un réseau 
comme Internet. Puis, il développe tout seul l'antidote et le distribue plus 
vite que ne se propage le danger. Une approche qui pourrait peut-être faire de 
l'ombre aux éditeurs d'anti-virus. Mais à l'heure actuelle, aucun produit 
déclaré du commerce ne semble la mettre en pratique, ni chez IBM, ni chez un 
autre fournisseur. Et donc, les Trend Micro, Network Associates/McAfee, 
Symantec, F-Secure, Sophos, Kaspersky et autres semblent avoir encore de beaux 
jours devant eux.


[François Morel, JDNet]

Angel A.
List admin.
angel.alexander@xxxxxxxxx

GIF image

Other related posts:

  • » [helpc] A nouveaux virus, nouvelles techniques d'élimination