Le point sur les virus (3/4)
<<--Page 2
Algoritme d’un fichier virus
Dans un souci d’exhaustivité du dossier, et afin de permettre à tout le monde de bien comprendre comment fonctionne un virus, nous allons examiner rapidement le modus operandi de ces programmes particuliers.
Suivant le type de virus mis en cause, les actions sont les suivantes, une fois celui-ci activé :
- un virus résidant en mémoire examine la RAM afin de déterminer si elle contient une copie du vfirus, et l’infecte s’il n’y en a pas. Les virus non-TSR cherchent eux des fichiers non-infectés dans le répertoire root, examinentt l’arborescence des disques logiques et infectent les fichiers trouvés.
- le virus exécute ses instructions additionnelles, s’il y a lieu : actions destructives, effet graphique ou sonore, etc. Ces instructions supplémentaires d’un virus résidant peuvent être activées quelques temps après la mise en route du virus, suivant la configuration du système, les compteurs internes du virus ou toute autre condition.
- le virus rend le contrôle au programme hôte (s’il y a lieu). Les viruses parasites, à ce stade, soit nettoient le fichier, l’exécutent et l’infectent à nouveau, soit restaurent le code hôte (mais pas le fichier) à son état d’origine. Les virus compagnons lancent leurs “hôtes”, les vers et les virus d’effacement rendent le contrôle ensuite au système.
©cranfield.ac.uk
Dans la plupart des cas, l’infection d’un fichier par un virus est « correcte », comprendre par là qu’il est possible de dinstinguer le code vérolé du code sain, et donc de recupérer le fichier sain[[Ce qui est une des fonctions des logiciels anti-virus, tel Virus Barrier d’Intego]]. Mais, à l’instar de tout programme informatique, il arrive que les virus comportent des bogues ! Et dans de tels cas, même si l’objectif premier du virus n’était pas nécessairement de rendre le fichier infecté inutilisable, l’infection n’est pas traitable.
Camouflage
Aussi surprenant que cela puisse paraître de prime abord, la création de virus est ue activité très en vogue chez tous les hackers[[Nous profitons de l’apparition de ce terme pour bien établir que le hacking n’est pas une activité de piratage ; le terme désigne toute tentative de dépassement des possiblités de programmation d’un langage, d’une machine, etc.]] et programmeurs, parce qu’elle demande une maîtrise hors-normes. Un bon virus est un code qui ne se repère pas, et qui produit des effets considérables. C’est par là-même une merveille d’optimisation, et des concours de création du virus le plus optimal étaient il y a quelques années encore monnaie courante dans le monde des codeurs.
Par conséquent, les virus se camouflent la plupart du temps puisque leur nature veut justement qu’ils ne soient pas repérables avant d’entrer en action. Par exemple, ils cherchent un attribut qui ne soit pas modifiable (read-only), l’effacent avant l’infection et le restaurent par la suite. De nombreux virus de fichiers lisent la date de dernière modification du fichier et la restaurent après avoir complètement vérolé le fichier. Certains sont à mêmes d’intercepter les procèdures d’interruption lancées lorsque l’on essaie d’écrire sur un item protégé en écriture, provoquant l’interruption eux-mêmes, pour parvenir à leurs fins.
Propagation
Avant Internet et la mise en réseau potentielle de tous les ordinateurs du monde, la propagation des virus dépendait fortement du nomadisme de l’utilisateur. Aujourd’hui les vitesses de propagation sont infiniment plus élevées. Plus un virus se répand rapidement, plus il a de chance d’être à l”origine d’une épidémie, le nombre de souches augmentant de manière exponentielle. D’un autre côté, plus l’infection est lente, moins le virus a de chances d’être repéré (dans l’hypothèse où il est encore inconnu des anti-virus, bien sûr). Le but du concepteur du virus influe donc fortement sur son choix d’une méthode de propagation.
Les virus non-résidants ont souvent une vitesse de propagation lente. La plupart d’entre eux n’infectent au départ que deux ou trois fichiers, Ceux d’entre eux qui infectent l’ensemble de l’ordinateur hôte d’un seul coup ont une durée de vie relativement courte, puisque repérables rapidement (le plus souvent par une activité exceptionnellement élevée du disque dur).
La « vitesse » des virus résidants est habituellement plus élevée, et l’ensemble des fichiers est très rapidement infecté. Les virus résidants qui infectent les fichiers uniquement s’ils sont exécutés ralentissent leur propagation par rapport aux virus qui infectent les fichiers lors de leur ouverture, changement de nom, d’attributs, etc. La plupart des virus, lorsqui’ils tentent de se copier dans la RAM, essaient d’occuper la zone de mémoire qui possède le moins d’adresses. Après l’infection, l’interpréteur est restauré.
- ©cranfield.ac.uk