Anda di halaman 1dari 9

Teamlog - Les virus

Par Loc Hennequin

Date de publication : 6 mai 2002


Dernire mise jour : 16 juillet 2004

Cet article dcrit les virus et leur principe de fonctionnement par Loc Hennequin : consultant
Teamlog. 06/05/2002

Teamlog - Les virus par Loc Hennequin

Principes de base........................................................................................................................................................ 3
Principes de fonctionnement.................................................................................................................................. 3
Scanner...................................................................................................................................................................3
Moniteurs de comportement...................................................................................................................................4
Contrleurs d'intgrit.............................................................................................................................................4
Analyseurs spectrals...............................................................................................................................................4
Analyseurs heuristiques..........................................................................................................................................5
Terminologie................................................................................................................................................................. 6
Les virus canulars ou Hoaxes................................................................................................................................6
Les virus du secteur de boot................................................................................................................................. 6
Les virus de fichiers excutables...........................................................................................................................6
Les virus macro...................................................................................................................................................... 7
Les virus polymorphes........................................................................................................................................... 7
Les virus furtifs....................................................................................................................................................... 7
Les virus rsidents................................................................................................................................................. 7
Les chevaux de Troie.............................................................................................................................................7
Les virus compagnons........................................................................................................................................... 8
Les vers.................................................................................................................................................................. 8
Les bombes logiques............................................................................................................................................. 8
Les virus dfensifs..................................................................................................................................................8
Les virus mailers et mass-mailers......................................................................................................................... 8
Autres articles et liens................................................................................................................................................. 9
Autres articles......................................................................................................................................................... 9
Liens........................................................................................................................................................................9

-2Copyright Teamlog 2002/2003 - Tous droits rservs

http://teamlog.developpez.com/virus/

Teamlog - Les virus par Loc Hennequin

Principes de base
Principes de fonctionnement
Gnralits
Mcanisme de rplication
Ce mcanisme permet au virus de se rpliquer.
Il y a plusieurs mthodes pour y arriver :
* soit en infectant davantage de fichiers
* soit en utilisant un service rseau pour infecter d'autres ordinateurs
Charge utile
La charge utile est le coeur mme du virus, c'est elle qui contient sa capacit de nuisance relle. Elle peut tre l'une
de celles-ci :
* Affichage d'un message,
* Altrations mineures de fichiers,
* Destruction du contenu d'un disque dur,
* Dtrioration lente du contenu des fichiers avec ou sans possibilit de restauration,
* Vol ou diffusion d'informations confidentielles.
Dclencheur
Le dclencheur peut tre rgl pour
* Une action immdiate
* Une action ponctuelle (un jour particulier)
* Une action rptitive ( chaque dmarrage du systme, pour un anniveraire)
Mcanisme de protection
Compression
La compression est faite pour limiter la taille du code du virus, pour offrir un plus petit motif pour les anti-virus et pour
ne pas attirer l'attention par des pertes de taille de disque.
Polymorphisme
Le polymorphisme permet de limiter la reconnaissance du code par les scanners anti-virus.
Furtivit
Il s'agit ici de rendre plus difficile la dtection par l'anti-virus en dtournant tous les appels au disque.
Multiples phases
C'est une mthode exotique de cration de virus qui consiste le faire passer par plusieurs mode d'infection. Le virus
peut agir comme un virus macro puis comme un virus rsident infectant les fichiers par des macros...

