El Simple Service Discovery Protocol ( SSDP ) es un protocolo de red basado en el conjunto de protocolos de Internet para publicidad y descubrimiento de servicios de red e información de presencia. Lo logra sin la ayuda de mecanismos de configuración basados en servidor, como el Protocolo de configuración dinámica de host (DHCP) o el Sistema de nombres de dominio (DNS), y sin una configuración estática especial de un host de red. SSDP es la base del protocolo de descubrimiento de Universal Plug and Play (UPnP) y está diseñado para su uso en entornos residenciales o de oficinas pequeñas. Fue descrito formalmente en un Grupo de Trabajo de Ingeniería de Internet (IETF)Borrador de Internet de Microsoft y Hewlett-Packard en 1999. Aunque la propuesta de IETF ha expirado desde entonces (abril de 2000), [1] SSDP se incorporó a la pila de protocolos UPnP y se incluye una descripción de la implementación final en los documentos de estándares UPnP. [2] [3]
Protocolo de transporte y direccionamiento
SSDP es un protocolo basado en texto basado en HTTPU . Utiliza UDP como protocolo de transporte subyacente. Los servicios son anunciados por el sistema de alojamiento con direccionamiento de multidifusión a una dirección de multidifusión IP específicamente designada en el puerto UDP número 1900. En IPv4 , la dirección de multidifusión es 239.255.255.250 [4] y SSDP sobre IPv6 utiliza la dirección configurada ff0X :: c para todos rangos de alcance indicado por X . [5]
Esto da como resultado las siguientes direcciones de multidifusión prácticas conocidas para SSDP:
- 239.255.255.250 (dirección local del sitio IPv4)
- [FF02 :: C] ( enlace local IPv6 )
- [FF05 :: C] (IPv6 local del sitio)
- [FF08 :: C] (organización local de IPv6)
- [FF0E :: C] (IPv6 global)
Además, las aplicaciones pueden usar las direcciones de multidifusión específicas de la fuente derivadas del prefijo de enrutamiento IPv6 local, con el ID de grupo C (decimal 12).
SSDP usa el método HTTP NOTIFY para anunciar el establecimiento o retiro de información de servicios (presencia) al grupo de multidifusión. Un cliente que desea descubrir los servicios disponibles en una red, utiliza el método M-SEARCH . Las respuestas a tales solicitudes de búsqueda se envían mediante direccionamiento unidifusión a la dirección de origen y al número de puerto de la solicitud de multidifusión.
Las implementaciones de IPv6 SSDP de Microsoft en Windows Media Player and Server utilizan la dirección de alcance local de enlace. Microsoft usa el número de puerto 2869 para notificaciones de eventos y suscripciones a eventos. Sin embargo, las primeras implementaciones de SSDP también usaban el puerto 5000 para este servicio. [6]
Ataque DDoS
En 2014 se descubrió que SSDP se estaba utilizando en ataques DDoS conocidos como ataque de reflexión SSDP con amplificación . Muchos dispositivos, incluidos algunos enrutadores residenciales, tienen una vulnerabilidad en el software UPnP que permite a un atacante obtener respuestas del número de puerto 1900 a una dirección de destino de su elección. Con una botnet de miles de dispositivos, los atacantes pueden generar tasas de paquetes suficientes y ocupar ancho de banda para saturar enlaces, provocando la denegación de servicios. [7] [8] [9] La empresa de redes Cloudflare ha descrito este ataque como el "Protocolo DDoS estúpidamente simple". [10]
Vulnerabilidad de Firefox
Firefox para Android anterior a la versión 79 no validaba correctamente el esquema de la URL recibida en SSDP y era vulnerable a la ejecución remota de código. Un atacante en la misma red podría crear un servidor malicioso pretendiendo ser un dispositivo compatible con la transmisión, pero en lugar de un archivo de configuración, devolvería una intent://
URL. Firefox lanzaría la intención (si fuera compatible con el dispositivo) y, por lo tanto, ejecutaría código arbitrario. Esto no es un error con SSDP, solo una validación incorrecta realizada por el servicio de transmisión de Firefox. [11]
Ver también
Referencias
- ^ Borrador de revisión 3 del IETF (desactualizado y vencido)
- ^ "Arquitectura de dispositivo UPNP 1.1" (PDF) . Foro UPnP. 2008-10-15. Archivado desde el original el 7 de noviembre de 2015.CS1 maint: bot: estado de URL original desconocido ( enlace )
- ^ "Arquitectura de dispositivos UPnP v2.0" (PDF) . upnp.org . 20 de febrero de 2015. Archivado desde el original el 7 de noviembre de 2015.CS1 maint: bot: estado de URL original desconocido ( enlace )
- ^ "Direcciones de multidifusión de Internet" . IANA. 2010-06-22.
- ^ "Direcciones de multidifusión de Protocolo de Internet versión 6" . IANA . Consultado el 10 de agosto de 2010 .
- ^ Artículo 832017 de Microsoft Knowledge Base
- ^ Guía de ataques DDoS, pág. 8
- ^ "Ataques de amplificación basados en UDP" .
- ^ SSDP genera 100 Gbps DDoS
- ^ "El protocolo DDoS estúpidamente simple (SSDP) genera 100 Gbps DDoS" . El blog de Cloudflare . 2017-06-28 . Consultado el 13 de octubre de 2019 .
- ^ Cimpanu, Catalin. "El error de Firefox te permite secuestrar navegadores móviles cercanos a través de WiFi" . ZDNet . Consultado el 19 de septiembre de 2020 .