Protocole de découverte de service simple - Simple Service Discovery Protocol

Le Simple Service Discovery Protocol ( SSDP ) est un protocole réseau basé sur la suite de protocoles Internet pour la publicité et la découverte de services réseau et d'informations de présence. Il y parvient sans l'aide de mécanismes de configuration basés sur le serveur, tels que le protocole DHCP ( Dynamic Host Configuration Protocol ) ou le système de noms de domaine (DNS), et sans configuration statique spéciale d'un hôte réseau. SSDP est la base du protocole de découverte de Universal Plug and Play (UPnP) et est destiné à être utilisé dans des environnements résidentiels ou de petits bureaux. Il a été officiellement décrit dans un Internet Engineering Task Force (IETF) Projet Internet par Microsoft et Hewlett-Packard en 1999. Bien que la proposition de l' IETF a expiré depuis (Avril 2000), SSDP a été incorporée dans la pile de protocole UPnP, et une description de la mise en œuvre finale est incluse dans les documents de normes UPnP.

Transport de protocole et adressage

SSDP est un protocole textuel basé sur HTTPU . Il utilise UDP comme protocole de transport sous-jacent. Les services sont annoncés par le système d'hébergement avec un adressage de multidiffusion vers une adresse de multidiffusion IP spécifiquement désignée au numéro de port UDP 1900. Dans IPv4 , l'adresse de multidiffusion est 239.255.255.250 et SSDP sur IPv6 utilise l'ensemble d'adresses ff0X::c pour toutes les plages de portée indiquées par X .

Il en résulte les adresses de multidiffusion pratiques bien connues suivantes pour SSDP :

  • 239.255.255.250 (adresse IPv4 du site local)
  • [FF02::C] ( lien IPv6 local )
  • [FF05::C] (site IPv6 local)
  • [FF08::C] (organisation IPv6 locale)
  • [FF0E::C] (IPv6 global)

De plus, les applications peuvent utiliser les adresses de multidiffusion spécifiques à la source dérivées du préfixe de routage IPv6 local, avec l'ID de groupe C (décimal 12).

SSDP utilise la méthode HTTP NOTIFY pour annoncer l'établissement ou le retrait des informations de services (présence) au groupe multicast. Un client qui souhaite découvrir les services disponibles sur un réseau, utilise la méthode M-SEARCH . Les réponses à de telles demandes de recherche sont envoyées via un adressage monodiffusion à l'adresse d'origine et au numéro de port de la demande multidiffusion.

Les implémentations IPv6 SSDP de Microsoft dans Windows Media Player et Server utilisent l'adresse d'étendue lien-local. Microsoft utilise le numéro de port 2869 pour les notifications d'événements et les abonnements aux événements. Cependant, les premières implémentations de SSDP utilisaient également le port 5000 pour ce service.

Attaque DDoS

En 2014, il a été découvert que SSDP était utilisé dans des attaques DDoS connues sous le nom d' attaque par réflexion SSDP avec amplification . De nombreux appareils, y compris certains routeurs résidentiels, présentent une vulnérabilité dans le logiciel UPnP qui permet à un attaquant d'obtenir des réponses du numéro de port 1900 vers une adresse de destination de son choix. Avec un botnet de milliers d'appareils, les attaquants peuvent générer des débits de paquets suffisants et occuper de la bande passante pour saturer les liens, provoquant le déni de services. La société de réseau Cloudflare a décrit cette attaque comme le « protocole DDoS stupidement simple ».

Vulnérabilité Firefox

Firefox pour Android antérieur à la version 79 ne validait pas correctement le schéma de l'URL reçu dans SSDP et était vulnérable à l'exécution de code à distance. Un attaquant sur le même réseau pourrait créer un serveur malveillant se faisant passer pour un périphérique prenant en charge le casting, mais au lieu d'un fichier de configuration, il renverrait une intent://URL. Firefox lancerait l'intention (si elle était prise en charge par l'appareil) et exécuterait ainsi du code arbitraire. Ce n'est pas un bug avec SSDP, juste une validation incorrecte effectuée par le service de diffusion Firefox.

Voir également

Les références