SQL Slammer

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

SQL Slammer (aussi connu sous le nom de Sapphire) est un ver informatique qui a provoqué le 25 janvier 2003 un déni de service sur certains ordinateurs hôtes d'Internet et un ralentissement grave du trafic Internet. Sa propagation fut foudroyante. Michael Bacarella fut le premier à en faire l'annonce, mais c'est Christopher J. Rouland, CTO de ISS, qui le nomma Slammer (voir les notes ci-dessous). Bien qu'il fût appelé "SQL slammer worm", le programme n'utilisait pas le langage SQL; il se propageait plutôt grâce à une faille du type dépassement de tampon des serveurs de bases de données Microsoft SQL Server et MSDE, pour laquelle un correctif existait déjà.

Historique[modifier | modifier le code]

Le 25 janvier 2003 à partir de 05 h 30 UTC, le ver informatique SQL Slammer a débuté sa propagation[1],[2]. Il se répandit si rapidement qu'il infecta la plupart de ces victimes durant les dix premières minutes de l'attaque[2].

C'est une vulnérabilité de Microsoft SQL Server rapporté par Microsoft le 24 juillet 2002[3],[4] qui a permis la mise en œuvre du ver. En même temps que cette annonce, Microsoft avait aussi publié un correctif à cette faille, soit six mois avant le lancement de l'attaque[5].


SQL Slammer a révélé que certains administrateurs de réseaux, y compris chez Microsoft, n'avaient pas appliqué les correctifs nécessaires aux logiciels qu'ils utilisent[6],[7], et ce même si le correctif à cette faille avait été publié 6 mois, jour pour jour, avant la diffusion du ver. Il est également possible de corriger cette faille en installant le Service Pack 3 pour SQL Server[8].

Le ver est aussi connu sous les noms : W32.SQLExp.Worm, DDOS.SQLP1434.A, SQL_HEL, W32/SQLSlammer and Helkern[4],[9].

Détails techniques[modifier | modifier le code]

Fonctionnement[modifier | modifier le code]

La conception du ver repose sur une démonstration de faisabilité, exposée à une Conférence Black Hat par David Litchfield (en), exploitant une vulnérabilité de type dépassement de tampon qu'il avait auparavant découvert[10]. Ce ver est un petit code qui ne fait rien d'autre que générer des adresses IP de façon aléatoire et envoyer des copies de lui-même à ces adresses[4],[11]. Si, à une de ces adresses, il y a un ordinateur exécutant une version de Microsoft SQL Server auquel on n'a pas appliqué le correctif publié dans le bulletin MS02-039 celui-ci devient immédiatement infecté et commence à son tour à envoyer via Internet de nouvelles copies du ver[4],[9],[11].

Le code du ver, très court (306 octets)[4],[11] ne contient aucune instruction pour se copier sur le disque, il réside donc uniquement en mémoire[9],[4] ce qui le rend très facile à supprimer. Pour ce faire, on peut utiliser un utilitaire de suppression comme celui fourni gratuitement par Symantec (voir le lien externe plus bas) ou tout simplement redémarrer le serveur[12], mais la machine sera probablement réinfectée presque immédiatement[13].

Deux caractéristiques clés ont contribué à la propagation rapide du ver SQL Slammer : l'utilisation du protocole UDP pour infecter de nouveaux hôtes[4],[11] et la possibilité de faire tenir le code du ver dans un seul paquet UDP[14]. Libéré par l'utilisation d'UDP de la nécessité d'établir une connexion comme en TCP[12], l'hôte infecté pouvait employer une stratégie dite de "tir et oubli" pour transmettre son paquet aussi souvent que possible (habituellement plusieurs centaines par seconde)[14].

Les ordinateurs personnels (PC) ne sont pas touchés par ce ver sauf si MSDE y est installé[15].

Effets[16],[17][modifier | modifier le code]

