Des chercheurs des entreprises de sécurité Bitsight et Curesec alertent contre une vulnérabilité qu’ils ont découvert dans un service réseau basé sur le protocole UDP appelé Service Location Protocol (SLP). La faille pourrait être exploitée de manière abusive pour amplifier les attaques DDoS. Des dizaines de milliers de systèmes et de terminaux sont exposés à ce service sur Internet et des attaquants pourraient les utiliser pour générer des attaques massives. Et il faudra probablement beaucoup de temps pour les nettoyer. La brèches offrent aux attaquants d'exploiter les points d'extrémité SLP de manière à générer des réponses importantes et de les répercuter ensuite sur les victimes.

Des attaques par réflexion et amplification DDoS

La technique d'attaque dite de réflexion DDoS consiste à envoyer du trafic à un serveur et à lui faire envoyer sa réponse à une adresse IP différente. Ce genre d'attaque fonctionne généralement avec des protocoles de communication basés sur le protocole UDP (User Datagram Protocol). L’UDP est, avec TCP (Transmission Control Protocol), l'un des principaux protocoles de transmission de données sur Internet. Cependant, contrairement au TCP, l'UDP a été conçu pour la vitesse et ne dispose pas de contrôles supplémentaires, ce qui le rend vulnérable à l'usurpation d'adresse source. Cela signifie qu'un attaquant peut envoyer un paquet UDP à un serveur, mais en mettant une adresse IP source différente dans le paquet au lieu de la sienne. Le serveur enverra alors sa réponse à l'adresse IP source définie.

Outre l'effet de réflexion, qui masque l'origine réelle du trafic, certains protocoles UDP amplifient le trafic résultant, ce qui signifie que la réponse générée est beaucoup plus importante que la demande initiale. C'est ce qu'on appelle l'amplification DDoS, très utile pour les attaquants, car elle génère plus de trafic non sollicité vers une cible qu'ils ne pourraient le faire en lui envoyant directement des paquets à partir des machines contrôlées. L'amplification DDoS fonctionne avec divers protocoles, notamment DNS (Domain Name System), mDNS (multicast DNS), NTP (Network Time Protocol), SSDP (Simple Service Discovery Protocol), SNMP (Simple Network Management Protocol) et d'autres, car ils utilisent tous le protocole UDP pour la transmission. Les serveurs exposés à Internet qui acceptent des paquets sur ces protocoles et génèrent des réponses peuvent donc être exploités de manière abusive pour l'amplification des attaques par saturation. Historiquement, ces protocoles ont déjà été utilisés pour générer certaines des plus grandes attaques DDoS connues.

La vulnérabilité du SLP

Créé en 1997, le Service Location Protocol (SLP) est un protocole ancien, destiné l’origine à la découverte automatisée de services et à la configuration dynamique entre les applications sur les réseaux locaux. Le daemon SLP d'un système maintient un répertoire des services disponibles comme les imprimantes, les serveurs de fichiers et autres ressources du réseau. Il écoute les requêtes sur le port UDP 427. Même si le SLP n'était pas censé être exposé hors des réseaux locaux, les chercheurs de Bitsight et de Curesec ont identifié plus de 54 000 terminaux qui acceptent des connexions SLP sur Internet. Ces équipements appartiennent à plus de 2000 entreprises du monde entier et couvrent 670 types de produits différents, dont les instances de l'hyperviseur VMware ESXi, les imprimantes Konica Minolta, les routeurs Planex, l'Integrated Management Module (IMM) d'IBM et l'IPMI de SMC.

Comme beaucoup d'autres protocoles basés sur UDP, les instances SLP publiques peuvent servir pour l'amplification des DDoS car les attaquants peuvent interroger les services disponibles sur un serveur SLP. Pour cette requête de 29 octets, la réponse du serveur est généralement comprise entre 48 et 350 octets, soit un facteur d'amplification de 1,6 à 12 fois. Mais les chercheurs ont constaté que de nombreuses implémentations SLP octroient à des utilisateurs non authentifiés d'enregistrer de nouveaux services arbitraires sur un point de terminaison SLP, augmentant ainsi les réponses ultérieures du serveur jusqu'à la limite pratique des paquets UDP, qui est de 65 536 octets.

La seule chose à faire pour les attaquants est d'envoyer des paquets au serveur SLP pour enregistrer d'autres services jusqu'à ce que sa mémoire tampon soit pleine et que le serveur n'accepte plus d'autres enregistrements. Ils peuvent ensuite procéder à une attaque par réflexion courante en envoyant des demandes de listes de services avec une adresse IP source usurpée. Le facteur d'amplification possible peut atteindre  x2200, les requêtes de 29 octets générant des réponses de 65 000 octets. Étant donné le grand nombre de produits concernés, les chercheurs ont coordonné la divulgation de la vulnérabilité par l'intermédiaire de l'agence américaine de cybersécurité et de sécurité des infrastructures (Cybersecurity and Infrastructure Security Agency, CISA), qui a émis sa propre alerte. VMware a également publié un avis pour ESXi, en précisant que seules les versions en fin de vie de l'hyperviseur étaient concernées. La vulnérabilité est répertoriée sous la référence CVE-2023-29552 et est affectée d’un score de gravité CVSS de 8.6 (élevée).

Atténuation de la vulnérabilité SLP

« Le protocole SLP doit être désactivé sur tous les systèmes fonctionnant sur des réseaux non fiables, notamment ceux qui sont directement connectés à Internet », ont déclaré les chercheurs. « Si cela n'est pas possible, les pare-feux doivent être configurés pour filtrer le trafic sur les ports UDP et TCP 427. Cela empêchera les attaquants externes d'accéder au service SLP », ont-ils ajouté. La vulnérabilité CVE-2023-29552 n'est pas la première à affecter le SLP. Au fil des ans, VMware a corrigé de nombreuses failles dans son implémentation OpenSLP dans ESXi, et en 2021, le fournisseur a désactivé le service par défaut dans les dernières versions. VMware conseille désormais à tous ses clients de désactiver ce service, d'autant plus que des gangs de ransomwares ont commencé à exploiter l'une de ces vulnérabilités référencée CVE-2021-21974, qui facilite un débordement de la mémoire tampon.

Les pays qui comptent le plus grand nombre de terminaux vulnérables sont les États-Unis, le Royaume-Uni, le Japon, l'Allemagne et le Canada. Malheureusement, comme ces équipements appartiennent à de nombreuses entreprises, il est probable qu'un pourcentage important d'entre eux restera encore longtemps exposé à Internet, ce qui augmentera les chances de voir bientôt des attaques DDoS exploitant l'amplification SLP.