-

Il existe divers types de programmes nuisibles qui sont parfois regroupés sous le nom de malwares (par opposition à software). Le public appelle généralement virus deux types de malwares : les virus proprement dits et les vers.

  
DossiersVirus informatiques et autres bestioles ! Partie 1/2
 

Dès 1949 Von Neumann, auteur du principe sur lequel reposent les ordinateurs actuels, démontre théoriquement la possibilité de programmes autocopiables.

Dans le début des années 60, quelques informaticiens des laboratoires Bell inventent le jeu Core War. Le principe consiste à implanter dans la mémoire d'un ordinateur deux programmes qui vont alors, sans aucune intervention humaine, lutter l'un contre l'autre en cherchant à se localiser et à se détruire mutuellement. Chaque programme peut en outre se défendre en s'autoréparant en cas de dommage causé par l'adversaire, et en se dupliquant dans la mémoire. La partie est terminée lorsque l'un des joueurs a perdu tous ses programmes ou si ceux-ci ont été modifiés au point d'être rendus inactifs.

Le gagnant est celui qui possède le plus grand nombre de copies actives du programme.

En 1972 apparaissent deux dérivés de Core War : Darwin et Worm. La première mention publique de Core War est faite en 1983. En 1984 la revue à grande diffusion Scientific American publie un article qui suscite un intérêt énorme, exposant une méthode complète pour créer un programme de ce type. Ces programmes ne se développaient et n'agissaient que dans la mémoire vive de l'ordinateur. Il suffisait donc d'éteindre celui-ci pour que tout rentre dans l'ordre.
Toutefois, le problème peut devenir grave pour les systèmes reliés en réseau comme en témoigne ce qui est arrivé en 1988 au réseau Internet.

À l'époque, ce réseau n'avait ni le développement ni la célébrité qu'il a acquis maintenant. L'essentiel des ordinateurs qu'il reliait appartenaient à des universités, des ministères, quelques entreprises et des agences gouvernementales (NASA par ex.) des USA. Un jeune mordu d'informatique (Robert Morris Jr) crée un ver, c'est-à-dire un programme capable de s'autodupliquer indéfiniment. Il lance son ver sur le réseau Internet, mais en raison d'une imperfection de programmation, le ver échappe complètement à son contrôle.

A partir du 2 novembre 1988 au soir tous les ordinateurs américains reliés au réseau Internet sont progressivement contaminés et, bien que le ver soit dépourvu de toute fonction offensive, ils entament un processus d'activité spontané qui s'amplifie et paralyse rapidement le réseau.

