|
|
Autres liens concernant ce sujet: |
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.
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.
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.