Autres liens concernant ce sujet:

  • Antivirus



  • Définitions générales




    Qu'est-ce qu'un antivirus ?

    L'antivirus est le seul moyen de détecter et de combattre les virus. Les virus étant de plus en plus intelligents, les programmes antivirus ont du s'adapter et devenir de plus en plus performants. L'augmentation constante du nombre de virus oblige les fabricants de programme antivirus d'actualiser sans cesse leur bas de donnée.

    Aspect technique


    Il existe quatre techniques principales pour détecter les virus. Il s'agit du scanning, du moniteur de comportement, du contrôleur d'intégrité et de la recherche heuristique. Le scanneur examine tout les fichiers le code spécifique qui en censé indiquer le présence d'un virus. Le moniteur de comportement surveille les les actions habituellement menée par les virus, les contrôleurs d'intégrité signalent les changement intervenus dans les fichier et enfin la recherche heuristique examine les instructions généralement utilisées par les virus.

    Recherche de la signature (scanning)


    Il s'agit de la méthode la plus ancienne et la plus utilisée. 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ère identifiée comme appartenant à un virus. Comme chaque virus à une signature qui lui est propre, il faut que le programme antivirus ait déjà été confronté au virus en question et l'ait intégré à une base de donnée. Un scanneur n'a donc pas la capacité de détecter des virus inconnus ou des virus polymorphes. Cette méthode est la plus simple à programmer, mais aussi la plus longue à mettre en oeuvre car elle n'est efficace que si elle recense tout les virus existants. Ceci représente une somme de travail considérable et presque impossible à réaliser. C'est pour cela que les fabricants de programmes antivirus proposent des mises à jour de la base de donnée tout les mois sur leur site web.

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


    Un contrôleur d'intégrité va construire un fichier contenant le nom de tout les fichiers présents sur le disque dur auxquels sont associés quelques caractéristiques communes, par exemple la taille, la date et l'heure de la dernière modification, ou 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 de fichier en recalculant le checksum à chaque démarrage de l'ordinateur, ou dès qu'un fichier exécutable est ouvert par un programme. Si le checksum d'un programme avant et après son exécution est différent, c'est qu'un virus à modifié le fichier, et l'utilisateur en est immédiatement informé.

    Moniteur de comportement


    Les moniteurs de comportements surveillent toute activité de type virale, et de prévenir l'utilisateur si une activité de type virale se produit. De manière générale, le 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, et qui surveille tout comportement inhabituel. Les manifestations de virus pouvant être détectés sont:
    Tentative d'ouverture/écriture de fichier exécutable
    Tentative d'écriture sur les secteurs de partitions de démarrage
    Tentative pour devenir résident


    Les antivirus détournent les principales interruptions et les remplacent par leur code. Les interruptions détournés sont l'INT 13 H (disque dur), l'INT 21 H (DOS). Ainsi, lorsqu'un virus tente d'écrire sur le secteur boot, c'est l'antivirus qui est d'abord appelé, et peut prévenir l'utilisateur qu'un virus tente de modifier le secteur de boot. L'antivirus peut donc éliminer le virus et enregistrer une partie de code dans la base de données et lancer et scanning pour repérer la/les souche(s) sur le disque dur et les détruire.

    Démarche heuristique


    L'analyse heuristique concerne la recherche de code correspondant à des fonctions virales. L'analyse heuristique est comme le scanning, passive. Elle considère le code comme une simple donnée et n'autorise jamais on exécution. L'analyse heuristique va donc rechercher le code dont l'action est inhabituelle. Cette méthode permet de détecter les virus inconnus.

    Analyse spectrale


    Tout code généré automatiquement est supposé contenir des signes révélateurs du compilateur utilisé. De même, il est impossible de retrouver dans un programme exécutable compilé certaines séquences de code. C'est grâce à ce principe qu'entre en jeu l'analyse spectrale. Cette analyse à pour but de repérer les virus polymorphes, qui sont détectable d'aucune autre façon. Lorsqu'un virus polymorphe crypte son code, la séquence qui en résulte contient certaines association d'instructions que l'on ne trouve pas en temps normal. C'est ce que doit détecter l'analyse spectrale. Si, dans un programme exécutable, l'antivirus trouve une instruction de lecture d'un octet de plus au delà de la taille limite de la mémoire, on sera probablement en présence d'un code crypté, donc d'un virus polymorphe.

    Principales techniques de suppression des virus


    Une fois un virus détecté, l'antivirus doit le supprimer. Cette opération est beaucoup plus compliquée et délicate que l'on croit. La suppression des virus de recouvrement est impossible. La seule solution est la destruction des fichiers infectés ou le formatage du disque dur. Pour les autre types de virus, la tâche n'est pas impossible, mais très ardue: il faut savoir très précisément où se trouve le virus, dans le fichier, qu'il peut être composé de plusieurs parties, enfin il faut le supprimer, et aller chercher la partie du programme où le virus avait pris place et la restaurer. Toute ces opérations nécessitent une connaissance parfaite du virus et de son mode d'action. Toute les caractéristiques des virus doivent être enregistrées dans une base de données.