1.1.
Préliminaires
Les programmeurs de virus utilisent
énormément d’astuces ou de failles des systèmes informatiques qui sont très
spécifiques, c’est pourquoi les algorithmes qui vont vous être présentés dans
cette partie sont des cas possibles parmi beaucoup d’autre, dont on ne peut
dresser ici une liste exhaustive. L’inventivité des programmeurs de virus est
en effet stupéfiante. D’autre part, pour ne pas rentrer dans des détails de
programmation qui seront ultérieurement étudiés en partie 2, les algorithmes
fournis seront simplifiés à l’extrême.
2.2.
Les virus infecteurs de
fichier
Tout virus infecteur de fichier exécute en
premier une routine de recherche d’un fichier hôte sain à contaminer. Prenons
le cas d’un virus cherchant un fichier .HOT dans une arborescence de
répertoires DIR. L’organigramme d’une telle routine pourrait être le
suivant :
Il existe plusieurs façons d’installer un
virus infecteur dans un fichier hôte (partie infection ci-dessus). Nous en
distinguerons 3 :
·
Par
recouvrement du programme hôte par le code du virus. Le programme hôte est
alors perdu. Notons qu’un tel virus est très facile à réaliser mais aisément
identifiable.
·
En renommant le programme hôte avec un nom
excentrique, et en prenant le nom original de l’hôte (virus compagnon).
·
Ou
en se copiant à l’intérieur du programme hôte, ce qui impose d’en modifier la
structure.
La dernière stratégie est la plus employée car
c’est la plus discrète. Etudions la en détail. Sois un programme .HOT à
infecter. Sa structure en mémoire est typiquement :
Figure 3.2 : Fichier infecté par un virus parasite
Un dernier type de virus infecteur de fichier
est le virus résidant. Celui-ci ne se reproduit pas lorsque le programme hôte
est exécute, mais se recopie dans un zone mémoire où il reste en veille en
détournant par exemple des interruptions systèmes (cas du PC). Il ne se
reproduira que lorsque l’interruption sera appelée. Il est ainsi dissocié de
son programme hôte, ce qui réduit les risques de se faire repérer.
2.2.
Les virus systèmes
Chaque système informatique (PC, station Sun,
HP48…) possède son propre mode de démarrage, auquel le virus système est
intimement lié. Nous allons donc nous
restreindre au cas des PC pour comprendre comment marche un virus système.
Lors de sa mise sous tension, la CPU (unité
centrale) du PC commence par exécuter un programme écrit en ROM, le BIOS,
chargé de configurer la machine autour de la CPU. En fin d’exécution, le BIOS
recherche une zone mémoire, appelée secteur de démarrage, et charge la CPU de
l’exécuter. Ce secteur de démarrage contient un programme construit par le
système d’exploitation pour permettre à la CPU de le lancer. Le virus système
est installé de façon à être exécuté avec ce programme. Pour cela, il le
remplace en général sur le secteur de démarrage, après en avoir fait une copie
qui sera exécuté après le virus.
Pour se reproduire, le virus système a 2
possibilités : soit il cherche un autre disque pour en infecter le secteur
de démarrage (Tout disque, ou disquette, en contiens effectivement un). Soit,
il infecte un fichier utilisateur, depuis lequel il infectera ultérieurement un
autre disque, ou encore il se fait résidant. Dans ce dernier cas, le virus est
dit hybride.
Un virus système rudimentaire pourrait fonctionner
comme suit (Figures 4.1 et 4.2) :




Aucun commentaire:
Enregistrer un commentaire