Scanner
C'est la mthode la plus ancienne et aujourd'hui encore la plus utilise.
Cette mthode prsente l'avantage de dtecter un virus avant qu'il ne s'excute sur une machine.
Son principe est de rechercher sur le disque dur toute chaine de caractres identifie comme appartenant un virus.
Cependant comme chaque virus a sa propre signature, il faut, pour le dtecter avec un scanner que le concepteur
de l'anti-virus ait dj t confront au virus en question et l'ait intgr une base de donnes.
Un scanner n'est donc pas en mesure de dtecter les nouveaux virus ou (les virus polymorphes lien vers autre P)
(car ceux-ci changent de signature chaque rplication.)
Dans les annes 80, seuls quelques virus existaient, et l'criture d'un scanner tait une chose relativement simple.
Actuellement, avec plusieurs milliers de virus et l'apparition quotidienne de nouveaux modles, la mise jour d'un
scanner n'est pas vidente car elle reprsente une somme de travail considrable, et mme, quasi-impossible
raliser.
C'est pourquoi les concepteurs d'anti-virus proposent des mises jour de la base de donne tous les jours sur leur
site WEB, c'est le seul moyen pour le scanneur de dtecter les nouveaux virus.
En gnral, un scanner contient des champs associs chaque chane de recherche qui lui indiquent o rechercher
une chane particulire. Cette slectivit permet de rduire la charge de travail et de rendre plus rapide sa recherche.
Certains possdent galement diffrents modes de recherche qui orientent celle-ci en fonction de ce que l'utilisateur
souhaite. Ils peuvent alors s'intresser uniquement aux excutables ou vrifier l'ensemble des fichiers.

-3Copyright Teamlog 2002/2003 - Tous droits rservs

http://teamlog.developpez.com/virus/

Teamlog - Les virus par Loc Hennequin

Moniteurs de comportement
Les moniteurs de comportement observent l'ordinateur la recherche de toute activit de type virale et alertent
l'utilisateur. En gnral, un moniteur de comportement est un programme rsidant en mmoire que l'utilisateur charge
au dmarrage du systme (AUTOEXEC.BAT) et qui reste actif en arrire-plan en surveillant tout comportement
inhabituel.
Ces "comportements inhabituels" concernent :
* les tentatives d'ouverture de fichiers COM/EXE en lecture/criture ;
* les tentatives d'criture sur les secteurs de partition et de boot ;
* les tentatives de mise en rsidant.
Pour rprer ces tentatives, les anti-virus dtournent les principales interruptions de l'ordinateur et les remplacent
par l'adresse de leur code.
Les interruptions dtournes sont l'int 13H (disque dur), l'int 21H (DOS). Ainsi ds qu'un virus tente d'crire sur le
secteur de Boot, c'est l'anti-virus qui est d'abord appel, et qui peut ainsi prvenir l'utilisateur qu'un virus tente de
modifier le secteur de Boot.
L'anti-virus peut alors liminer le virus de la mmoire, enregistrer une partie de son code dans la base de donne et
lancer un scanning pour reprr la/les souche(s) sur le disque disque dur et les dtruire.

Contrleurs d'intgrit
Un contrleur d'intgrit va construire un fichier contenant les noms de tous les fichiers prsents sur le disque
auxquels sont associes quelques caractristiques. Ceci peut simplement tre la taille, la date et l'heure de dernire
modification ou encore un checksum (somme de contrle).
Par un checksum ou un code de redondance cyclique (CRC), le contrleur pourra dtecter si une altration s'est
produite et alertera l'utilisateur afin que ce dernier puisse prendre des mesures.
Le problme de cette mthode est qu'il peut y avoir des milliers de virus sur une machine, l'utilisateur n'en sera
inform que lorsque le virus s'excutera ou modifiera un fichier.
Les scanners restent actuellement la mthode la plus populaire car elle donne une indication claire et prcise sur la
situation, et rpond aux attentes d'un utilisateur novice en lui indiquant la conduite tenir : "le fichier 'FICHIER.COM'
est infect par le virus 'TRUC'. Voulez-vous l'effacer ?"
Les anti-virus base de moniteurs de comportements ont en gnral moins de succs et sont souvent critiqus
par des non-techniciens. En effet les messages du genre : "Tentative d'ouverture en lecture/criture du fichier
'FICHIER.EXE'. (A)rrter ou (P)oursuivre ?" peuvent laisser perplexe.
De mme, les contrleurs d'intgrits non pas plus de succs avec des messages comme : "Attention ! Le fichier
'FICHIER.COM' a t modifi !". Un utilisateur novice ne saura certainement pas comment ragir un tel message.
Pourtant, un scanner idal est une impossibilit mathmatique. En effet, on peut prouver mathmatiquement qu'il est
impossible de concevoir un scanner parfait qui serait en mesure de dterminer systmatiquement s'il y a ou non, un
virus prsent dans un programme.
Pour ceux qui ont certaines notions de logiques mathmatiques, ce problme est identique au problme d'arrt pour
une machine de Turing.
Un scanner rel manque donc de dtecter certains virus ou bien de signaler des programmes comme dangereux,
quitte mettre une alarme faussement positive. Ce sont les limitations inhrentes tout scanner.

