Accéder au contenu principal

1988 - Ver Morris

Né en 1965, Robert Tappan Morris est le fils de Robert Bob Morris, chercheur aux Laboratoires Bell de 1960 à 1986 et spécialiste des questions de cryptographie. Robert Bob Morris contribue aux premières versions du système d'exploitation Unix et est l'auteur du programme crypt utilisé sur ce même système.

En 1988 durant ses études à l'Université de Cornell, Robert Tappan Morris conçoit un programme dans le but de mesurer la taille du réseau Internet. Le programme a pour objectif de s'introduire sur les systèmes Unix reliés au réseau Internet et de se répliquer pour propager son activité.


L'infection mise en oeuvre est basée sur trois failles des systèmes Unix de l'époque :


  • un bug dans le programme de gestion du courrier sendmail
  • un bug dans le programme de gestion du service fingerd
  • les relations d'approbations entre systèmes sur les services rexec et rsh


Le programme, une fois introduit sur un système, doit tout d'abord vérifier que ce système n'est pas déjà infecté. Afin de contrer toute action préventive des administrateurs systèmes envers son programme, Robert Morris implémente un mécanisme qui, quelque soit le statut du système hôte, force la reproduction du programme.

Le 2 novembre 1988, Robert Morris introduit son programme sur les serveurs Unix du MIT afin de ne pas impliquer directement l'Université Cornell où il est étudiant. Seuls les systèmes 4 BSD Unix sous DEC VAX et Sun 3 peuvent être infectés par le programme. Néanmoins, le mécanisme de reproduction forcée mise en place par Robert Morris va favoriser l'infection sur le réseau Internet, mais va également engendrer une saturation des ressources de chaque système.

En quelques jours, ce sont plus de 6.000 serveurs Unix qui vont être infectés sur un parc d'environ 60.000 serveurs reliés au réseau Internet de l'époque, soit un taux d'infection de 10%.

De par la nature de son activité le programme est rapidement défini comme ver informatique et la presse s'empare de l'affaire. En 1988 les virus informatiques sont encore peu nombreux et leur définition repose principalement sur la capacité de ces derniers à altérer le contenu d'un système d'une part et sur leur mode de propagation d'autre part. Les virus sont globalement injectés dans les systèmes via les systèmes de disques amovibles (ou disquettes) et leur mode opératoire repose sur une période d'inactivité pendant laquelle le virus est dit "dormant". Ce n'est qu'au réveil que le virus déclenche sa charge explosive et altère le système pour s'y reproduire.

A l'opposé, un ver informatique obtient l'accès à un système informatique via un réseau et une fois installé, il recherche de nouvelles cibles potentielles qu'il tentera d'infecter une nouvelle fois via le réseau. Contrairement au virus, le ver informatique ne nécessite pas d'intervention de l'utilisateur, il est autonome et donc toutes les machines reliées entre elle sur un même réseau (ici Internet) sont vulnérables. Le terme ver informatique fit son apparition pour la première fois en 1975 dans un livre de science-fiction de John Brunner intitulé The Shockwave Rider.

Il est important de souligner la conception non-agressive du ver de Robert Morris :


  • Aucune destruction ou altération de composants physiques
  • Aucune destruction ou altération de fichiers
  • Aucune transmission externe de mots de passe
  • Aucun mécanisme de mise en veille du ver
  • Aucun mécanisme de reproduction via disques amovibles


L'analyse du ver, composé d'à peine une centaine de lignes de code (99 lignes exactement), montre qu'il a été conçu pour se déplacer de serveurs en serveurs sans laisser de traces afin de réaliser un comptage des serveurs présents sur le réseau Internet.

Le développement de Robert Morris intégrant un mécanisme de reproduction forcée, ce qui ne devait être qu'un processus Unix léger et temporaire, s'est transformé en ver cannibale incapable de freiner sa consommation de ressources. La multiplication des processus entraine également un effondrement des performances de chaque serveur infecté.

