Comment la sécurité a évolué : l’histoire de Code Red

Voici l’histoire de la première attaque sérieuse qui s’en est prise à l’infrastructure informatique d’une entreprise.

Code Red était un ver informatique qui avait pris pour cible les systèmes basés sur Windows et sur lesquels était installé Microsoft IIS (Internet Information Services du serveur Windows). Cette histoire avait pourtant bien commencé : la distribution du programme malveillant avait été détectée au tout début de l’infection. Code Red a été découvert par les chercheurs de eEye Security qui, lors de leur découverte (le 13 juillet 2001), étaient en train de développer un système qui permettrait de trouver les vulnérabilités de Microsoft IIS. Tout à coup, leur serveur test n’a plus répondu. Ils ont examiné l’historique du système pendant toute la nuit pour essayer de trouver des traces de l’infection. Ils ont baptisé ce programme malveillant après qu’un objet a attiré leur regard trouble : une canette de la boisson Mountain Dew Code Red.

Pourtant, cette détection relativement précoce n’a pas vraiment freiné l’épidémie. Le programme malveillant utilisait déjà les systèmes infectés pour réaliser d’autres attaques et, en quelques jours seulement, il s’était répandu dans le monde entier. Ensuite, le 19 juillet, le Centre d’analyse appliquée des données Internet (CAIDA) a partagé des statistiques qui montraient clairement à quelle vitesse Code Red s’était distribué. Selon plusieurs sources, plus de 300 000 serveurs ont été attaqués.

Présence du ver informatique Code Red le 19 juillet 2001.

Présence du ver informatique Code Red le 19 juillet 2001. Source

Le fonctionnement de Code Red

Ce virus informatique d’Internet exploitait une vulnérabilité insignifiante dans un des modules du serveur web. Il s’agissait plus précisément d’une extension pour le référencement des données. Il y avait une erreur de dépassement de tampon dans la bibliothèque idq.dll. MS01-33 était l’identifiant de cette vulnérabilité. Le bug était facile à exploiter : il suffisait d’envoyer une demande beaucoup trop longue au serveur. Par exemple :

GET /default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a  HTTP/1.0

Ainsi, les données après la lettre répétée N étaient interprétées comme des instructions et étaient exécutées. Toute la charge malveillante apparaissait dans la requête. Étant donné qu’il y avait une installation vulnérable dans Microsoft IIS, le système était infecté instantanément. La conséquence la plus visible de l’infection était, littéralement, la dégradation des sites servis par le serveur web. Ils avaient la mise en page suivante au lieu de leur contenu habituel :

Voilà à quoi ressemblait un serveur web infecté par Code Red.

Voilà à quoi ressemblait un serveur web infecté par Code Red. Source

Selon Kaspersky, cette dégradation était temporaire. 10 heures après l’attaque, le ver informatique restaurait le contenu normal du site. D’autres actions étaient menées suivant la date. Du 1er au 19 de chaque mois, le ver se propageait et envoyait des requêtes malveillantes à des adresses IP choisies au hasard. Du 20 au 27, plusieurs adresses IP étaient victimes d’une attaque par déni de service, y compris le site de l’administration présentielle des États-Unis. Puis, du 28 à la fin du mois, Code Red faisait une pause, même si elle n’était pas vraiment méritée.

Notre point de vue en 2022

De tels incidents se produisent encore de nos jours, mais ils sont généralement associés à des vulnérabilités zero-day et sont souvent détectés lorsque l’on enquête sur une attaque active. Voici un exemple : la série de vulnérabilités dans le serveur de messagerie électronique Microsoft Exchange qui était activement exploitée lors de la détection. Plus de 30 000 entreprises dans le monde entier ont été affectées, et les administrateurs du service de messagerie de nombreuses entreprises ont dû installer un patch « hier » et réaliser un audit au cas où l’infection avait atteint l’entreprise.

Cet exemple montre que les attaques sont beaucoup plus sophistiquées et que nous avons progressé en termes de défense. Code Red n’a pas exploité une vulnérabilité zero-day mais une faille qui a été détectée et corrigée un mois avant. À cette époque, la lenteur de l’installation des mises à jour, le manque d’outils pour l’installation automatique et les faibles connaissances des utilisateurs avaient un impact. L’absence de monétisation est une autre différence de taille entre Code Red et les attaques modernes actuelles. De nos jours, le piratage du serveur d’une entreprise vulnérable est inévitablement suivi d’un vol de données, ou d’un chiffrement des données, et d’une demande de rançon. De plus, les cybercriminels ne dégradent pas les sites piratés. Au contraire, ils font tout leur possible pour cacher leur présence au sein de l’infrastructure informatique de l’entreprise.

Une leçon amère

Il faut dire que Code Red a disparu assez rapidement. Une version légèrement modifiée est apparue en août 2001, Code Red II. Cette dernière pouvait infecter les systèmes qui avaient déjà été « visités » par la première variante du ver informatique. Pourtant, de manière générale, il y avait d’autres attaques avec des scénarios similaires au début des années 2000. En septembre 2001, nous avons connu le ver pandémique Nimda, qui lui aussi a exploité des vulnérabilités de Microsoft IIS pourtant corrigées depuis longtemps. En 2003, le ver Blaster s’est rapidement répandu partout. Enfin, on a commencé à dire que les correctifs de vulnérabilités critiques détectées dans les logiciels d’entreprises devaient être installés le plus rapidement possible. Lorsqu’une mise à jour est disponible, les cybercriminels l’étudient minutieusement et commencent à exploiter la vulnérabilité, tout en espérant que certains utilisateurs n’aient pas encore installer la mise à jour. Ce problème existe encore de nos jours. Nous avons plusieurs exemples récents, comme l’attaque de WannaCry en 2017.

En revanche, on peut dire que Code Red et bien d’autres programmes malveillants responsables de l’infection de centaines de milliers de systèmes dans le monde entier nous ont aidé à mettre au point les directives de sécurité que les entreprises suivent actuellement. Contrairement à ce qui était le cas il y a 21 ans, nous dépendons entièrement des systèmes informatiques, que ce soit pour communiquer, pour payer ou pour une infrastructure critique. Nous avons appris à nous défendre contre les attaques informatiques, mais nous devons encore trouver le remède miracle pour tous les problèmes que rencontrent les entreprises. Il est indéniable que la cybersécurité évolue, et il faut reconnaître qu’une sécurité parfaite n’est pas un état fixe des choses mais une lutte permanente.

Conseils