Analyseurs spectrals
Tout code gnr automatiquement est suppos contenir des signes rvlateurs qui pourront tre dtects par un
algorithme reconnaissant ces modles.
Une faon trs simple d'analyser du code en employant cette technique consiste rechercher les instructions
atypiques gnres par un virus polymorphe, mais qui ne sont pas utilises par des programmes ordinaires.
Ainsi les moteurs de mutations DAME ou TPE gnrent rgulirement des accs mmoire au niveau des limites
de segments. Ce n'est pas une programmation trs lgante, et la plupart des programmes conventionnels s'en
abstiennent.
Techniquement, on peut parler du spectre des instructions machines prsentes dans un programme.
Il faut imaginer un espace abstrait dans lequel toutes les instructions possibles et tous les tats possibles d'un
processeur soient reprsents par un point ou un groupe de points.

-4Copyright Teamlog 2002/2003 - Tous droits rservs

http://teamlog.developpez.com/virus/

Teamlog - Les virus par Loc Hennequin

Il existe un nombre fini de ces points qui peuvent tre numrots. Un programme peut donc tre reprsent par une
srie de points ou de nombres.
L'analyse spectrale concerne l'tude de la frquence d'apparition et des interrelations lies ces nombres.
Ainsi, le nombre associ un accs mmoire gnr par un moteur de mutation, correspond un nombre qui ne
peut tre gnr par aucun compilateur normal.
Tout programme gnrant du code machine, que ce soit un compilateur C, un assembleur ou un virus polymorphe,
va n'exploiter qu'une partie de l'ensemble des points de cette espace.
Un compilateur C peut ne jamais utiliser telle instruction. De mme un assembleur, pourtant trs souple, n'utilisera
qu'un jeu restreint d'instructions.
Si on tudie alors l'intgralit des diffrents jeux de codes machines gnrs par tous les programmes mme de
produire du code machine, on trouve des zones de concordance.
On peut alors crire un programme qui effectue une analyse spectrale du code machine prsent l'intrieur des
programmes pour dterminer les sous-ensembles d'appartenance s'ils existent.
On peut alors dterminer l'origine de ces programmes, savoir que le code a t assembl par tel assembleur, tel
compilateur C ou tel virus polymorphe.
Une autre technique utilise en analyse spectrale consiste simplement analyser un bloc de code et observer si
la frquence des instructions prsentes correspond du code machine normal.
La forme la plus rustique d'une telle analyse consiste prendre en compte les octets pour dcider s'il s'agit rellement
de code. Un code chiffr prsente un spectre diffrent d'un code en clair.
En prolongeant cette ide un peu plus loin, si on diagnostique la prsence d'une routine de cryptage, on peut utiliser
la boucle de dcryptage pour dcrypter le code et ensuite le rexaminer pour s'assurer qu'il s'agit effectivement de
code machine.

