Protocolo de comunicación | |
Abreviatura | SSDP |
---|---|
Desarrollador(es) | Microsoft , Hewlett-Packard |
Introducción | () |
Conjunto de protocolos de Internet |
---|
Capa de aplicación |
Capa de transporte |
Capa de Internet |
Capa de enlace |
El Protocolo Simple de Descubrimiento de Servicios ( SSDP ) es un protocolo de red basado en el conjunto de protocolos de Internet para la publicidad y el 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á destinado a su uso en entornos residenciales o de pequeñas oficinas. Fue descrito formalmente en un Borrador de Internet del IETF por Microsoft y Hewlett-Packard en 1999. Aunque la propuesta del 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] [4]
SSDP es un protocolo basado en texto basado en HTTPU , que 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 [5] y SSDP sobre IPv6 utiliza el conjunto de direcciones ff0x::c para todos los rangos de alcance indicados por x . [6]
Esto da como resultado las siguientes direcciones de multidifusión prácticas y conocidas para SSDP:
Además, las aplicaciones pueden utilizar las direcciones de multidifusión específicas de la fuente derivadas del prefijo de enrutamiento IPv6 local, con ID de grupo c (decimal 12).
SSDP utiliza el método HTTP NOTIFY para anunciar el establecimiento o la retirada de servicios (presencia) al grupo de multidifusión. Un cliente que desea descubrir servicios disponibles en una red utiliza el método M-SEARCH . Las respuestas a dichas solicitudes de búsqueda se envían mediante direccionamiento unicast a la dirección de origen y al número de puerto de la solicitud de multidifusión.
Las implementaciones SSDP IPv6 de Microsoft en Windows Media Player y Server utilizan la dirección de ámbito local de enlace. Microsoft utiliza el puerto número 2869 para la notificación de eventos y las suscripciones a eventos. Sin embargo, las primeras implementaciones de SSDP también utilizaban el puerto 5000 para este servicio. [7]
En 2014 se descubrió que SSDP estaba siendo utilizado 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 puerto número 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 los enlaces, provocando la denegación de servicios. [8] [9] [10] La empresa de redes Cloudflare ha descrito este ataque como el "Protocolo DDoS estúpidamente simple". [10]
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 que simulara ser un dispositivo que admitiera la conversión, pero en lugar de un archivo de configuración devolvería una intent://
URL. Firefox lanzaría la intención (si el dispositivo la admitiera) y, por lo tanto, ejecutaría código arbitrario. Esto no es un error de SSDP, solo una validación incorrecta realizada por el servicio de conversión de Firefox. [11]