L’analyse heuristique sert à rechercher des
codes correspondant à des fonctions virales. Supposons, comme c’est souvent le
cas, que l’on veuille trouver les codes qui se chiffrent eux-mêmes (cas des
virus polymorphe et autocryptés). Un antivirus utilisant l’analyse heuristique
contient un désassembleur lui permettant de lire le code machine et de
l’exécuter ensuite virtuellement sur des registres simulés. Il considère donc
le code comme une simple donnée et ne cherche en aucun cas à l’exécuter. Il pourra ainsi simuler l’évaluation d’un
code suspect en regardant si il essaie de se lire puis de se réécrire au même
endroit, ce qui est la signature d’un programme auto-modifiant, et en
particulier d’un virus polymorphe.
Notons qu’un virus polymorphe doué de
furtivité pourrait déjouer l’analyseur heuristique en interceptant sa demande
de lecture du fichier infecté. Ainsi, cette technique, comme toute les autres,
n’est efficace que si elle est employée conjointement avec d’autre. Il en va de
même pour les virus, qui tendent à combiner un maximum de techniques
différentes pour échapper aux antivirus. On assiste à une véritable course
poursuite atteignant des sommets de technicité dans la programmation.
Aucun commentaire:
Enregistrer un commentaire