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
|