Analyseurs heuristiques
L'analyse heuristique concerne la recherche de code correspondant des fonctions virales.
Elle est diffrente, dans son principe, d'un moniteur de comportement qui surveille les programmes ayant une action
de type viral.
L'analyse heuristique est passive. Elle considre le code comme une simple donne et n'autorise jamais son
excution.
Un analyseur de ce type va donc rechercher du code dont l'action est suspecte ou malveillante s'il vient tre excut.
L'analyse heuristique permet, par exemple, pour les virus polymorphes , de chercher une routine de dchiffrement.
En effet une routine de dchiffrement consiste parcourir le code pour ensuite la modifier.
Ainsi lors de l'analyse heuristique, l'anti-virus essaie de rechercher, non pas des squences fixes d'instructions
spcifiques au virus, mais un type d'instruction prsent sous quelque forme que ce soit.
Pour en revenir notre exemple de virus polymorphes, l'anti-virus cherche une suite d'instructions de lecture suivie
d'une suite d'instructions d'critures.
Cette mthode est donc un peu plus intelligente que les autres, car elle vise analyser les fonctions et instructions
les plus souvent prsentes et que l'on retrouve dans la majorit des virus.
Cette mthode permet ainsi, contrairement au scanning, de dtecter des nouveaux virus dont la signature n'a pas
t ajoute la base de donnes.
L'analyse heuristique peut se raliser conjointement avec l'analyse spectrale de sorte que si la premire indique
l'absence de virus, les paramtres issus de l'autre peuvent nanmoins permettre d'mettre un avertissement.

-5Copyright Teamlog 2002/2003 - Tous droits rservs

http://teamlog.developpez.com/virus/

Teamlog - Les virus par Loc Hennequin

Terminologie
Les virus canulars ou Hoaxes
Gnralits
Les virus canulars ne sont pas des virus en tant que tels. Il n'y a aucune technique sous-jacente. Un virus canular
consiste simplement envoyer un message lectronique des personnes, leur demandant d'envoyer ce message
au plus grand nombre de personnes.
Ils peuvent donc avoir une capacit de nuisance relle : saturation des messageries, saturation d'un numro de
tlphone cit dans le message, voire saturation de services administratifs ou hospitaliers voqus dans le message.
Ces canulars sont toujours construits de la mme manire. Une introduction trs alarmiste, des lments pseudotechniques qui peuvent tre dmonts rapidement pour peu qu'on prenne la peine d'y rflechir, des sources officielles
cites leur dpend, et la sempiternelle conclusion qui demande, pour sauver l'humanit toute entire de faire suivre
le message au plus grand nombre de personnes.
Certains de ces canulars sont d'ordre technique et voquent le danger d'un hypothtique virus qu'il est facile
d'radiquer en dtruisant certains fichiers sur l'ordinateur de l'internaute (fichiers ncessaires bien entendu au bon
fonctionnement de l'ordinateur et qui l'empcheront de dmarrer ou de fonctionner s'ils sont dtruits).
Certains de ces canulars sont d'ordre littraire. Ils racontent des histoires abracadabrantes particulirement
alarmistes et participent en plus la cration de rumeurs.
Ces virus n'ont pas de capacit de nuisance au sein d'eux-mmes. Ils ont besoin de la crdulit des utilisateurs pour
se rpandre.
Le bon rflexe avoir si vous recevez un message lectronique de ce genre est de l'effacer et de ne pas en tenir
compte. Si toutefois l'histoire raconte vous interpelle, avant de faire suivre le message tout votre carnet d'adresses,
prenez quelques minutes pour rechercher sur les sites ci-aprs si l'histoire en question n'est pas dj rpertorie.
Souvent, les canulars lorsqu'ils arrivent en France ont dj svi dans d'autres pays voire d'autres continents, mme
si au passage les sources ou les lieux voqus sont franciss.
Et si le message lectronique vous demande d'effacer des fichiers de votre ordinateur, n'en faites rien et faites
confiance votre administrateur si vous en avez un.
Liens
La liste des virus blagues du Virus Bulletin
La liste des virus blagues de Rob Rosenberger
La liste des virus blagues de Stiller Research
La liste des virus blagues de Network Associates
La liste des virus blagues de Sophos
La liste des virus blagues de Trend Micro
La liste des virus blagues du CIAC
La liste des virus blagues du NCSA