L'effondrement de nombreux routeurs, en réaction à la très grande augmentation de trafic engendrée par l'envoi massif de copies du ver par les serveurs infectés, a causé un ralentissement significatif sur Internet. En règle générale, si le trafic devient trop important pour que le routeur le prenne en charge, ce dernier est censé retarder ou arrêter temporairement le trafic. La surcharge de bande passante a engendré un dysfonctionnement de certains routeurs, directement "déconnectés" du réseau Internet par les routeurs voisins (par retrait de la table de routage). Au final, les multiples notifications de mise à jour de routes, soit pour enlever des routeurs éteints du réseau, soit pour en ajouter de nouveaux qui ont redémarré, ont très vite monopolisé une part importante de la bande passante d'Internet. Le trafic ordinaire a conséquemment ralenti, allant même jusqu'à s'arrêter complètement dans certains cas. Il est ironique toutefois de constater qu'à cause de sa très petite taille le ver SQL Slammer pouvait parfois être transmis alors que le trafic légitime ne le pouvait pas.

Notes[modifier | modifier le code]

Il existe une polémique quant à savoir qui a trouvé Slammer en premier, bien qu'en pratique ce soit pratiquement impossible à déterminer. On peut toutefois attribuer la première alerte publique à Michael Bacarella qui a envoyé un message sur la liste de diffusion Bugtraq : "Le ver MS SQL est en train de détruire Internet - Bloquez le port 1434 !" ("MS SQL WORM IS DESTROYING INTERNET - BLOCK PORT 1434!").[18] Envoyé à 07:11:41 UTC le 25 janvier 2003.

Cependant la première annonce est souvent attribuée à Ben Koshy. En effet, la société W3Media, pour laquelle il travaillait, avait émis un communiqué à cet effet.[19] Toutefois, son avertissement[20] au public, envoyé à la liste de diffusion NTBugtraq ne fut envoyé qu'à 10:28 UTC. Robert Boyle envoya une alerte à NTBugtraq at 08:35 UTC[21] donc avant Koshy mais après Bacarella.

ISS, par l'entremise de Chris Rouland, envoya des alertes à 11:54 UTC[22] et à 11:56 UTC[23] sur les listes de diffusion ISSForum et Vulnwatch respectivement.

Références[modifier | modifier le code]

  1. (en) « SQL Slammer worm wreaks havoc on Internet »
  2. a et b (en) « Analysis of the Sapphire Worm - A joint effort of CAIDA, ICSI, Silicon Defense, UC Berkeley EECS and UC San Diego CSE »
  3. (en) « "Microsoft SQL Server Resolution Service buffer overflows allow arbitrary code execution" »
  4. a, b, c, d, e, f et g (en) « Net-Worm.Win32.Slammer »
  5. (en) « "CERT® Advisory CA-2002-22 Multiple Vulnerabilities in Microsoft SQL Server" »
  6. (en) « Experts: Microsoft security gets an 'F' »
  7. (en) « Worm exposes apathy, Microsoft flaws »
  8. (en) « Virus SQL Slammer »
  9. a, b et c (en) « Symantec W32.SQLExp.Worm - Summary »
  10. John Leyden, « Slammer: Why security benefits from proof of concept code », Register,‎ 6 fév. 2003 (lire en ligne)
  11. a, b, c et d (en) « Symantec W32.SQLExp.Worm - Technical details »
  12. a et b (en) « DeepSight™ Threat Management System Threat Analysis: SQLExp SQL Server Worm Analysis »
  13. (en) « SQL Worm Propagation »
  14. a et b (en) « The Spread of the Sapphire/Slammer Worm »
  15. « Worm:W32/Slammer »
  16. (en) « Inside the Slammer Worm »
  17. (en) « Effects of Worms on Internet Routing Stability »
  18. (en) Michael Bacarella, « MS SQL WORM IS DESTROYING INTERNET BLOCK PORT 1434! », Bugtraq,‎ 25 January 2003 (consulté en 2012-11-29)
  19. (en) « W3 Media's Ben Koshy first to identify Internet 'Slammer' Virus », Press Release, W3 Media,‎ January 24, 2003 (consulté en 2008-11-29)
  20. (en) Ben Koshy, « Peace of Mind Through Integrity and Insight », Neohapsis Archives,‎ January 25, 2003 (consulté en 2008-11-29)
  21. (en) Robert Boyle, « Peace of Mind Through Integrity and Insight », Neohapsis Archives,‎ January 25, 2003 (consulté en 2008-11-29)
  22. (en) « [ISSForum ISS Security Brief: Microsoft SQL Slammer Worm Propagation »] (consulté en 2013-01-18)
  23. (en) X-Force, « Peace of Mind Through Integrity and Insight », Neohapsis Archives,‎ January 25, 2003 (consulté en 2008-11-29)

Liens externes[modifier | modifier le code]