SQL Slammer
SQL Slammer (aussi connu sous le nom de Sapphire) est un ver informatique qui a provoqué le Modèle:Date 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
Le Modèle:Date- à partir de 05 h 30 UTC, le ver informatique SQL Slammer a entamé sa propagation<ref name="zdnet">Modèle:Lien web</ref>,<ref name="CAIDA_1">Modèle:Lien web</ref>. Il se répandit si rapidement qu'il infecta la plupart de ses victimes durant les dix premières minutes de l'attaque<ref name="CAIDA_1" />.
C'est une vulnérabilité de Microsoft SQL Server rapportée par Microsoft le Modèle:Date<ref name="Symantec_4">Modèle:Lien web</ref>,<ref name="viruslist" /> 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<ref name="CERT">Modèle:Lien web</ref>.
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<ref name="cnn_1">Modèle:Lien web</ref>,<ref name="cnet_1">Modèle:Lien web</ref>, 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<ref name="secuser">Modèle:Lien web</ref>.
Le ver est aussi connu sous les noms : W32.SQLExp.Worm, DDOS.SQLP1434.A, SQL_HEL, W32/SQLSlammer et Helkern<ref name="viruslist">Modèle:Lien web</ref>,<ref name="Symantec_1">Modèle:Lien web</ref>.
Détails techniques
Fonctionnement
La conception du ver repose sur une démonstration de faisabilité, exposée à une Conférence Black Hat par Modèle:Lien, exploitant une vulnérabilité de type dépassement de tampon qu'il avait auparavant découvert<ref>Modèle:Article</ref>. 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<ref name="viruslist" />,<ref name="Symantec_2">Modèle:Lien web</ref>. 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<ref name="viruslist" />,<ref name="Symantec_1" />,<ref name="Symantec_2" />.
Le code du ver, très court (306 octets)<ref name="viruslist" />,<ref name="Symantec_2" /> ne contient aucune instruction pour se copier sur le disque, il réside donc uniquement en mémoire<ref name="Symantec_1" />,<ref name="viruslist" /> 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<ref name="Symantec_3">Modèle:Lien web</ref>, mais la machine sera probablement réinfectée presque immédiatement<ref name="xforce_1">Modèle:Lien web</ref>.
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<ref name="viruslist" />,<ref name="Symantec_2" /> et la possibilité de faire tenir le code du ver dans un seul paquet UDP<ref name="CAIDA_2">Modèle:Lien web</ref>. Libéré par l'utilisation d'UDP de la nécessité d'établir une connexion comme en TCP<ref name="Symantec_3" />, 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)<ref name="CAIDA_2" />.
Les ordinateurs personnels (PC) ne sont pas touchés par ce ver sauf si MSDE y est installé<ref name="f-secure">Modèle:Lien web</ref>.
Effets<ref name="IEEE_paper">Modèle:Lien web</ref>,<ref name="Symante_5">Modèle:Lien web</ref>
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 raison du trafic massif sur le port 1434. 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). Finalement, 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
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! »)<ref>Modèle:Lien web</ref>. Envoyé à 07:11:41 UTC le Modèle:Date-.
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<ref>Modèle:Lien web</ref>. Toutefois, son avertissement<ref>Modèle:Lien web</ref> 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<ref>Modèle:Lien web</ref> donc avant Koshy mais après Bacarella.
ISS, par l'entremise de Chris Rouland, envoya des alertes à 11:54 UTC<ref>Modèle:Lien web</ref> et à 11:56 UTC<ref>Modèle:Lien web</ref> sur les listes de diffusion ISSForum et Vulnwatch respectivement.
Références
Liens externes
- CORRIGER : MS02-039 : des dépassements de mémoire tampon dans le Service de résolution de 2000 de SQL Server peuvent permettre l'exécution de Code. Article Q323875
- Microsoft Security Bulletin MS02-039 Bulletin rapportant la faille exploités par SQL Slammer
- Outils de désinfection de Symantec (en)
- Sapphire fait une peur bleue au Web sur 01Net
- Outils de sécurité SQL Server 2000 sur le site de Microsoft