Les virus du secteur de boot


Gnralits
Les virus du secteur de boot s'installent dans le premier secteur d'un disque dur ou d'une disquette.
Ils remplacent le secteur de boot par une copie d'eux mme et dcalent les donnes prexistantes immdiatement
aprs ou sur des secteurs libres du disque.
La position sur le secteur de boot leur permet de se charger en mmoire ds le lancement de l'ordinateur et d'ainsi
continuer l'infection.
Ils chercheront infecter toutes les disquettes introduites dans l'ordinateur.

Les virus de fichiers excutables


Gnralits
Ces virus disposent d'une fonction d'altration des fichiers excutables prsents sur les disques de la machine
infecte.
Ces virus utilisent plusieurs techniques d'infection :

-6Copyright Teamlog 2002/2003 - Tous droits rservs

http://teamlog.developpez.com/virus/

Teamlog - Les virus par Loc Hennequin

* Virus par recouvrement : Ces virus crasent le dbut des programmes cibles avec leur propre code machine. Le
programme cible est alors inutilisable. Le seul avantage de cette technique est que la taille du code n'est pas modifie.
* Virus par ajout : Ces virus altrent le dbut du programme infect pour faire excuter le code viral en premier. Ce
code est ajout la fin du fichier. La taille du fichier est modifie.
* Virus par entrelacement : Cette technique est plus fine que les deux prcdentes. Il s'agit alors d'insrer le code
malicieux dans des zones non-utilises du programme. Ces zones sont typiquement entre les blocs du programme
(code, donnes et pile).

Les virus macro


Gnralits
Les virus macro sont des virus visant un langage de macro d'un produit particulier.
L'exemple le plus connu est celui de la suite Office de Microsoft.
Les virus sont crits dans le langage de macro de l'application vise (exemple: Visual Basic) et s'excutent sur une
action particulire (ouverture, fermeture, impression,...)
Ces virus se rpandent trs facilement entre documents en utilisant comme vecteur d'infection le fichier modle de
base de tout document.
La diffusion inter-utilisateur est effectue par l'change de documents infects.

Les virus polymorphes


Gnralits
Les virus polymorphes sont des virus capables de s'automodifier. A chaque fois qu'ils infectent un nouveau fichier,
le code du virus est modifi.
Les anti-virus utilisent souvent des fichiers de signatures contenant un certain motif qui identifie prcisment un virus
donn.
Le virus polymorphe essaie par divers moyens de limiter la taille du motif, ce qui le rend plus difficile dtecter avec
certitude.
En effet, plus le motif est court, plus il peut tre retrouv dans un grand nombre de programmes.
Le principe le plus courament utilis est le chiffrement du virus en gnrant une nouvelle cl chaque nouvelle
infection. La routine de chiffrement est galement perturbe pour qu'elle ne soit pas elle-mme une partie fixe.

Les virus furtifs


Gnralits
Ces virus sont capables de dtourner les interruptions pour devenir invisibles ; ils peuvent galement avoir des
capacits pour tromper les dbogueurs.
Dans le cas o ils dtournent les interruptions, ils masquent leurs prsences en retournant des images des fichiers
ou secteurs de boot tels qu'avant l'infection.

Les virus rsidents


Gnralits
Les virus rsidents sont des virus qui se chargent en RAM et qui infectent les fichiers au fil du temps lors de leur
ouverture ou excution.
Les plus rcents de ces virus prennent souvent la forme d'un pilote virtuel sous Windows (.vxd). Ils sont alors chargs
par le systme d'exploitation lui mme et avant les anti-virus.
Ceci les rend plus difficiles dtruire.

Les chevaux de Troie


Gnralits

-7Copyright Teamlog 2002/2003 - Tous droits rservs

http://teamlog.developpez.com/virus/

Teamlog - Les virus par Loc Hennequin

