A nouveaux virus, nouvelles techniques d'élimination
Par le JDNet Solutions (Benchmark Group)
URL : http://www.journaldunet.com/solutions/0203/020329_newantivirus.shtml
Vendredi 29 mars 2002

Au sommaire de notre dossier Virus

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]


Pour tout problème de consultation, écrivez au Webmaster
Copyrights et reproductions . Données personnelles
Copyright 2006 Benchmark Group - 69-71 avenue Pierre Grenier
92517 Boulogne Billancourt Cedex, FRANCE