Dans la soirée du 2 novembre 1988, les évènements s'enchainent de manière très rapide:


  • 18h00 : lancement du ver
  • 20h49 : un VAX de l'Université de l'Utah est infecté
  • 21h09 : la première attaque par rebond depuis le VAX est initiée
  • 21h21 : la charge (load-average) du VAX passe à 5
  • 21h41 : la charge (load-average) du VAX passe à 7
  • 22h01 : la charge (load-average) du VAX passe à 16
  • 22h06 : le VAX ne peut plus lancer de nouveaux processus
  • 22h20 : les administrateurs systèmes éradiquent le ver
  • 22h41 : le VAX et à nouveau infecté et sa charge monte à 27
  • 22h49 : les administrateurs systèmes redémarre le VAX
  • 23h21 : le VAX et à nouveau infecté et sa charge monte à 37


Le scénario va ainsi de reproduire sur plus de 6.000 serveurs Unix connectées au réseau Internet, les rendant de fait inexploitables. Néanmoins durant la nuit du 2 novembre au 3 novembre, des équipes au sein de l'Université de Berkeley en Californie et au Massachusetts Institute of Technology réussissent à capturer des copies du ver et commencent à l'analyser.

Au petit matin du 3 novembre 1989, les équipes de Berkeley diffusent un patch pour l'utilitaire sendmail et émettent les préconisations permettant de stopper l'infection sur les systèmes. Un rapport technique sur le ver Morris est disponible sur le site de l'Université Purdue : The Internet Worm Program: An Analysis.

L'absence de coordination lors des attaques du ver poussera l'Agence DARPA à fonder le centre de coordination CERT ("Computer Emergency Response Team"). Le CERT aura alors pour mission de donner aux experts informatiques un point d'entrée unique permettant la coordination des moyens en cas d'urgence.

Le 26 juillet 1989, Rober Morris est la première personne jugée selon la loi Computer Fraud and Abuse Act de 1986. La justice le condamne Robert Morris à 10.050 dollars d'amende et 400 heures de travaux d'intérêt général.

Posts les plus consultés de ce blog

1877 - Téléphone

Conçu ses débuts dans le but de transporter la voix et d'assurer la conversation à distance de plusieurs personnes, le téléphone est aujourd'hui devenu plus bien qu'un outil de communication. L' histoire française veut que ce soit en France, dans les années 1850, qu'ait été inventé le téléphone. Malheureusement, la paternité de cette formidable invention fût disputée par de nombreuses personnes :

1997 - Peer-to-peer (P2P)

Dès sa conception à la fin des années 1960, le réseau ARPANET pose les bases d'un réseau d'interconnexion non hiérarchique et non centralisé. En théorie, la communication entre utilisateurs finaux ne dépend d'aucun élément central et d'aucune liaison point-à-point . Il est donc pas définition possible d'échanger des informations avec n'importe quel ordinateur relié au réseau. Les premiers échanges de données, via les protocoles telnet ou ftp notamment illustrent bien cette idée de connexions non centralisées, inutile de se référencer auprès d'un serveur central pour communiquer entre utilisateurs. La réalité est un peu plus contrastée puisque pour beaucoup de protocoles IP, un modèle client-serveur est nécessaire : un serveur héberge les données et des clients s'y connecte pour les lire ou les modifier.

1969 - Arpanet (ARPA Network)

A partir de 1940, le département de la Défense américain crée une agence chargée des projets de recherche en matière de défense militaire. Cette agence nommée DARPA ("Defense Advanced Research Projects Agency") va être à l'origine de la naissance du réseau prédécesseur d'Internet, mais aussi du programme Transit ancêtre du GPS, ainsi que des programmes d'avions furtifs Jusqu'alors, les communications informatiques reposaient sur l'utilisation de circuits dédiés, tout comme les communications téléphoniques. L'agence DARPA lance donc en 1966 un projet de réseau informatique reliant certaines universités américaines. Sans objectif particulier d'un point de vue militaire, ce projet devient le réseau ARPA et en 1969 il relie quatre centres :