SQL Slammer

SQL Slammer (aussi connu sous le nom de Sapphire) est un ver informatique qui a provoqué le  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  à partir de 05 h 30 UTC, le ver informatique SQL Slammer a entamé sa propagation. Il se répandit si rapidement qu'il infecta la plupart de ses victimes durant les dix premières minutes de l'attaque.

C'est une vulnérabilité de Microsoft SQL Server rapportée par Microsoft le  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.

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, 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.

Le ver est aussi connu sous les noms : W32.SQLExp.Worm, DDOS.SQLP1434.A, SQL_HEL, W32/SQLSlammer et Helkern.

Détails techniques

Fonctionnement 
La conception du ver repose sur une démonstration de faisabilité, exposée à une Conférence Black Hat par , exploitant une vulnérabilité de type dépassement de tampon qu'il avait auparavant découvert. 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. 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.

Le code du ver, très court (306 octets) ne contient aucune instruction pour se copier sur le disque, il réside donc uniquement en mémoire 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, mais la machine sera probablement réinfectée presque immédiatement.

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 et la possibilité de faire tenir le code du ver dans un seul paquet UDP. Libéré par l'utilisation d'UDP de la nécessité d'établir une connexion comme en TCP, 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).

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

Effets 

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! »). Envoyé à 07:11:41 UTC le .

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. Toutefois, son avertissement 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 donc avant Koshy mais après Bacarella.

ISS, par l'entremise de Chris Rouland, envoya des alertes à 11:54 UTC et à 11:56 UTC 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

Ver informatique
Attaque par déni de service
Sécurité sur Internet