Tout sur les anti-virus
Date: Dimanche 03 octobre 2004 à 22:56:21
Sujet: 3 Sécurité et Hacking


Comment ils fonctionent ? Sont ils réelemenr efficaces ? Tout y est dit...

Pourquoi un Antivirus ?


Pour Sécuriser les ordinateurs et préserver l'intégrité des données d'un ordinateur, qui peuvent être d'une importance énorme (par exemple, la base de données d'une banque ne doit sous aucun prétexte être modifiée par un virus...)

Aspects techniques des Antivirus


Les Antivirus rivalisent souvent d'ingéniosité pour combattre les virus. Cependant ces derniers trouvent souvent la parade. Nous allons parler ici des différentes techniques utilisées par les Antivirus pour combattre leur raison de vivre.

Principales techniques de recherche virus


Nous présenterons quatre techniques majoritairement utilisées par les Antivirus pour localiser les virus. Il s'agit du scanning, du moniteur de comportement, du contrôleur d'intégrité et de la recherche heuristique. Brièvement présenté, le scanneur recherche dans tous les fichiers ou en RAM un code spécifique qui est censé indiquer la présence d'un virus. Le moniteur de comportement surveille les actions habituellement menées par les virus, les contrôleurs d'intégrité signalent les changements intervenus dans les fichiers et enfin la recherche heuristique recherche des instructions généralement utilisées par les virus.

Recherche de la signature


On nomme ça aussi scanning. C'est la méthode la plus ancienne et la plus utilisée. Son avantage est qu'elle permet de détecter les virus avant leur exécution en mémoire. Son principe est de rechercher sur le disque dur toute chaîne de caractères identifiée comme appartenant à un virus. Cependant comme chaque virus a sa propre signature, il faut, pour le détecter avec un scanneur que le concepteur de Antivirus ait déjà été confronté au virus en question et l'ait intégré à une base de données. Un scanneur n'est donc pas en mesure de détecter les nouveaux virus ou les virus polymorphes (car ceci changent de signature à chaque réplication.) Cette méthode est à la fois la plus simple à programmer mais aussi la plus longue à mettre en œuvre car elle n'est utile que si elle recense tous les virus existant. Cela représente une somme de travail considérable et est quasiment impossible à réaliser. C'est pour ça que les concepteurs Antivirus proposent des mises à jour de la base de donnée tous les mois sur leur site WEB, c'est le seul moyen pour le scanneur de détecter les nouveaux virus.

Utilisation d'un contrôleur d'intégrité


Schématiquement, un contrôleur d'intégrité va construire un fichier contenant les noms de tous les fichiers présents sur le disque dur auxquels sont associés quelques caractéristiques. Ces dernières peuvent prendre en compte la taille, la date et l'heure de la dernière modification ou encore un checksum (somme de contrôle)Un CRC (code de redondance cyclique), ou un algorithme de checksum avec un système de chiffrement propriétaire pourra détecter toute modification ou altération des fichiers en recalculant le checksum à chaque démarrage de l'ordinateur(si Antivirus n'est pas résident), ou dès qu'un fichier exécutable est ouvert par un programme (si Antivirus est résident); en effet si le checksum d'un programme avant et après son exécution est différent, c'est qu'un virus a modifié le fichier en question, l'utilisateur en est donc informé. D'autre part Antivirus peut aussi stocker la date et la taille de chaque fichier exécutable dans une base de données, et tester les modifications éventuelles au cours du temps. Il est en effet rare de modifier la taille ou la date d'un fichier exécutable. La parade pour les virus est de sauvegarder la date du fichier avant la modification et de la rétablir après.

Moniteur de comportement


