Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  01.04.2012      r+  22.10.2024      r-  22.10.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

Histoire des Virus. De la naissance des premiers concepts aux premiers virus. Mais qui a ouvert la boite de Pandore ? Où ? Quand ? Comment ?


Histoire des virus - Von Neumann

John Louis Von Neumann

John Louis Von Neumann, mathématicien américano-hongrois, né le 28 décembre 1903 à Budapest (Autriche-Hongrie), mort le 8 février 1957 (à 53 ans) à Washington, est l'un des pères des ordinateurs. C'est à lui que l'on doit l'idée de programmes stockés en mémoire et donc facilement modifiables pour leur mise au point plutôt que des programmes plus rapides, mais figés dans les composants matériels. C'est aussi à lui que l'on doit l'idée que les programmes et les données peuvent partager le même espace d'adressage mémoire. Travaillant aux États-Unis, il publie, en 1939, un article « Théorie et organisation des automates complexes » évoquant la possibilité pour un programme de prendre le contrôle d'un autre programme.

Photo : John Louis Von Neumann devant un pupitre de l'EDVAC




Histoire des virus - Von Neumann - ENIAC (Electronic Numerical Integrator and Calculator)

ENIAC (Electronic Numerical Integrator and Calculator)

La guerre fait faire un bond en avant aux ordinateurs grâce à des besoins énormes en puissance de calcul (calcul de balistique des vecteurs d'armes par exemple) et à des budgets quasi illimités. Von Neuman participe à ces travaux qui voient l'ENIAC (Electronic Numerical Integrator and Calculator), le premier gros ordinateur, dit de premières générations, totalement opérationnel le 15 février 1946. Il était programmable et reprogrammable extérieurement par des switchs et des fiches « bananes » et servira à la mise au point de la première bombe atomique. 30 mètres de long ! 30 tonnes ! 170 m² au sol ! Consommation : 200 Kilowatts ! 70 000 résistances ! 10 000 condensateurs ! 1 500 relais ! 6 000 commutateurs manuels ! Une fiabilité légendaire (à l'époque) - il était constitué de 18.000 lampes (tubes) qui ne tombaient en panne que toutes les 7 à 8 minutes ! Photo : un petit bout de l'ENIAC.




Histoire des virus - Von Neumann et l'ENIAC

La machine de Von Neumann

Von Neumann conceptualise un modèle de machine qui caractérise encore nos ordinateurs aujourd'hui. Le PC sur lequel vous êtes actuellement en train de me lire est une machine de type Von Neumann ! On sort des ordinateurs dont la mémoire est faite d'énormes relais pour passer à des tubes (des lampes) électroniques. Mise en chantier de l'ordinateur EDVAC (Electronic Discrete Variable Automatic Computer), dit de seconde génération, qui sera terminé en 1952 (il fonctionne sur un mode binaire, contrairement à son prédécesseur, l'ENIAC, qui fonctionnait sur un mode décimal).

On appelle « Machine Von Neumann » une machine universelle (non spécialisée) possédant les organes suivants :

  1. Une mémoire pour contenir un programme (une séquence d'instructions) et des données - programmes et données partagent le même espace.

  2. Une unité arithmétique et logique (UAL ou ALU)

  3. Une unité permettant l'échange d'informations avec les périphériques : l'unité d'entrée/sortie (IOCS ou Input Output Control System)

  4. Une unité de commande (UC)

Ces dispositifs permettent la mise en oeuvre des fonctions de base que l'on connaît dans un ordinateur :

  • Le stockage de données

  • Le traitement des données

  • Le déplacement des données

  • Le contrôle.

Les données et les instructions peuvent être stockées dans le même espace, ainsi donc la machine peut, elle-même, modifier son programme et ses données.

Apparition des instructions « go to » (aller à telle adresse du programme) conditionnelles qui permettent un « débranchement » d'une séquence d'instructions d'un programme vers un autre point du programme selon une condition (si < telle condition > [faire ceci], sinon [faire cela]).




Journal des opérateurs du Mark II, à l'Université de Harvard, page du 9 septembre 1947 - Le premier « bug » informatique.
Journal des opérateurs du Mark II, à l'Université de Harvard, page du 9 septembre 1947 - Le premier « bug » informatique.

Pour mémoire, un papillon de nuit (un insecte : un « bug » en anglais) se brûle dans la chaleur d'un ordinateur et le « plante » (le fait tomber en panne). La chaleur des lampes (les « tubes » électroniques - les composants électroniques n'existent pas encore et le circuit intégré ne sera inventé qu'en 1958) et la graisse des relais attirent les insectes (« bugs ») et il faut passer son temps à déverminer à la pince à épiler (« débugger »).

Cette histoire est celle d'un gag, devenu un mythe, devenu réalité, attribué à Grace Murray Hopper (attribution qui est, d'ailleurs, probable, Grace Hopper étant une habituée des petites blagues). Le 9 septembre 1947, un insecte (« bug ») aurait été trouvé entre les « pattes » (appelées aussi broches ou pins) du relais 70 du panneau F d'un IBM Mark II à l'Université de Harvard. Les opérateurs (Grace Hopper ?) notent le problème dans leur journal et y scotchent le bug, à 15h45, avec ce commentaire :

« First actual case of bug being found. »

Ce n'est qu'en 1991 que ce document, longtemps ignoré, entre au « History of American Technology Museum » (l'un des musées du Smithsonian Institution, National Mall, 14th Street and Constitution Avenue, N.W., Washington, D.C.).


Gros plan sur le « bug » scotché.

Le terme « bug » aura un bel avenir dans notre jargon informatique - il y a toujours un bug quelque part et débugger est devenu synonyme, dans toutes les langues du monde, de « chercher l'erreur ».

Le film Brazil commence par un Bug tombant dans une imprimante, transformant l'ordonnance d'arrestation d'un nommé Tuttle en Buttle - Tout part de là !

Le film Brazil commence par un « bug » écrasé au plafond par un fonctionnaire.
Le film Brazil commence par un « Bug » tombant dans une imprimante, transformant l'ordonnance d'arrestation d'un nommé Tuttle en Buttle - Tout part de là !

Le bug du film Brazil tombe dans une imprimante, transformant l'ordonnance d'arrestation d'un nommé Tuttle en Buttle - Tout ce film porte sur l'oppression administrative (« bureaucratie oppressante » - « pouvoir des fonctionnaires ») et part de là !


Il y a, toutefois, au moins un précédent connu : le 3 mars 1878, Thomas Edison écrit à William Orton, président de la Western Union (actuellement [2020] société mondiale de transferts d'argent). Cette lettre a été vendue aux enchères (par Swann, le plus grand commissaire-priseur spécialisé en œuvres sur papier au monde), le 22 mars 2018, pour la somme de 10.000 US$ (12.500 avec les frais).

Terme bug employé dans le même sens par Thomas Edisson le 3 mars 1878
Terme bug employé dans le même sens par Thomas Edisson le 3 mars 1878




Histoire des virus - Principe des programmes autorépliquant

Principe d'autoréplication des programmes

Von Neumann, toujours lui, publie un article parlant du principe d'autoréplication des programmes. Ses concepts sur les programmes autoreproducteurs sont considérés comme le premier virus au monde et Von Neumann est considéré comme le père fondateur des théories en virologie informatique. Un travail qui sera publié de manière posthume traite de l'autoréplication des machines (« Self-reproducing machine » - « Theory of Self Reproducing Automata »).

Photo : Film I,Robot. Ce film propose de réfléchir sur l'anthropomorphisme comportemental et morphologique des robots, l'intelligence artificielle, la pensée, l'amitié, les sentiments, les émotions, la colère, la violation des trois lois de la robotique d'Isaac Asimov, etc. ... Ce film met également en pratique l'autoréplication : des robots fabriquant des robots.




Histoire des virus - Tombe de Von Neumann

Mort de Von Neumann

Von Neumann tombe gravement malade en 1955 d'un cancer des os (ou du pancréas) contracté à cause de ses travaux sur la bombe atomique auprès de physiciens, dont J. R. Oppenheimer (directeur scientifique du projet Manhattan qui produisit la première bombe atomique durant la Seconde Guerre mondiale), en plus de ses travaux sur les calculateurs. Le biographe de Von Neumann cite sa participation, en 1946, aux tests nucléaires de Bikini. Il meurt à Washington à l'âge de cinquante-trois ans.

Photo : Tombe de Von Neumann




Histoire des virus - Jack Kilby - Inventeur du circuit intégré, chez Texas Instruments

Invention du circuit intégré

Invention du circuit intégré par Jack Kilby chez Texas Instruments et du procédé de fabrication "Planar" par Robert Noyce (futur fondateur d'Intel) chez Fairchild Semiconductor.

Photo : Jack Kilby et son premier circuit intégré, de la taille d'un ongle.




Histoire des virus - Mécanismes autoréplicateurs - Virus autorépliquants

Les mécanismes auto-réplicateurs

En juin 1959, le magazine « Scientific American » publie un article sur les mécanismes auto-réplicateurs par L. S. Penrose.




Histoire des virus - Core Wars

Darwin, puis Core Wars - Jeux fondateurs de techniques qui seront utilisées par les virus

Trois jeunes programmeurs des célèbres Bell Laboratories (une division d'ATT) vont travailler sur les théories de Von Neumann :


  1. Robert Thomas Morris (1932 - 2011). De 1960 à 1986, il sera chercheur aux Bell Laboratories et travaillera sur Multics (qui inspirera Ken Thompson pour créer Unix) puis sur Unix. Ses contributions à Unix sont encore utilisées aujourd'hui.

  2. Douglas McIlory (1932 - ...). Il rejoint les Bell Laboratories en 1958 et, de 1965 à 1986, sera à la tête du Computing Techniques Research Department (la où va naître Unix). Il est l'auteur des pipelines des shell Unix, des composantes logicielles et de nombreux outils Unix comme spell, diff, sort, join, graph, speak et tr.

  3. Victor A. Vyssotsky (1931 - 2012). Directeur technique du projet Multics aux Bell Laboratories puis Directeur exécutif de la recherche à la division des systèmes d'information des mêmes Bell Laboratories.

Ils développent un jeu qu'ils vont nommer Darwin. Le jeu tourne sur un IBM 7090.

Deux ou plusieurs programmes sont chargés en mémoire, dans une zone nommée « Arène » (généralement de 10.000 mots), sous le contrôle d'un superviseur nommé Umpire qui contrôle le jeu d'instruction (limité) utilisé et les résultats des fonctions appelées. Les programmes sont écrits en assembleur IBM 7090 et directement exécutés en code natif (sans interpréteur), d'où une vitesse fulgurante (une partie dure environ 1 minute). Le but du jeu est de se répliquer le plus possible en un temps donné. Le plus petit programme commence le premier. Chaque programme a un point de départ et un nombre d'emplacements protégés. Les fonctions sont limitées à :

  1. « Sonder une adresse mémoire ».

  2. « Revendiquer une adresse mémoire » qui doit avoir été sondée préalablement - c'est tout l'espace mémoire libre autour de cette adresse qui est revendiqué.

  3. « Tuer l'instruction à l'adresse mémoire » qui doit avoir été sondée préalablement.

Chaque fonction est appelée avec une adresse sur laquelle elle tente de s'appliquer et l'identité de l'appelant. Si Umpire détecte que l'adresse demandée est une adresse protégée de l'un des programmes « ennemis », le contrôle est transféré au programme attaqué et à l'instruction se trouvant à l'adresse attaquée, etc.

Le plus petit programme capable d'exécuter les 3 fonctions tient en à peine 30 instructions en assembleur !

Vyssotsky écrivit une fonction de déplacement et relocation qui tenait en 5 instructions !

McIlrory écrivit un programme qui n'exécutait que 2 des trois fonctions et tenait en 15 instructions ! Il fallu modifier le nombre d'emplacements protégés, normalement fixé à 20, sinon son programme devenait immortel.

Morris écrivit un programme de 44 instructions avec une fonction de recherche des espaces vides autoadaptative (et gagnait tout le temps !).

Ce jeu met en oeuvre, longtemps avant la lettre, des techniques qui seront, plus de 30 ans plus tard, utilisées par les virus informatiques.

Spécifications de Darwin (publiées le 29 juin 1971)
Brève présentation de Darwin sur corewar.co.uk

Ce jeu sera modifié en 1984 et renommé « Core Wars » - il est encore joué aujourd'hui (2020) et représente des défis en programmation. Voir, par exemple, le site koth.org.

Notons qu'en 1961, les mémoires des ordinateurs sont des tores de ferrite (des petits anneaux magnétiques appelés « Core »), ce qui peut être une des raisons pour lesquelles le successeur de Darwin, en 1984, se nommera « Core Wars »).

Module mémoire de 32 x 32 tores de ferrite permettant de stocker 1024 bits soit 128 octets.
Module mémoire de 32 x 32 tores de ferrite, soit 1024 tores, filés à la main, permettant de stocker 1024 bits soit 128 octets.

Voir : Codex Internautus Anonymus - grotte de « La fileuse d'octets »




Histoire des virus : Boucles ennuyeuses

Boucles ennuyeuses

Apparition des boucles ennuyeuses qui s'auto répliques (mais sont incapables de sauter d'une machine à une autre). Ce ne sont pas encore des virus. On les appelle des « lièvres » et elles courent après le « time slicing » (découpage de temps) et le « time sharing » (partage de temps) des premiers gros ordinateurs, bouffant tout le temps calcul et la mémoire, ne laissant pas la possibilité aux autres tâches de s'exécuter.




Histoire des virus - Carte logique de la totalité du réseau ARPANET en août 1971

The creeper et The Reaper

Architecture logique de la totalité du réseau ARPANET - août 1971

Écriture de deux utilitaires de test et de démonstration de la capacité à exploiter les cycles dit « Idle » des ordinateurs du réseau ARPANET (le réseau d'avant, aux mains des militaires et des universitaires, essentiellement à base de DEC PDP-10 tournant sous le système d'exploitation TENEX).

Le test est écrit par un employé de BBN Technologies, une société membre d'ARPANET, en 1971 : Robert Thomas Morris (1932 - 2011), qui a déjà participé à la création de Darwin 10 ans plus tôt.

Lorsqu'un ordinateur exécute une instruction Idle (une instruction qui le met dans un état d'attente), en fait, il ne fait rien - il se tourne les pouces en attendant d'avoir quelque chose à faire.

Le premier utilitaire s'appelle « The creeper ». « The creeper » saute d'une machine à une autre. Il se copie sur un autre ordinateur et se détruit sur celui d'origine, etc.

Les tests ont lieu sur de très gros (à l'époque) ordinateurs, les 360 d'IBM, et consistent à écrire « I'm a creeper... catch me if you can! » (oui, à l'époque il n'y a pas d'écran, mais des bacs de cartes perforées, des bandes perforées et des dérouleurs de bandes magnétiques gros comme des réfrigérateurs de 400 litres - on sort à peine des séries 1401 d'IBM où la programmation se fait avec des fiches banane enfoncées sur les flancs de l'ordinateur comme sur les vieux centraux téléphoniques).

The Creeper

« I'm a creeper... catch me if you can! »

Le second utilitaire s'appelle « The reaper » et est conçu comme un « anti creeper ». « The reaper » doit courir après « The creeper » et le détruire avant qu'il ne saute sur une autre machine. Puis ces deux utilitaires de test sont légèrement modifiés et « The creeper » ne détruit plus son original (donc il ne saute plus, il se réplique) quant à « The reaper » il doit utiliser au mieux et plus vite que « The creeper » les états Idle (les états d'attente) à travers tout le réseau pour détruire toutes les copies de « The creeper ».

Ils seront considérés, à tort, plus tard, par certains auteurs, comme le premier vers et le premier antivirus.




Histoire des virus - "When Harlie was one" ("When H.A.R.L.I.E. was one - Release 2.0")

When H.A.R.L.I.E. was one

Première utilisation du terme de virus dans le livre de David Gerrold, "When Harlie was one" ("When H.A.R.L.I.E. was one - Release 2.0").




Histoire des virus - Ordinateur UNIVAC 1108 - Jeu ANIMAL et Cheval de Troie PERVADE

PERVADE - Le premier cheval de Troie

Le jeu ANIMAL a été créé sur un ordinateur central (mainframe) UNIVAC 1100-1142 fonctionnant sous le système d'exploitation de cette série : Exec-8. En Janvier 1975, John Walker (plus tard fondateur d'Autodesk, Inc., et co-auteur d'AutoCAD) a créé une sous-routine générale appelée PERVADE16, qui pouvait être appelée par n'importe quel programme. Lorsque PERVADE est appelée par ANIMAL, il cherche autour de lui tous les répertoires accessibles et fait une copie du programme appelant, ANIMAL dans ce cas, dans chaque répertoire auquel l'utilisateur a accès. Il est ainsi possible de savoir, répertoire par répertoire, quelles sont les ressources informatiques accédant à ce répertoire. A l'époque, les programmes sont échangés, entre utilisateurs, relativement lentement, sur des bandes, mais, en un mois, il est apparu un certain nombre de joueurs d'ANIMAL dans un certain nombre d'endroits.

Le comportement de PERVADE est considéré comme celui du premier cheval de Troie, bien que ce terme n'existe pas encore à l'époque (ou du premier Tracking, ou du premier Spyware, ou du premier outil de DRM...).




Histoire des virus - The Shockwave Rider de John Brunner

The Shockwave Rider

Publication de "The Shockwave Rider" de John Brunner, un livre de science fiction où tout n'est que données numériques dans un immense réseau global. L'auteur y parle d'un programme qui réplique des segments de lui-même à travers tout le réseau. On y trouve des "tapeworms", programmes mettant une pagaille complète et illégale sur le réseau et capables de changer de personnalité. C'est probablement de "tapeworm" que pourrait bien être tiré le mot actuel de "worm" pour ce type de virus. Ce livre est un précurseur de la culture cyberpunk. Dans sa foulée, la réalité dépassera la fiction insufflée par ce livre et les premiers vers apparaîtront. The Shockwave Rider




Carte logique de la totalité du réseau Arpanet en Janvier 1980

Architecture logique de la totalité du réseau Arpanet - Janvier 1980

Le 27 octobre, le réseau Arpanet est victime d'un crash total. Certains auteurs, cherchant à tout prix le premier des premiers virus, veulent voir dans ce crash le fruit d'un virus alors qu'il ne s'agit que d'une erreur matérielle interne sur un "status-message", message d'état qui devait se propager normalement sur le réseau et qui s'est donc propagé avec son erreur, conduisant au plantage total du réseau. Le résultat fut le même qu'avec un virus malicieux mais ce n'était pas un virus.




Rich Skrenta et le premier virus

En 1982, Rich Skrenta est alors étudiant à la Northwestern University (Chicago). Il écrit " Elk Cloner ", un petit programme autorépliquant pour l'Apple II (Apple 6502 – le micro ordinateur le plus répandu à l'époque). Il semble que ce soit là le premier vrai virus connu, c'est-à-dire le premier programme sortant d'une machine et se répliquant dans le monde extérieur (à l'extérieur d'un lieu unique ou d'un laboratoire). Il connut la vitesse de propagation fulgurante d'un homme au pas traversant la cour du campus en transportant une disquette infectée dans son cartable (il y a probablement eu des pointes de vitesse à vélo, moto ou voiture !). La méthode de propagation était la copie de disquette (le piratage des premiers programmes !). Ce virus s'étant mis à infester la machine de l'un de ses professeurs, Rich Skrenta écrivit, dans l'urgence, un " anti Elk Cloner " et il semble que ce soit, là aussi, le premier véritable antivirus. Lire le CV de Rich Skrenta sur http://www.skrenta.com/.

Ce premier virus n'est pas malicieux mais ennuyeux : il écrit :

Elk Cloner - Le premier virus
Elk Cloner - Le premier virus


Elk Cloner: The program with a personality
It will get on all your disks
It will infiltrate your chips
Yes it's Cloner!

It will stick to you like glue
It will modify ram too
Send in the Cloner!

Notes :

  • Elk Cloner est écrit en assembleur pour le processeur MOS Technology 6502 qui équipe les Apple II

  • Il affiche ce message ennuyeux et il suffit d'éteindre et de rallumer l'Apple II pour qu'il disparaisse.

  • Il fallait 50 démarrages sur la disquette infectée pour qu'il s'active (donc très peu ennuyeux)

  • Remarquez les rimes dans le texte du message

  • On se souvient de Rich Skrenta principalement pour être l'auteur d'Elk Cloner, mais il est également le créateur du projet Gnuhoo (qui deviendra Newhoo puis l'ODP - Open Directory Project. En 2007 il crée le moteur de recherche Blekko, un moteur participatif excluant certains sites comme les fermes de contenu. Ce moteur n'existe plus (racheté par IBM le 27 mars 2015).




Frédéric Cohen démontre un virus

Frédéric Cohen démontre un virus

Le 3 novembre, au cours de la préparation d'un séminaire sur la sécurité informatique, Frédéric Cohen, déjà Ingénieur en Electronique (Carnegie-Mellon University - 1977) et titulaire d'un Master (Info Sci. - University of Pittsburgh, 1980) crée en 8 heures de temps sur un Vax 11/750 sous Unix, un virus. Dans la semaine qui suit, il mène 5 expériences et, durant le séminaire du 10 novembre, fait une démonstration publique. Il ne publiera jamais rien s'apparentant à une aide à la conception de virus (contrairement à ce que certains auteurs affirment) mais uniquement sur la lutte contre les virus (même s'il est possible de faire une lecture inverse de ses recommandations pour la conception d'antivirus afin de créer des virus). Ses travaux prédisent le polymorphisme.




Neuromance, de William Gibson

Le "Neuromancer" de William Gibson

Publication de "Neuromancer" de William Gibson considéré comme le premier et, encore aujourd'hui, le plus important ouvrage cyberpunk.

Neuromancien - William Gibson - Traduction en français




« Core Wars » est un jeu informatique formulé en 1984. Il est inspiré du jeu Darwin (de 1961), et, peut-être, de The Creeper et The Reaper (de 1971) - The reaper court après The Creeper.

Deux (ou plusieurs) programmes, respectant les règles d'un jeu, sont chargés dans la mémoire vive d'une machine virtuelle et vont s'attaquer mutuellement jusqu'à ce que l'un d'entre eux plante ou ne puisse plus évoluer (ou, autre règle, si l'attaquant arrive à se reproduire dans les cellules de l'attaqué). Les programmes sont chargés dans des cellules quelconques d'un espace mémoire simulant un anneau (Core) et l'attaquant, qui ignore où sont situés les segments de son ou ses adversaire(s), doit les localiser puis les détruire. A tour de rôle, un programme attaque (il peut tomber sur des cellules vides...) puis c'est à un adversaire d'attaquer, etc. Les opposants peuvent être nombreux (deux minimum). Lorsque c'est son tour, un programme peut attaquer ou s'auto-réparer ou se camoufler grâce à des techniques comme la réplication de son code ou des fonctions de déplacements en mémoire ou des fonctions de furtivité, etc.

Ce jeu met donc en oeuvre et optimise des fonctions qui seront toutes utilisées, plus tard, par les virus et les vers informatiques. On notera qu'à l'époque, les virus n'existaient quasiment pas et donc les dispositifs qui semblent aujourd'hui évidents, notament les dispositifs qui empêchent des applications non autorisées d'accéder à des zones mémoire réservées à d'autres applications, n'existent pas non plus. Core Wars permet donc à un programme d'empiéter sur les zones mémoire d'un autre.

On notera que Core Wars est écrit dans un langage de bas niveau (proche de l'assembleur - entendre, par « langage de bas niveau », le langage de programmation le plus technique, le plus difficile, permettant le plus de choses, totalement proche du matériel, sous-entendu « langage d'ultra-haut niveau ») dénommé « Code Red », nom que prendra un des virus les plus virulents découvert le 4 août 2001. Le langage « Code Red » est, pour Core Wars, l'une des règles du jeu : il s'agit d'un langage dont le jeu d'instructions est volontairement limité, ce qui est surveillé par la machine virtuelle qui oblige à respecter les règles du jeu.

Le travail sur Core Wars est publié en mai 1984, sous la forme d'un article, « Computer recreations - In the game call Core War, hostile programs engage in a batle of bits », dans le magazine « Scientific American ». Il est signé par A. K. Dewdney (cet article fut traduit en français et publié dans « Pour la science » - le texte original en anglais est entièrement scanné sur le site consacré à Core War, koth.org, et reproduit ci-après. Cet article suscite « énormément » (soyons relatifs - la micro informatique vient à peine d'être inventée et tente tout juste d'entrer dans les foyers - le micro-ordinateur, celui qui deviendra le PC ou le MAC que l'on connaît sort à peine des planches à dessin) de réactions de la part des lecteurs à propos de programmes hostiles.

L'auteur de cet article, et webmaster d'Assiste.com, vient de dépenser, peu avant cette époque, une véritable fortune, pour acheter les pièces et assembler un monstre doté d'un lecteur de disquettes et d'un énorme disque dur de 5 MO (Oui, cinq mégabytes [mégaoctets] !), puis d'un deuxième disque dur de 5 MO aussi, avec un écran monochrome à écriture ambre sur fond noir capable d'afficher 24 lignes de 80 caractères, 1 mégaoctet de RAM (oui, un mégaoctet, pas un giga octets), un processeur 80286 à 8Mhz avec son coprocesseur arithmétique 80287 !

Core Wars continu d'avoir des adeptes et est toujours, actuellement, l'objet de défis informatiques. Voir le site koth.org. La célèbre école Epitech (dans les archives du Web) en fait une compétition annuelle inscrite dans le cursus de ses étudiants.

Scientific American - Core War - Computer recreations
Scientific American
Core War
Computer recreations
Scientific American - Core War - Computer recreations
Scientific American
Core War
Computer recreations
Scientific American - Core War - Computer recreations
Scientific American
Core War
Computer recreations
Scientific American - Core War - Computer recreations
Scientific American
Core War
Computer recreations
Scientific American - Core War - Computer recreations
Scientific American
Core War
Computer recreations









Frédéric Cohen « Computer Viruses - Theory and Experiments »

Frédéric Cohen « Computer Viruses - Theory and Experiments »

Frédéric Cohen conduit des expériences et publie « Computer Viruses - Theory and Experiments ». Ce texte est considéré comme la base fondamentale des antivirus. Il est entièrement publié en ligne.







We define a computer ‘virus' as a program that can ‘infect’ other programs by modifying them to include a possibly evolved copy of itself. With the infection property, a virus can spread throughout a computer system or network using the authorizations of every user using it to infect their programs. Every program that gets infected may also act as a virus and thus the infection grows. (Cohen, 1984)

Nous définissons un « virus » informatique comme un programme qui peut « infecter » d'autres programmes en les modifiant pour inclure une copie éventuellement évoluée de lui-même. Avec la propriété d'infection, un virus peut se propager à travers un système informatique ou un réseau en utilisant les autorisations de chaque utilisateur qui l'utilise pour infecter leurs programmes. Chaque programme infecté peut également agir comme un virus et donc l'infection se développe. (Cohen, 1984)

Lire son livre en ligne (et en anglais) :




Computer Recreations - A Core War bestiary of viruses, worms and other threats

Computer Recreations - A Core War bestiary of viruses, worms and other threats

Dès mars 1985, encore A. K. Dewdney publie, toujours dans le magazine "Scientific American", un nouvel article. Cette fois ci, il s'intitule "Computer Recreations - A Core War bestiary of viruses, worms and other threats to computer memories". Les termes de "virus" et "vers" sont déjà courants. Le texte original en anglais est entièrement scanné - page 1 page 2 page 3 page 4 page 5 page 6




Frédéric Cohen crédite Len Adleman du choix du terme Virus

Dans sa thèse de doctorat, Frédéric Cohen crédite Len Adleman du choix du terme Virus

Frédéric Cohen soutient sa thèse de doctorat (Ph.D. Elec. Eng. - University of Southern California, 1986). Il crédite Len Adleman, son maître de conférence, du choix du terme de « virus » pour désigner les concepts et objets sur lesquels il travaillait depuis des années.







Secteur de boot d'une disquette infectée par le virus Brain

Brain - Un virus ou un DRM ou un adware ?

Deux frères pakistanais, Basit et Albi Amjad, propriétaires d'une petite boutique d'informatique à Lahore, lancent une attaque contre les États-Unis et Israël. Leur arme : un virus (« Brain ») de leur conception introduit dans des copies pirates qu'ils font (sur disquettes 5" 1/4) de logiciels, copies pirates qu'ils vendent aux touristes 1,5 US$ au lieu de plusieurs centaines d'US$, à partir de janvier 1986 [1]. Certains pensent que ce virus était une simple action commerciale, car il contenait un message de promotion pour un antivirus, le leur ! Les auteurs du virus ont déclaré au Time Magazine [2], le lundi 26 septembre 1988, que cette action visait à protéger leurs propres logiciels médicaux contre la piraterie (le virus surveillait effectivement les éventuelles copies pirates d'un logiciel de monitoring cardiaque développé par eux). Ce pourrait tout aussi bien être une guerre économique contre les intérêts des sociétés américaines éditrices de logiciels piratés. Quoi qu'il en soit, le virus « Brain » touche plusieurs centaines d'ordinateurs en s'attaquant aux secteurs de boot (MBR) des disquettes uniquement (pas des disques durs) et est donc l'un des premiers virus largement diffusés. « Brain » est un virus de boot et n'est pas destructif.

Un an après le début de la propagation de ce virus, on commença à trouver une signature augmentée de leurs numéros de téléphone : dans les secteurs de boot infectés, on pouvait lire ce texte (il existe de nombreuses petites variantes) :

Affichage par le virus Brain

Welcome to the Dungeon
(c) 1986 Basit & Amjad (pvt) Ltd.
BRAIN COMPUTER SERVICES
730 NIZAB BLOCK ALLAMA IQBAL TOWN
LAHORE-PAKISTAN
PHONE :430791,443248,280530.
Beware of this VIRUS....
Contact us for vaccination




Frédéric Cohen démontre qu'il n'y a pas d'algorithme capable de détecter toutes les formes de virus.

Il n'y a pas d'algorithme capable de détecter toutes les formes de virus

Frédéric Cohen démontre qu'il n'y a pas d'algorithme capable de détecter toutes les formes de virus.








Le virus Peace, sur Mac, affiche un message de paix universelle sur les écrans des Mac II.

Virus « Paix universelle » sur les écrans des Mac II

Le virus Peace, sur Mac, affiche un message de paix universelle sur les écrans des Mac II.




Histoire des virus - Robert Tappan Morris

Le premier virus Internet - Le premier ver (Worm)

Le premier virus Internet (le premier Worm). Le 2 novembre 1988 Robert Tappan Morris (1965 - ... Ne pas confondre avec Robert Thomas Morris), fils du plus grand expert américain en sécurité informatique - Robert Morris, de la CIA - lâche un virus à « charge active » nulle sur le réseau Arpanet. Il est alors étudiant en informatique à l'Université Cornell et, remarquant l'absence de sécurité des ordinateurs du réseau Arpanet auquel il a accès depuis son Université, il décide d'en faire une démonstration publique. Le ver ne devait pas causer de dégats, mais simplement se propager sur les très gros ordinateurs du réseau - des VAX. Il prit certaines précautions pour que son ver ne se reproduise pas trop souvent sur une machine déjà infectée afin d'éviter la saturation rapide des disques et ajouta même l'auto-destruction du vers à chaque arrêt/redémarrage d'un ordinateur (évènement qu'il estimait devoir se produire environ 2 fois par mois). Il utilisa, pour la propagation de son ver :

  • une faille de sécurité du serveur de messagerie implanté sur ces machines

  • un bug de "Finger" (un utilitaire du réseau Arpanet donnant des informations sur les sous-réseaux connectés)

  • une faille de sécurité de la zone « Trusted » permettant de désigner d'autres ordinateurs du réseau comme « de confiance » ce qui permettait de s'y connecter sans mot de passe

  • une routine de génération de mots de passe pour attaquer en "force brute" des machines protégées par mots de passe

Le 2 novembre 1988, il pénètre la machine du MIT et y lâche son ver. Toutefois, ses précautions se révélèrent insufisantes et son ver se reproduisit en quelques heures à l'infini sur les machines déjà infectées, à tel point qu'elles finissaient par s'écrouler.

Il réagit en tentant d'envoyer des messages (anonymes) à tous les administrateurs Arpanet dont il avait les coordonnées pour les prévenir de l'attaque et leur donner les moyens de s'y opposer en détruisant son ver mais ses messages n'arrivaient plus à destination, les serveurs étant saturés.

Le virus fut nommé « Morris Worm ». À cette époque, le réseau comprenait environ 60 000 ordinateurs. Avec seulement 3 à 4% de machines contaminées, le réseau devint complètement indisponible pendant plusieurs jours jusqu'à ce que des mesures conservatoires soient prises (dont la déconnexion de nombreuses machines du réseau). 6.000 ordinateurs VAX des principaux centres de recherches dans le monde entier furent « plantés » par saturation en quelques heures. 15 millions de dollars de dégâts !

Robert Tappan Morris fut condamné, le 7 mars 1991, pour violation de plusieurs lois, à 4 ans de prison, et fut le premier à être condamné au titre de la loi « Computer Fraud and Abuse Act » de 1984. Il ne sera condamné, en appel, qu'à 10 000 dollars d'amende et 400 heures de travail d'intérêt général et obtint, plus tard, un doctorat d'informatique en soutenant une thèse sur, tenez-vous bien : « Comment contrôler la saturation des réseaux informatiques ».




Histoire des virus - CERT - CERTA - Computer Emergency Response Team

Les CERT ou CSIRT français

Un CERT (Computer Emergency Response Team) ou CSIRT (Computer Security Incident Response Team), CERT ayant été, un temps, une marque déposée aux États-Unis, est un centre d'alerte, de coordination et de réaction aux problèmes d'attaques informatiques et insécurités liés à Internet, destiné aux entreprises ou aux administrations, dont les informations sont commerciales et privées (dédiées à une communauté) sauf cas particulier (le CERT du gouvernement français est le seul CERT public en France).

Les alertes et avis de chaque CERT ne sont pas universels, mais spécialisés, et portent sur la surveillance des systèmes, applications et outils communs aux membres de chacune de leurs communautés.

Aux États-Unis, un premier CERT est créé par la DARPA (Defense Advanced Research Projects Agency - « Agence pour les projets de recherche avancée de défense ») en novembre 1988 à la suite du ver de Robert Tappan Morris. Depuis, des CERT se sont créés un peu partout.

La France prend conscience de la menace que font peser les virus et se réveille. Plusieurs CERT sont créés.

Liste des CERT et organismes ayant des activités d'IRT (Incident Response Team) sur le territoire français.

Quelques-uns de ces CERT.

  • le CERT-FR est le CERT du gouvernement français dédié au secteur de l'administration française. Il est public.

  • le CERT-DEVOTEAM est un CERT commercial français

  • le CERT-IST est un CERT dédié au secteur de l'Industrie, des Services et du Tertiaire (IST). Il a été créé à la fin de l'année 1998 par quatre partenaires : Alcatel, le CNES, ELF (Total) et France Télécom (Orange)

  • le CERT LA POSTE est le CERT du groupe La Poste, pour ses services internes et ses clients

  • le CERT-LEXSI (Laboratoire d'EXpertise en Sécurité Informatique) est un CERT commercial français

  • le CERT-RENATER est le CERT dédié à la communauté des membres du GIP RENATER (Réseau National de télécommunications pour la Technologie, l'Enseignement et la Recherche)

  • le CERT-Société Générale est le CERT dédié au groupe Société Générale

  • le CERT-XMCO est un CERT commercial français

  • le CERT-BNP Paribas est le CERT dédié au groupe BNP Paribas

  • Orange-CERT-CC est le CERT interne de l'opérateur de télécommunication Orange




Peter Tippett est reconnu comme étant le premier développeur d'un logiciel antivirus, « Vaccine » (formellement « Corparate Vaccine » ou « Certus », du nom de sa compagnie de logiciels « Certus International Corp. »). La licence « Corparate Vaccine » est de $189, mais sans protection anticopie. Cet antivirus, déjà en version 2.1, est évoqué pour la première fois dans PC Magazine du 25 avril 1989 (n° 8).

« Corparate Vaccine » est déjà à l'origine d'un système de retour arrière (restauration d'une application contaminée, d'un composant système compromis, du MBR [Master Boot Record ou Zone d'amorce, Zone d'amorçage], etc.)

Peter Tippett est né en 1953 à Dearborn (USA, Michigan), et était urgentologue. Avec sa compagnie de logiciel, Certus International Corp., il s'intéresse à la façon dont le virus se propage par similitude avec les virus des humains, en particulier le virus Lehigh.

« Certus International Corp. », avec « Corparate Vaccine », sera acheté par Symantec le 9 octobre 1992 (montant de la transaction non révélé). « Corparate Vaccine » est rebaptisé, à cette occasion, Norton AntiVirus (Symantec avait racheté Norton Computing et son célèbre Peter Norton en août 1990).

Embauché par Symantec avec son logiciel, Peter Tippett deviendra, en 2000, un expert du virus I LOVE YOU.

Les antivirus deviennent un marché économique intéressant. Le problème des virus devient suffisamment crucial pour intéresser les grandes compagnies. Central Point lance CPAV (Central Point AntiVirus) en avril 1991. Xtree lance son antivirus. Symantec en 1992.

En décembre 1990, il n'y avait qu'environ 200 à 300 virus dans le monde. Un an plus tard, en décembre 1991, il y en avait déjà 1000. Cela pose divers problèmes dont :

  • La taille mémoire des machines, sous DOS, est limitée à 640 KO donc il devient impossible de stocker en mémoire les signatures des virus.

  • Si un éditeur d'antivirus met une journée à désassembler un virus pour trouver ses signatures et comment réparer un fichier compromis, il naît plus de virus, et plus vite, qu'il ne peut en traiter. Il faut embaucher et les antivirus coûtent de plus en plus cher.

  • Plus le nombre de signatures est important, plus l'antivirus ralentit le fonctionnement de la machine.




Histoire des virus - Les complexes glycoprotéiques spécifiquement plaquettaires avec leurs polymorphismes (Rozman. P., 2002)

Polymorphisme et virus polymorphiques

Le polymorphisme est un dispositif qui permet au code (d'un virus en l'occurrence) de muter tandis que le comportement de son algorithme reste intact. Ces mutations rendent la détection de ces virus extrêmement complexe dans la mesure ou le code change tout le temps et qu'il n'est donc plus possible de rechercher des chaînes de caractères certaines (bases de signatures) qui signeraient la présence du virus.

Le polymorphisme a été prédit par Fred Cohen.

Le premier virus polymorphique connu, sous le nom de « 1260 », a été écrit par Mark Washburn en 1990.

Le virus « Dark Avenger » introduit deux nouvelles idées :

  • La vitesse de propagation : si le virus est actif en mémoire, le seul fait d'ouvrir un fichier infecte ce fichier. La totalité des fichiers d'un disque dur est rapidement infectée.

  • Les dommages causés : ce virus modifie arbitrairement un secteur sur le disque dur. Si ce secteur se trouve être utilisé par un fichier, le fichier est corrompu. Si cette corruption n'est pas détectée après un certain temps, ce virus écrase la sauvegarde de ce fichier, si elle existe, par la version corrompue. Une restauration ultérieure délivrera donc une sauvegarde corrompue ! Dark Avenger cible donc les sauvegardes, pas uniquement des données. Dark Avenger est déployé sur des BBS - Bulletin Board System (services populaires, dans les années 1990, de messages, de stockages et d'échanges de fichiers, dont des jeux, via un maillage mondial de modems reliés à des lignes téléphoniques, qui sera supplanté par Internet) en utilisant de l'ingénierie sociale et parvient à contaminer les antivirus. Le code source du virus est diffusé de manière à permettre l'apprentissage de l'écriture de virus.

Le polymorphisme ne doit pas être confondu avec la capacité de certains générateurs de virus de générer le même code des millions de fois en introduisant des millions de variantes. Si le but est le même (empêcher l'exhaustivité des bases de signatures), la manière d'y parvenir est totalement différente : dans un cas, c'est le virus lui-même qui mute (ce qui est complexe à écrire et brillant, en termes de développement informatique pur), dans l'autre cas, c'est le générateur de virus qui crée des clones comportant des singularités (clones singuliers des virus - génération multiforme d'un virus, ce qui est beaucoup plus trivial).




Histoire des virus - Virus Michelangelo

Virus Michelangelo

Ce virus se déclenche le 06 mars 1992, date anniversaire de la naissance de Michel-Ange, le 06 mars 1475 (sans qu'il soit possible de dire s'il y a une intention de la part de l'auteur du virus). Entre temps, il se déploie sans rien faire. Il a été découvert le 04.02.1991, en Australie, en tant que variante du virus « Stoned ».

Le 06 mars 1992, explosion du virus Michelangelo. L'une des sommités du monde de l'antivirus, John McAfee, pressé par les journalistes de donner un chiffre, donne une fourchette de 5000 à 5 millions d'ordinateurs compromis. Évidemment, la presse retient que jusqu'à cinq millions de PCs dans le monde pourraient voir leurs données totalement détruites/effacées par le virus Michelangelo.

Etc., etc., etc.

Puis il y aura les ransomwares, puis les crypto-ransomwares et les cyberattaques (dont, au niveau mondial, des états contre d'autres états).

Depuis, un marché de l'antivirus s'est développé, extrêmement rémunérateur grâce à des formules d'abonnements.

Le marché des logiciels antivirus est actuellement dominé par les pays de l'Est, (Kaspersky, Avast (scandale du cartel Avast, AVG, Piriform - vente des données privées), BitDefender...), les États-Unis (Symantec, McAfee) ou encore le Japon (Trend Micro),

Plusieurs soupçons ont pesé et continuent de peser sur certains virus qui auraient été créés par des éditeurs d'antivirus.

Tests et comparatifs des antivirus.