En moins de 24 h. plus de 6000 ordinateurs (2000 selon d'autres estimations) répartis sur l'ensemble du territoire des États-Unis voient leur mémoire encombrée et leur vitesse de fonctionnement s'effondrer, tandis que les lignes du réseau sont presque saturées.

En théorie, la solution est simple puisqu'il suffit d'éteindre simultanément tous les ordinateurs puis de les relancer, mais ceci est impossible pour un réseau comprenant des milliers d'ordinateurs appartenant à des organisations différentes très dispersées géographiquement. Il suffit en effet qu'un seul ordinateur reste sous tension pour que cette parade soit inefficace.

Il a fallu plusieurs semaines pour résoudre complètement le problème et le coût des dommages a été estimé à 150 000 dollars, voire 1 million si on prenait en compte le « manque à gagner » lié au temps perdu (des chiffres s'élevant à 96 millions de dollars ont même été avancés, mais ils ont été critiqués par la suite).

Revenons en 1983-1984. À cette époque F. Cohen démontra théoriquement la possibilité de créer de véritables virus(capables de se reproduire sur mémoire de masse et de se propager en causant des dommages irréversibles). Il réalisa quelques expériences bien contrôlées pour attirer sans grand succès l'attention des responsables de sécurité informatique.

Tout ceci se limitait alors aux ordinateurs classiques (moyens et grands systèmes) et, si l'on excepte le cas du ver Internet et un ou deux autres cas non cités ici, ne paraît pas avoir eu d'incidence notable.

D'autres moyens d'agression informatiques étaient en outre bien connus, certains depuis longtemps.

  • Une bombe logique
est une fonction illicite ajoutée par un informaticien à un programme normal hébergé par un ordinateur.

Cette fonction est généralement conçue pour se déclencher si certaines conditions particulières sont réalisées, de façon à constituer un moyen de vengeance ou de pression sur une entreprise. Un exemple bien connu est celui d'une bombe logique qui devait entrer en action si le nom de l'informaticien disparaissait du fichier du personnel.

Lorsque l'informaticien fut licencié, la bombe logique commença à effacer progressivement des noms de clients du fichier de l'entreprise. Lorsque celle-ci s'en aperçut, longtemps après, les dommages étaient considérables et l'entreprise était au bord de la faillite. Compte tenu de la complexité des programmes, il est très facile de dissimuler de telles bombes. C'est toujours une agression commise par un informaticien au service de l'entreprise ou un prestataire de services. Il est vraisemblable qu'on ne sait pas tout dans ce domaine et bien d'autres cas ont dû être affrontés, ou négociés, avec un maximum de discrétion. On imagine toute l'importance que cette arme pourrait avoir pour des logiciels « sensibles », par exemple en terme de défense nationale.

  • Le cheval de Troie
, au contraire, est un programme entièrement conçu pour provoquer des dommages, mais en empruntant le nom et l'apparence d'un programme ayant une autre fonction.

Ainsi, en 1989 de nombreux médecins reçurent pour essai un logiciel se présentant comme un logiciel d'information sur le SIDA. En réalité, après un certain temps de fonctionnement en apparence correct, ce logiciel renommait de façon fantaisiste tous les fichiers contenus sur le disque dur de telle sorte que plus rien n'était identifiable. Un exemple encore plus pervers a été celui d'un cheval de Troie qui avait pris le nom et l'apparence de l'antivirus SCAN qui était distribué librement en shareware. En réalité, son action véritable était de détruire la table d'allocation du disque dur, ce qui entraînait la perte de tout le contenu de celui-ci. Les chevaux de Troie existent toujours et sont souvent désignés par l'appellation anglaise « trojan horse », ou plus brièvement « trojan » (ce qui est stupide puisque le cheval de Troie d'Homère n'était pas troyen, mais grec).

  • Les backdoors
: ce terme peut être traduit par « porte dérobée ». C'est un moyen pour contourner la manière normale d'entrer dans un programme.

A l'origine il s'agit d'une pratique informatique tout à fait normale : au cours de la mise au point d'un programme le programmeur peut souhaiter entrer dans le programme ou dans certains modules de celui-ci par une voie plus directe que celle offerte par l'exécution normale. Ces points d'entrée peuvent court-circuiter les procédures d'accès et les sécurités du programme. Normalement ces backdoors doivent être supprimées lorsque le programme a fini d'être testé.

Mais il peut être nécessaire d'en maintenir à des fins de dépannage en cas de problème majeur empêchant d'utiliser le programme dans des conditions normales. Parfois aussi certains programmeurs laissent délibérément une backdoor pour des raisons plus équivoques. Ces backdoors sont généralement dissimulées par des combinaisons de touches ou d'opérations très exotiques et ne sont connues que du programmeur.

L'idée peut être généralisée à des fins malveillantes. Divers virus, vers ou chevaux de Troie peuvent installer des backdoors sur un ordinateur, ce qui permet à un pirate de prendre le contrôle de la machine, en général avec des privilèges d'administrateur. A partir de ce moment là il est possible de faire n'importe quoi : pirater le contenu de l'ordinateur, récupérer le mot de passe vers un compte bancaire, et surtout se servir de cet ordinateur pour lancer, de façon masquée, une attaque vers d'autres ordinateurs bien plus intéressants du point de vue du pirate.

Chevaux de Troie et backdoors sont souvent introduits subrepticement par des vers ou la visite de pages Web piégées.