Les moniteurs de comportement ont pour rôle d'observer l'ordinateur à la recherche de toute activité de type virale, et dans ce cas de prévenir l’utilisateur.Typiquement, un moniteur de comportement est un programme résident que l'utilisateur charge à partir du fichier AUTOEXEC.BAT. et qui reste actif en arrière plan, surveillant tout comportement inhabituel. Que va faire le zouave ? Description d’attaque virale. Les tentatives d'ouverture en lecture/écriture des fichiers exécutables. Les tentatives d'écriture sur les secteurs de partitions et de démarrage. Les tentatives pour devenir résident.

Démarche heuristique


Fondamentalement, l'analyse heuristique concerne la recherche de code correspondant à des fonctions virales. Elle est différente dans son principe, d’un moniteur de comportement qui surveille des programmes ayant une action de type virale. L’analyse heuristique est comme le scanning, passive. Elle considère le code comme une simple donnée, et n'autorise jamais son jamais son exécution.

Un analyseur heuristique va donc rechercher du code dont l'action est suspecte s'il vient à être exécuté.L'analyse heuristique permet par exemple, pour les virus polymorphes de chercher une routine de déchiffrement. en effet une routine de déchiffrement consiste à parcourir le code pour ensuite la modifier. Ainsi lors de l'analyse heuristique, Antivirus essaie de rechercher non pas des séquences fixes d'instructions spécifiques au virus mais un type d'instruction présent sous quelque forme que ce soit. Pour en revenir à notre exemple de virus polymorphes, Antivirus cherche une suite d'instructions de lecture suivie d'une suite d'instruction d'écriture. Cette méthode est donc un peu plus intelligente que les autres : car elle vise à analyser les fonctions et instructions les plus souvent présentes et que l'on retrouve dans la majorité des virus. Cette méthode permet ainsi, contrairement au scanning, de détecter des nouveaux virus dont la signature n'a pas été ajoutée à la base de données.

Analyse spectrale


Tout code généré automatiquement est supposé contenir des signes révélateurs du compilateur utilisé. De même, au contraire, il est impossible de retrouver dans un vrai programme exécutable compilé certaines séquences de code. C’est grâce à ce principe qu'entre en jeu l'analyse spectrale. Cette analyse vise à repérer les virus polymorphes qui sont indétéctables autrement (leur signature changeant à chaque réplication). En effet, lorsqu’un virus polymorphe crypte son code, la séquence en résultant contient certaines associations d'instructions que l'on ne trouve pas en temps normal ; c'est ce que va détecter l'analyse spectrale. Par exemple, si dans un programme exécutable, Antivirus trouve une instruction de lecture d'un octet au-delà de la taille limite de la mémoire, on sera probablement en présence de code crypté, donc d'un virus polymorphe.

Techniques d'éradication de virus


Une fois un virus détecté, que ce soit en mémoire ou sur le disque dur, il reste à le supprimer. Une fonction primordiale des Antivirus est donc la suppression des virus. Leur but est de débarrasser l'utilisateur de ce programme malveillant. Mais il n'est pas si simple que l'on croit de les éradiquer et de récupérer le programme original. En effet cela est impossible dans le cas de virus avec recouvrement : ils détruisent une partie du programme sain lors de sa duplication. La seule solution est la destruction des fichiers infectés ou carrément le formatage du disque dur. Pour les autres, même si ce n'est pas irréalisable, la tache est cependant très ardue : il faut savoir très précisément où est localisé, dans le fichier, le virus en question sachant qu'il peut être composé de plusieurs parties, ensuite il faut le supprimer, et enfin aller chercher la partie du programme dont le virus avait pris la place et la restaurer. Toutes ces manipulations nécessitent une connaissance parfaite du virus et de son mode d'action. Cette éradication se faisant par une recherche (du virus, de la partie déplacée), toutes les caractéristiques des différents virus doivent être répertoriées dans une base de donnée mise à jour pratiquement quotidiennement.







Cet article provient de Tout sur l'informatique - Programmation C#, Sécurité, Divx, P2P
http://www.zmaster.fr

L'URL de cet article est:
http://www.zmaster.fr/modules.php?name=News&file=article&sid=3