Depuis 30 ans, l'informatique prend de plus en plus d'importance dans notre vie quotidienne. En effet, elle s'étend sur tous les domaines et touche tout le monde. Ainsi une grande majorité des utilisateurs connaît le phénomène des virus, mais rares sont ceux qui savent ce qu'il en est réellement. Au début, d'éminents informaticiens ont proféré des absurdités sur les virus et comment s'en protéger. De plus les simples utilisateurs ont contribué à diffuser ces informations erronées. Certains pensaient par exemple que l'on courait des risques d'infection en laissant deux disquettes côte à côte, d'autres encore croyaient qu'il existait des "préservatifs" à disquettes. Bien que ces superstitions aient pour la plupart disparu, de nombreux points restent obscurs; pourtant le danger est bien réel; les virus sont de plus en plus sophistiqués, et leur nombre double tous les neuf mois.
C'est pour éclaircir ces zones d'ombres que nous avons réalisé ce rapport, qui a pour objectif de démystifier les virus. En effet, la meilleure façon de se protéger des virus est de les comprendre. Nous étudierons principalement les virus du système (MS) PC-DOS, et cela pour deux raisons. Non seulement MS-DOS est le système le plus répandu, mais en plus c'est celui qui subit le plus d'attaques de la part des virus. Toutefois, la notion de virus abordée ici peut-être étendue aux autres systèmes d'exploitations (UNIX, OS/2, etc ...).
Nous nous attacherons dans une première partie à présenter les bases nécessaires à une compréhension globale des virus. Ensuite, nous préciserons ces premières notions en les étudiant en détail. Nous finirons par une présentation des divers moyens de protections.
C'est sur les premiers ordinateurs des années soixante que naît CORE WAR, un jeu créé au sein des laboratoires Bell de la compagnie AT&T. Le principe du jeu est basé sur l'opposition, sans intervention humaine, de deux programmes dans un espace délimité de la mémoire centrale d'un ordinateur, chaque logiciel essayant d'anéantir son adversaire par tous les moyens possibles et imaginables (Tous les coups étaient permis !!).
Les règles de ce jeu contiennent donc implicitement la mise en oeuvre des fonctions fondamentales qui composent les programmes auto-reproducteurs actuels:
1/ Le déplacement au sein de la mémoire (auto-copie)
2/ L'analyse de l'environnement afin de localiser l'adversaire
3/La destruction du programme adverse
Le jeu fait des adeptes dans les laboratoires informatiques. De cet intérêt grandissant pour celui-ci, va naître une évolution spectaculaire. Au fil des sophistications naissent des programmes qui ne se contentent plus de se reproduire en mémoire vive, mais qui sont capables d'attacher leur copie à des éléments de la mémoire de masse et ainsi de sortir du cadre du système initial pour aller se propager de machine en machine: le virus est né.
Les premières expérimentations officielles de virus sont menées sur un ordinateur Vax 11/75 sous système d'exploitation Unix au début du mois de novembre 1983, au cours d'un congrès de sécurité informatique. Les cinq expériences réalisées à cette occasion ont montré une telle rapidité de contamination de la part du virus que les responsables qui avaient autorisé les tests refusèrent toute nouvelle expérience. C'est pourquoi le phénomène est étouffé jusqu'au début de l'année 1988 et ne touche que certains grands réseaux mais en aucun cas les micro-ordinateurs.
Le premier virus qui a produit ses effets hors d'un congrès ou d'un laboratoire est appelé BRAIN. A ce titre, il est classé comme numéro un dans la liste chronologique des virus recensés au niveau mondial. Si les U.S.A. mesurent l'ampleur du phénomène dès le début des années 1988, la France, comme la plupart des pays européens, ne prend véritablement connaissance de l'existence des virus informatiques que lors de l'alerte Datacrime (virus Hollandais du vendredi 13 octobre 1989, qui fut rapidement anéanti).
Au fur et à mesure, l'approche journalistique des virus évolue. L'information descriptive remplace peu à peu les élucubrations catastrophistes publiées précédemment. Le C.L.U.S.I.F (Club de la Sécurité Informatiques Français) et le C.I.G.R.E.F. ( Club Informatique des Grandes Entreprises Françaises) rédigent chacun un document sur les problèmes posés par les virus et les moyens de sécurité à mettre en oeuvre. C'est également au cours de cette période que le nombre des virus recensés au niveau mondial, qui jusqu'alors était resté marginal, prend son essor. En un an le chiffre passe d'une trentaine à plus de deux cent cinquante (en 1990).
Les virus informatiques ne constituent qu’une des nombreuses attaques dont peuvent être victimes les systèmes informatiques. Il est donc important, dans un premier temps, de les distinguer du cheval de Troie, du ver ou de la bombe logique, dont nous allons donner les définitions.
Un cheval de Troie est un programme qui exécute des services ne se limitant pas à ceux énoncés dans ses spécifications et ses effets sont souvent malveillants. Il sert à infecter un utilisateur peu méfiant. Si un programme normal est contaminé par un virus, il devient lui-même un cheval de Troie, car le programme acquiert des propriétés qui n'étaient pas initialement présentes. Les exemples de chevaux de Troie sont nombreux et peuvent être très simples. Par exemple, le programme CDIR.COM est supposé éditer le contenu d'un répertoire en couleur mais détruit aussi quelques données. Ou encore un petit fichier, appelé “ SEX.BAT ”, contenant une commande d’effacement des fichiers du répertoire racine. Si l’utilisateur remarque ce fichier au titre accrocheur sur une disquette et tape simplement “ SEX ”, les fichiers de son répertoire racine seront supprimés
Une bombe logique est un programme qui provoque des dégâts lorsqu’il est déclenché par une condition quelconque : heure donnée, présence ou non d’une donnée, ce qui rend sa détection difficile. Par exemple, dans une affaire récente, le poseur de bombe était un programmeur système. Il avait décidé de garantir son emploi permanent en introduisant une petite séquence d’instructions qui vérifiait si son nom figurait dans le fichier “paie”. S’il y figurait, rien ne se passait. Mais dans le cas contraire (s’il était licencié), des dégâts auraient lieu. Il fut licencié ce qui déclencha la bombe logique. Ce n’est que lorsqu’il obtint d’être réintégré par son employeur qu’il accepta d’indiquer où la bombe avait été placée. Il ne fut pas poursuivi.
Les virus sont des programmes informatiques courts tirant leur nom de leurs homologues biologiques (Voir annexe A). En effet, ils se reproduisent, investissent les disquettes, les systèmes informatiques et/ou les réseaux. De plus le délai pendant lequel ils peuvent se reproduire indépendamment est souvent très court de sorte que leur propagation est discrète. Enfin, comme tout virus qui se respecte, ils ne sont pas seulement constitués d’une codification autoreproductrice, mais ils contiennent également une « charge » qui, dans la plupart des cas, est malveillante et ses effets peuvent être dévastateurs. Les virus comportent généralement les fonctions suivantes:
1. Ils modifient des logiciels extérieurs par inclusion de leurs propres structures.
2. Les modifications qu’ils apportent ne se limite pas à seul un logiciel, mais touchent au moins un groupe de logiciels
3. Ils savent reconnaître si un logiciel a déjà été infecté.
4. 4. S’ils reconnaissent un logiciel déjà modifié ils s’interdisent de procéder à une nouvelle modification.
5. Le logiciel infecté présente désormais les propriétés 1. à 4.
Les vers sont des programmes informatique qui au même titre que les virus possèdent une fonction de réplication. La différence essentielle entre un ver et un virus réside dans le fait que les vers n’ont pas besoin de programme hôte pour se reproduire et se propager. Ils se déplacent en mémoire vive*. A cause de cela, les vers ne peuvent vraiment résider que dans la mémoire des gros systèmes informatiques (Sur un PC, une coupure d’alimentation et le ver est mort).
De même qu’il est difficile de localiser l’origine d’un virus biologique, il est difficile de savoir exactement qui programme les virus. Cependant, on peut remarquer que tous les auteurs n'ont pas les mêmes intentions ni les mêmes motivations.
Les pirates ou crackers* (ne pas confondre avec les "hackers"*) écrivent des virus pour nuire, ni plus ni moins. Ils cherchent de nouvelles expériences, la nouveauté ... Ils sont particulièrement imaginatifs quand il s'agit de détruire vos données, voire votre disque dur ou votre écran. On ne peut pas expliquer ce comportement, autrement que par la satisfaction de nuire à autrui. J. HRUSKA emploie des termes très forts en parlant des pirates, il va jusqu'à les assimiler à des toxicomanes, des psychopathes.
Il existe un autre groupe, particulièrement menaçant : Il s'agit des employés mécontents. Même lorsqu’ils n'écrivent pas eux-mêmes les virus, ils peuvent facilement les implanter sur les machines de leur entreprise. La menace est importante, et les entreprises prennent vite conscience du danger. Les statistiques clament que 30% (1991) des attaques informatiques dont sont victimes les entreprises sont perpétrées par les employés eux mêmes!
Certains parlent également d'actions terroristes. En effet, chacun sait que la destruction des systèmes informatiques de l'ennemi est un victoire décisive. On peut penser que les virus, ont été, ou, seront employés dans cette optique guerrière. Ainsi, le virus Jérusalem aurait été écrit par des sympathisants de l'OLP. La date de déclenchement (Vendredi 13) de ce virus coïncide avec le dernier jour d'existence de l'Etat palestinien.
Un autre groupe à ne pas négliger est constitué d'étudiants. en effet, ils ont la plupart du temps accès à des installations informatiques performantes. De plus, l'écriture d'un virus est "relativement" aisée; L'étudiant peut être séduit par le défi que représente la création de son propre virus.
Les particuliers sont touchés par les virus, mais dans une moindre mesure que les entreprises. En effet, les virus ciblent en priorité les entreprises, principalement celles disposant d'un parc informatique important. De plus, ils sont particulièrement virulents lorsque cette entreprise possède un réseau. Par suite, les employés de ces sociétés sont, malgré eux bien souvent, le vecteur d'une épidémie chez les simples utilisateurs de leur entourage.
Il y a à cela deux raisons majeures :
On peux ajouter à cela que pour toucher un maximum de système et d'utilisateurs, le support privilégié des pirates est le réseau informatique des entreprises. De proche en proche la contamination atteind les particuliers.
Elles se concentrent sous deux aspects principaux, les dommages et les délais qui se traduisent par des coûts pour l'entreprise..
L’apparition d’un virus (ou simplement de son annonce) implique très souvent l’arrêt complet du système, entraînant d'énormes pertes de productivité en plus des dommages subis (notamment la perte de données ). Les entreprises touchées peuvent rarement réparer d'elles même, et doivent donc faire appel à une société spécialisée, entraînant ainsi des coûts supplémentaires.
Le deuxième aspect recouvre le temps d’indisponibilité des ordinateurs dû aux dommages subis. La restauration complète du système se fait en deux étapes. La première qui consiste à éliminer le virus et la seconde à restaurer le système et tenter de récupérer les données perdues.
Le cycle de vie d'un virus est très simple. Même si l’on note quelques variantes, il comporte obligatoirement trois phases distinctes. Tout d'abord une phase d'infection, très courte. Ensuite, vient la propagation du virus qui s'accompagne ou non de dommages (déclenchés immédiatement ou à retardement).
On distingue deux grandes voies de contaminations selon la cible que le virus privilégie : Le secteur de démarrage (pour le virus boot) , ou bien les fichiers (pour les virus parasites et les macro-virus).
Les virus “ boot ” modifient le contenu du secteur de démarrage* du disque en remplaçant son contenu initial par leur propre version. La version d’origine est normalement “rangée” ailleurs sur le disque ce qui fait que lorsqu’il y a exécution des instructions contenues dans le secteur démarrage du disque (démarrage de l’ordinateur sur le disque dur), c’est le virus qui s’exécute en premier. Le mécanisme d’infection de ce virus s’opère sur trois points clefs :
Les virus parasites modifient le contenu des fichiers .COM* ou .EXE* de deux façons :
Cette deuxième catégorie est la plus utilisée car elle est la moins remarquée. Lorsqu’un programme contaminé s’exécute, la codification du virus s’exécute en premier. Le virus redonne ensuite la main au programme d’origine qui s’exécute normalement. le temps d’exécution supplémentaire imputable au virus n’est généralement pas perçu par l’utilisateur
Les macro-virus* sont des virus assez récents, qui touchent des logiciels très répandus tels que les traitements de texte et les tableurs. Leur mode de fonctionnement est totalement différent des autres types de virus. Tout d'abord, les virus sont programmés dans le langage de haut niveau (En opposition avec l'assembleur, langage très proche du CPU*) interne au logiciel. Il existe bien quelques virus en Pascal, en C etc... mais leurs performances sont très médiocres. Etant donné la spécificité d'un macro-virus* à un logiciel précis, l'infection est ciblée sur les fichiers au format de ce produit.
Ecrire un macro-virus ne demande pas trop de connaissances : Une bonne documentation sur la programmation des macros suffit. L'utilisateur individuel d'un tel logiciel ne court pas beaucoup de risques : la décontamination est sûre et efficace. Par contre les entreprises, les écoles, les administrations sont beaucoup plus gênées du fait du grand nombre d'utilisateur. En effet, le virus réinfecte facilement le système par le biais des disquettes utilisées et pertube directement le travail des utilisateurs en touchant leurs outils quotidiens.
Une fois la contamination effectuée, Les virus se comportent de deux façons différentes selon qu'il est résident ou pas.
2.2.1.1 Virus résidents
Lors de l'exécution d’un programme ou d'un secteur de démarrage contaminé, le virus est chargé en mémoire en même temps que le vrai programme. Le virus est exécuté en partie, mais au lieu de s’interrompre totalement, il reste actif (TSR : « Terminate and Stay Resident »). De nombreux programmes que vous connaissez peut-être, utilisent cette technique : Economiseur d’écran, Horloge, changeur de papier-peint.
Le virus est maintenant « chargé en mémoire », il ne sera actif que si il est exécuté. Cela se passera à l’occasion d'événements particuliers et prédéterminés (à chaque ouverture de fichier, toute les secondes pour l’horloge, quand on ne frappe pas les touches pour l’économiseur d’écran etc...). C’est précisément ce qui fait la puissance de ce type de virus : le détournement d'interruption
Une interruption est une suite d'instructions qui correspondent à un gestionnaire particulier de périphériques ou de composants du système d'exploitation
En temps normal, un programme appelle un "numéro" et l'interruption correspondante est exécutée. Un virus peut s'installer à "l'adresse" de l'interruption : c'est à dire que le numéro de l'interruption renvoie au virus, au lieu de renvoyer à la véritable interruption. Cela se fait aisément grâce à une « table des vecteurs d'interruptions ». Ce terme compliqué désigne en fait le carnet d'adresse des interruptions. Quand un numéro est appelé, le système d'exploitation exécute les instructions à l'adresse spécifiée. Le virus met son adresse à la place.
Quand un programme appelle le numéro détourné, le virus est activé. Soit il provoque des dommages, se propage, etc... soit il ne fait rien (selon la nature de l'appel et selon le type de virus), mais de toute façon il exécute finalement la vraie interruption (branchement à adresse originale préalablement conservée).
Les interruptions le plus souvent détournées sont les interruptions d'accès aux disques, au clavier etc... (cf. Figure ...)
Par exemple, le virus Brain se loge en mémoire et détourne l'interruption qui correspond à l'accès à une unité (A: C: etc.). Ensuite, il infecte les unités à sa convenance, selon ses instructions.
Autre exemple, le virus Cascade qui fonctionne à peu près de la même façon que Brain mais, se déclenche à chaque fois que l'utilisateur tente d'exécuter une application. Ce type de virus est très répandu, pourtant la programmation est plus délicate que certains virus non résidents.
Tout ce passe normalement, le programme appelle l’interruption 21, qui est alors normalement exécutée
Le virus est donc appelé à la place de l’interruption : Il devient actif. Une fois sa tâche terminée, il rappelle l’ancienne interruption, pour ne pas se faire remarquer.
2.2.1.2 Virus non résidents
Ce type de virus est actif uniquement lors de l’exécution d'une application contaminée. Il s’exécute entièrement et n'occupe plus de place en mémoire vive. Il reste inactif tant qu'une autre application infectée n'est pas lancée. Ces virus sont sans doute moins contagieux que les résidents, mais ils sont plus difficile à détecter et leurs effets sont imprévisibles.
Il existe aussi des virus qui combinent les deux méthodes énoncées précédemment. Ils s’exécutent tout d'abord comme des programmes non résidents mais ils laissent une partie de leur code en mémoire. Ces virus sont ce que l'on appelle des virus HYBRIDES.
La majorité des virus hybrides fonctionne comme TYPO. Le code reproducteur reste en mémoire morte* et tous les effets secondaires sont placés en mémoire vive.
Chaque virus désireux de rester discret, utilise ses propres techniques de camouflage plus ou moins originales. On peut cependant dégager plusieurs grandes techniques de dissimulation.
2.2.2.1 Le camouflage vis à vis de l'utilisateur
2.2.2.2 Le camouflage vis à vis des programmes de détection
Parmi ces techniques, le cryptage est couramment utilisé. La plupart du temps, l'antivirus cherche l'empreinte du virus partout où il pourrait se loger (dans les fichiers ou les secteurs boot etc...). En effet, chaque virus "normal" dispose de quelques octets* qui constituent sa signature. Si l'antivirus détecte une telle signature, il y a de grandes chances pour qu'elle appartienne au virus. Les virus essaient de contrecarrer cette recherche en cryptant leurs données. Ils génèrent une clef aléatoire de cryptage. A chaque génération la clef change, donc la forme du virus change, il est donc très difficile de le détecter.
Dès que le virus est activé, il s'autodécrypte, puis il s'exécute et ainsi de suite... Le problème pour les antivirus, c'est qu'ils ne peuvent pas se permettre d'essayer de décrypter un virus... Les méthodes de cryptages sont si diverses que l'opération serait trop sélective et trop coûteuse en temps ( il faut rechercher un virus sur des disques de très grandes tailles parfois...)
Ces méthodes de cryptage sont souvent basées sur les opérations logiques OR, AND et tout spécialement XOR. En effet le XOR permet d'avoir une clef unique de cryptage/décryptage.
Cryptage ( 11001 XOR 11010 = 00011 ) avec 11001 : données et décryptage
et decryptage ( 00011 XOR 11010 = 11001 ) avec 11010 : clef de cryptage
Ceci s’illustre très bien à l'aide d'un exemple simple. Considérons les instructions suivantes concernant un module de décryptage (la signification n'est pas importante, seul le changement de forme compte réellement) :
MOV SI,partie_a_decryptee
MOV CX,30 ; 30 octets à décrypter
boucle: XOR BYTE PTR [SI],66. ; clef de cryptage/décryptage = 66
INC SI ; Octet après octet, on decrypte
LOOP boucle
Pour la suite sachez que l'instruction NOP est l'instruction qui fait : "rien". Soit maintenant les instructions suivantes
MOV SI,partie_a_decryptee
NOP
NOP
MOV CX,30
NOP
boucle: XOR BYTE PTR [SI],66. ; clef de cryptage/décryptage = 66
NOP
INC SI ; Octet après octet, on décrypte
NOP
LOOP boucle
Puisque NOP ne fait rien, les deux modules de décryptages auront le même effet... Mais pourtant, ce ne sont pas les mêmes instructions. L'antivirus "basique" sera donc piégé, il ne pourra pas reconnaître le virus. En parsemant donc des NOP dans le module de décryptage, on obtient un virus polymorphique simple... Seulement, les antivirus un tant soit peu perfectionnés sont capables de détecter l'empreinte malgré les NOP (ils les ignorent). Les "vrais" virus polymorphiques utilisent donc la méthode du "junk code". Pour ne pas trop rentrer dans les détails, nous diront simplement que cela consiste à disséminer (aléatoirement!) dans le code original, non plus des NOP, mais de vraies instructions qui ne peuvent pas être ignorées par l'antivirus. La seule précaution que doit prendre le virus, c'est que les instructions "junks" ne perturbent pas le fonctionnement du module de décryptage.
A quand la prochaine étape ?
Nous allons dans cette partie étudier les six principales dégradations des performances:
La notion de système d'exploitation regroupe l'ensemble des éléments assurant l'interface entre le matériel, l'utilisateur et le logiciel. Cet ensemble permet de gérer les informations stockées sur les supports, de faire communiquer l'unité centrale et les périphériques et d’exécuter les programmes.
Les dommages relatifs au COMMAND.COM* sont identiques à ceux applicables aux programmes en général.
La destruction du secteur de démarrage n'a de conséquence directe que lorsque le support est destiné au démarrage (l'ordinateur de démarre plus) mais si le support destiné au stockage des données celui-ci ne sera aucunement affecté.
La FAT* est une des cibles privilégiées des virus car celle-ci est capitale pour la gestion du support sur laquelle elle est inscrite. Elle recense l'ensemble des secteurs occupés, les secteurs libres et les secteurs inutilisables. La destruction de la FAT entraîne l'impossibilité d'accéder, par des moyens habituels du dos, au contenu du support.
La modification du label de volume des supports est bénigne car cela gène en rien le bon fonctionnement du système. C'est plus une gène qu'un dommage.
L’augmentation du nombre de secteurs déclarés défectueux est une astuce des virus pour ce copier sur un support très discrètement et ne pouvant être effacer que par un formatage car la réécriture est impossible. La encore hormis le virus en lui-même, cette modification n'empêche pas le fonctionnement du système.
Les dommages potentiels liés aux éléments matériels de décomposent en deux catégories selon la nature du matériel en cause: Les éléments électromécaniques et les éléments électroniques.
Les éléments électromécaniques peuvent être endommagés à la suite d'une usure prématurée ou de situations de blocage. Par exemple, un code de saut en arrière destiné à une imprimante matricielle qui ne peut réaliser cette opération risque de créer un bourrage du papier et d'endommager les aiguilles de la tête d'écriture, c'est aussi le cas du lecteur de disquette à qui on demande de déplacer le bras de lecture dans des positions non prévues.
Les éléments électroniques peuvent être endommagés mais cela n'existe que depuis peu de temps. Il est ainsi possible de griller un écran, un microprocesseur en leur faisant effectuer des opérations illicites.
Nous pouvons d'ores et déjà assurer qu'il n'existe pas de moyen 100% fiable contre les virus. Les virus font partie du monde informatique et de ses risques, il faut donc apprendre à vivre avec. On dit que le meilleur remède contre la migraine consiste à se couper la tête. Si vous ne voulez pas être contaminé, éteignez votre machine et ne la rallumez jamais. Même si la fréquence des infections est faible, le danger doit être pris en compte et le respect de certaines règles raisonnables permet de diminuer les risques encourus.
Cependant, il est nécessaire (et on ne l'entend pas assez souvent) d'adapter ces règles à ses propres besoins. En effet, une entreprise est bien plus vulnérable qu'un particulier, et possède les moyens pour se protéger. La perte de quelques données pour un utilisateur individuel peut-être négligeable, tandis que pour une entreprise cela peut prendre des proportions catastrophiques. C'est pourquoi on ne saurait trop conseiller aux entreprises de sauvegarder régulièrement l'ensemble ou une partie de leurs données. Par contre, certaines règles sont valables aussi bien pour l'entreprise que pour les autres : Il faut protéger ses disquettes en écriture chaque fois que c'est possible. Il est indispensable de lancer régulièrement l'antivirus et d'acheter les mises à jour. Il est également souhaitable de posséder deux antivirus (descriptions aux 3.2).
Lorsqu'une attaque est détectée, il ne faut surtout pas céder à la panique! Certains auteurs préconisent des contre-mesures tout a fait exagérées. Il ne faut surtout pas détruire un programme ou formater son disque dur, juste parce que l'on croit être infecté. En général, quand les effets secondaires apparaissent, il est déjà trop tard, tous les dommages ont été effectués... Quand il y en a!.. De plus cette destruction aveugle peut-être évitée grâce à un simple antivirus. Si l'on a à faire à un virus nouveau, il faut le faire analyser plutôt que de l'effacer. En effet, pensez aux autres entreprises que vous pouvez sauver du désastre... si ce n'est pas la votre, car si vous avez été contaminé une fois, il y a des chances que le virus revienne. Mieux vaut l'étudier, déterminer les dégâts potentiels qu'il provoque pour l'éliminer sans douleur.
La dernière étape concernant la sécurisation de votre système informatique est peut-être la plus importante : elle consiste à sensibiliser les utilisateurs. Le meilleur moyen de se battre contre quelque chose est de savoir comment ce quelque chose fonctionne. Depuis quelques temps, les virus sont devenus des boucs émissaires. Le fichier n'a pas été correctement enregistré ? L'imprimante est en panne? Le disque dur a été formaté? Le programme corrompu ... Les virus sont suspectés en premier lieu. Pourtant, la plupart du temps le dysfonctionnement observé n'en est pas un, ou alors il est dû à la maladresse de l'utilisateur. Il faut donc expliquer au utilisateurs ce qu'est un virus et surtout comment s'en protéger... On gagnera ainsi du temps et de l'argent.
Il ne faut donc pas considérer la contamination comme irréversible. Il faut au contraire s'efforcer de comprendre les virus pour s'en protéger au mieux. Un des moyens de protection est l'antivirus. Tout le monde devrait savoir utiliser un antivirus et interpréter ses diagnostiques.
La prolifération sans cesse croissante des virus a entraîné un véritable marché des antivirus. En effet, la peur de voir son système informatique contaminé et l'importance de plus en plus grande des données qui y sont stockées (économiques, médicales, techniques, historiques...) incitent les particuliers comme les professionnels à se protéger.
Dans un premier temps nous analyserons les méthodes de détection les plus communes, puis nous nous intéresserons aux principaux antivirus actuellement sur le marché. Enfin nous étudierons dix réflexes qui peuvent être très utiles.
Les antivirus sont nés très vite après l'apparition des premiers virus. Le premier concernait le virus Jérusalem (qui est un des premiers virus recensé), il fut crée en Israël et traitait spécifiquement ce virus. Parallèlement, aux Etats Unis, les premiers produits ont été crées au sein de l'association Mac Afee qui est encore aujourd'hui un des leaders mondiaux du marché. C'est en récoltant un maximum d'informations chez toutes les victimes de virus que Mac Afee a crée sa base de données afin de crée ses propres Antivirus.
Il existe une multitude d'antivirus différents mais regroupés dans diverses famille de logiciels. Ces logiciels effectuent tous une première phase de détection et certains effectuent ensuite une phase de réparation.
3.2.1.1 Les antivirus non spécifiques
La première technique si elle est améliorée est porteuse d'avenir (actuellement, on note quelques problèmes à cause d'alertes dues à un fonctionnement normal du système). Cette méthode consiste à faire des contrôles de somme, d'où le nom "technique de contrôle de somme". N'importe quelle somme peut convenir : Somme de tous les octets, somme des octets pairs, somme des octets se terminant par 3 etc, etc, etc.
En fait, l'antivirus utilisant cette technique, compare les sommes qu'il effectue avec, les sommes qu'il a conservées, les originales, qui sont normalement exemptes de virus... Si il y une différence, la présence d'un virus est probable ...
Si la ou les sommes effectuées sont solides au niveau cryptographique alors, le système peut être certain - ou non - de son intégrité.
Le second procédé consiste en programmes résidents (TSR*) chargés de surveiller certains points sensibles souvent attaqués par les virus :
etc...
Le problème est qu'il n'y a pas réellement de règles précises établissant ce qu'un virus fait et ce qu'il ne fait pas. En plus ces programmes peuvent ralentir la machine, peuvent être incompatibles avec certains programmes. En général, ils perturbent le bon fonctionnement du système pour pas grand-chose et donnent souvent de fausses alertes.
De ce fait, les utilisateurs ont tendance à ne plus en tenir compte... Parfois, ils désactivent carrément cette surveillance, pour ne pas être dérangé intempestivement.
Mais les nombreux défauts de ces deux techniques font que ces
logiciels sont délaissés par les utilisateurs d'antivirus
aux profits de la deuxième catégories de produits.
3.2.1.2 Les antivirus spécifiques
Les logiciels qui s'attaquent spécifiquement aux virus (Technique du "scan" ou "balayage") sont beaucoup plus fiables et provoquent nettement moins de fausses alertes. Cependant, ils atteignent rapidement leurs limites.
Quand un antivirus utilise cette méthode, il recherche le virus à l'aide de sa signature, une chaîne hexadécimale (10 à 16 ) censée lui appartenir. La recherche peut d'effectuer un peu partout : Dans la RAM*, dans une FAT*, un Secteur de partition* etc...
Cette une méthode redoutable contre des virus connus, mais qui comporte néanmoins de nombreux points faibles :
C'est même une opération, que l'on peut réaliser à la main :
La chaîne hexadécimale correspond à des instructions machines, en changeant ces instructions, mais sans changer leur signification, le virus passe à travers les mailles du filet. Il y a plusieurs façon de le réaliser : ¨ On peut intervertir deux instructions, ce qui parfois ne change rien à l'exécution
Chaîne HEXA recherchée | Signification |
E9D8
2442 |
<instr1>
<instr2> |
Après modification :
Chaîne HEXA recherchée | Signification |
2442
E9D8 |
<instr2>
<instr1> |
Ou bien on peut changer ces instructions en instructions équivalentes :
MOV CX,0 au lieu de XOR CX,CX
Cependant, ce genre de modification manuelle est rare, car l'intérêt est restreint.
* F-prot:
Cet antivirus se démarque surtout par la protection qu'il opère sur le réseau. En effet, il peut mettre à jour 1000 postes en moins de dix minutes et ne ralentit pas les utilisateurs en plein travail. L'utilisateur peut choisir entre une méthode de balayage "heuristique" ou bien "sécurisante". La méthode heuristique correspondant à une recherche non spécifique. Ce produit met également à disposition, un détecteur de macro-virus et une protection permanente (programme TSR*).
* Mc Afee:
Le virus scan de Mc Afee possède un taux de détection de virus élevé sur le marché soit environ 6 500 signatures. Il est constitué de trois modules:
* Norton
Norton antivirus détecte et détruit plus de 8000 virus, il est compatible aux réseaux. Dans sa dernière version, il est équipé du "live update" qui permet de remettre à jour la base de virus via internet.
(statistiques sur le rapport Imprimé)
La justice française a prit conscience de la nécessité de disposer d’armes juridiques contre l’émission de virus, suite à un double constat. D’une part, celui du développement rapide de l’informatique, d’autre part celui de l’apparition d’une nouvelle criminalité concernant l’introduction frauduleuse de virus dans des systèmes informatiques.
L’accès frauduleux à un système de traitement informatique et l’atteinte portée au bon fonctionnement d’un système constituent les éléments fondamentaux de la loi du 5 janvier 1988.
L’article 462.3 de cette loi se propose tout d’abord d’incriminer quiconque aura intentionnellement et au mépris des droits d’autrui, entravé ou faussé le fonctionnement d’un système de traitement automatisé de données.
L’auteur du délit est passible d’un emprisonnement de 3 mois à 3 ans et d’une amende de 10 000 F à 100 000 F où de l’une de ces peines.
Cette loi vise en particulier les virus, qui permettent d’altérer le bon fonctionnement d’un ordinateur en y introduisant des instructions parasites.
L’article 462.4 sanctionne, quant à lui, quiconque aura intentionnellement et au mépris des droits d’autrui directement ou indirectement introduit des données dans un système de traitement ou supprimé ou modifié les données qu’il contient ou leur mode de traitement ou de transmission, la peine d’amende prévue allant dans ce cas jusqu’à 500 000 F.
Cette disposition tient compte de la façon dont s’opèrent en pratique les détériorations de données par les virus, à savoir par effacement, modification ou adjonction.
L’article 462.9 consiste à donner le droit au tribunal ayant jugé une telle affaire liée au virus , de confisquer les matériels appartenant au condamné et ayant servi à commettre les infractions prévues dans les articles précédents.
Ces différents articles ne permettent pas d’atteindre tous les cas pouvant se présenter en ce qui concerne les virus. En effet, ces lois se heurtent à divers obstacles.
La législation française ne permet pas, en effet, d’appréhender le seul fait de développer des programmes de virus, tant que ceux-ci ne ont ni utilisés ni diffusés.
L’article 462.2, par exemple, ne concerne que les personnes qui ont accédé aux systèmes de façon illicite mais en aucune façon celles qui y ont accédé sans irrégularité.
D’autre part, le simple constat des effets (cf 2.3) de l’acte délictueux est insuffisant car il est impératif de rapporter la preuve de l’infraction en cause.
La loi du 5 janvier 1988 constitue un moyen efficace de lutte contre la criminalité informatique en France mais il n’existe toujours pas d’accords internationaux qui permettraient d’appréhender tous les types d’infractions entre des pays différents. La législation Française concernant la fraude informatique est une des plus répressives au monde
.
Le 20 septembre 1988, un employé d’une compagnie d’assurances du Texas a été condamnés à 10 ans de prisons et 5000 dollars d’amende plus 12000 dollars en dommages et intérêts envers sa compagnie pour avoir délibérément introduit un virus dans la base de données de son employeur. En deux jours, ce programmeur de 40 ans était responsable de la destruction de 168000 enregistrements de paye.
Deux étudiants (agés de 19 ans) de l'université de Cornell aux Etat Unis ont été arrêtés le 25 Janvier 1992 pour avoir infecté délibérément le serveur de leur école et d'autres des serveurs à travers le monde, avec un virus pour MacIntosh. Un des étudiant déjà appréhendé en 1986, dû payer $10000, accompagné de 3 ans de probation et 400 heures de travaux d'utilité publiques.
Dans ce rapport nous avons vu tout d’abord dans quel contexte évoluent les virus, par qui et pourquoi ils sont conçus. Ensuite nous avons examiné le fonctionnement des différents types de virus, comment ils agissent, leurs techniques de survie, et les dégâts qu’ils peuvent occasionner. Pour finir nous avons montré les différents aspects de la lutte contre les virus, que ce soit dans le cadre des précautions à prendre pour éviter d’être infecté, de la protection logicielle à laquelle on peut recourir, ou bien de la protection juridique. Ce rapport nous a donc permis de mettre en lumière les différentes facettes du fonctionnement de la plupart des virus. Nous avons aussi étudié les meilleurs moyens de s'en protéger sans se pénaliser. Tout ceci doit permettre de comprendre ce qu'est un virus, comment s'en protéger et ne plus en avoir une peur irraisonnée. En effet la méconnaissance des virus est leur principale force, à l’avenir ils devront être encore plus discrets et proliférer davantage pour espérer survivre. On observe déjà une recrudescence des virus Internet, cela pour deux raisons : d’une part le nombre d’abonnés Internet est en augmentation permanente et d'autre part, certains logiciels favorisent la prolifération des virus (les virus arrivent par le courrier et s’exécutent dès que la personne tente de le lire; Le logiciel Netscape ne permet pas de détruire le courrier tant que celui-ci n’est pas lu ...).
L'évolution de la forme des virus est loin d'être terminée. De plus en plus complexes, ils acquièrent d'avantage d'autonomie. Certains spécialistes, tel M. LUDWIG, considèrent les virus comme la première forme de vie électronique autonome. En effet, tout au long de notre étude, nous avons vu des techniques de camouflage et de réplication qui assimilent les virus informatiques à leurs homologues biologique.