Les chevaux de Troie sont des virus requirant une action de l'utilisateur pour s'excuter. Ils utilisent un nom propre
tromper l'utilisateur.
On les trouve en particulier sur certains sites pirates qui offrent la dernire version d'un utilitaire qui, bien sr, n'est
qu'un virus n'ayant rien voir avec le vritable programme.
Il ne se dclenche que si l'utilisateur les excute. Le risque d'infection n'est donc pas spontan.
Une autre classe de chevaux de Troie est apparue avec l'avnement d'Internet. Ce sont des programmes qui ouvrent
des canaux de communication sur le rseau et qui sont prts recevoir des ordres de la part d'un intrus.
Ces nouveaux virus utilisent de plus en plus des techniques intrusives des crackers en utilisant des vulnrabilits de
produits rpandus tel Internet Information Server de Microsoft.

Les virus compagnons


Gnralits
Les virus compagnons sont des virus portant le mme nom qu'un autre programme et qui utilisent la prcdence
des extensions.
En effet, si l'on veut utiliser un programme prg.exe, qu'il existe dans le chemin un programme prg.com et que l'on
appelle prg sans extension, c'est prg.com qui s'excutera.
Le virus compagnon utilise donc un nom de fichier du systme ou courant en substituant l'extension .com .exe.
Il s'excutera donc la place de l'excutable rel en .exe lors d'un appel sous prcision de l'extension.
Le virus compagnon peut, ou non, tre dans le mme rpertoire que sa cible. Il suffit qu'il soit dans un rpertoire
situ avant dans la variable PATH.
Ces virus sont apparents aux chevaux de Troie.

Les vers
Gnralits
Les vers sont des virus particuliers qui peuvent se rpliquer par eux-mme entre ordinateurs
Les vers sont des programmes autonomes mme si certains d'entre eux utilisent des documents pour mieux se
rpandre (typiquement un message electronique).
Les vers sont de plus en plus courants et prennent de multiples formes. Ils peuvent viser soit des serveurs Internet
particuliers (comme IIS avec code-rouge) ou bien les documents d'entreprise.
Les derniers virus sont quasiment tous des vers.

Les bombes logiques


Gnralits
Ce ne sont pas proprement parler des virus. Ce sont des lments de programmes crs dans une optique
particulire qui affectent de manire destructrice le systme dans lequel ils sont implants.
Les bombes logiques n'ont pas de capacit de rplication.

Les virus dfensifs


Gnralits
Ces virus sont capables de dsactiver ou dtruire certains anti-virus. Ils sont donc capables de se propager sans
tre dtects.

Les virus mailers et mass-mailers


Gnralits
Ces virus sont capables d'utiliser la messagerie lectronique pour se propager.
* Les virus mailers envoient un mail chaque activation.
* Les virus mass-mailers envoient plusieurs mails chaque activation (par exemple tous les contacts outlook)
Les diteurs anti-virus indiquent cette capacit par @m pour mailer et @mm pour mass-mailers

-8Copyright Teamlog 2002/2003 - Tous droits rservs

http://teamlog.developpez.com/virus/

Teamlog - Les virus par Loc Hennequin

Autres articles et liens


Autres articles
Open Anti-virus
Nimda : une nouvelle tape dans la course au virus

Liens
Les virus clbres de l'an 2001
Site d'Aladdin
Site d'Alwil
Site de Command Software
Site de Computer Associates
Site de F-Secure
Site de Kaspersky Lab
Site de McAfee
Site de Network Associates
Site de Norman
Site de Panda
Site de Sophos
Site de Symantec Antivirus
Site de Tegam
Site de Trendmicro
Site de Trendmicro France
Site du Virus Bulletin
Cet article dcrit les virus et leur principe de fonctionnement. Il a t crit par un consultant Teamlog, l'original est
consultable sur le site Teamlog
Loc Hennequin 06/05/2002

-9Copyright Teamlog 2002/2003 - Tous droits rservs

http://teamlog.developpez.com/virus/

Anda mungkin juga menyukai