UPNP se interpreta de la siguiente manera: Para un ordenador privado, la función UPnP de BitComet puede hacer que el módulo NAT de la pasarela o router realice mapeo automático de puertos, y mapear el puerto que BitComet escucha desde la pasarela o router hasta el ordenador intranet. El módulo de cortafuegos de red del gateway o router empieza a abrir este puerto a otros ordenadores en Internet. La tecnología de recorrido NAT permite a las aplicaciones web detectar si están detrás de un dispositivo NAT compatible con UPnP. Estos programas reciben entonces una dirección IP global enrutable compartida y configuran el mapeo de puertos para reenviar paquetes desde puertos externos NAT a los puertos internos usados por la aplicación, todo automáticamente, sin que los usuarios tengan que mapear manualmente puertos ni hacer nada más. La tecnología de travesía NAT permite que dispositivos de red o aplicaciones peer-to-peer se comuniquen con el exterior a través de gateways NAT abriendo y cerrando dinámicamente puertos de comunicación con servicios externos. En otras palabras, se puede resumir así: la eficiencia de conversión de un NAT simple no es alta, y si se lanza la tecnología UPNP, la eficiencia de la conversión de datos NAT puede mejorar. Parece algo bueno. ¿¿¿Pero qué???
UPNP tiene serias carencias: Aquí tienes un extracto:
El primer defecto es que el uso de buffers no está controlado ni restringido. ¡Los atacantes externos pueden obtener privilegios de control de todo el sistema gracias a esto! Dado que la función UPnp debe usar los puertos del ordenador para funcionar, un atacante que obtenga el control también puede usar estos puertos para lograr el objetivo del atacante. Las consecuencias de este defecto son muy graves, independientemente de la versión del sistema Windows, mientras UPnP esté funcionando, ¡existe este peligro! Pero estrictamente hablando, esto no es únicamente un problema de la tecnología UPnP en sí, sino más bien un descuido de programación. El segundo defecto está relacionado con el mecanismo de funcionamiento de UPnP. El defecto existe en la fase de "descubrimiento del dispositivo" cuando UPnP está funcionando. Descubrir un dispositivo puede dividirse en dos situaciones: si un ordenador compatible con UPnP arranca correctamente y se conecta a la red, enviará inmediatamente una "difusión" a la red, notificando al dispositivo UPnP en la red que está listo, y a nivel de programación, el contenido de difusión es una instrucción M-SEARCH (mensaje). La emisión será "escuchada" por todos los dispositivos dentro del "alcance sonoro". Y enviar su información relevante al ordenador para fines de control posteriores. De manera similar, si un dispositivo acaba de conectarse a la red, también enviará una "notificación" a la red de que está listo para aceptar el control de la red, que es una indicación de NOTIFY a nivel de programación. También será aceptado por todos los ordenadores dentro del rango de "alcance sonoro". El ordenador "detectará" que el dispositivo se ha "reportado a sí mismo". De hecho, las instrucciones NOTIFY no solo se envían a ordenadores, sino que también pueden ser escuchadas por otros dispositivos de red. ¡Es en la emisión y escucha mencionada anteriormente donde surge un problema! Si un hacker envía una instrucción NOTIFY al sistema de un usuario, este recibirá esta instrucción NOTIFY y se conectará a un servidor específico bajo sus instrucciones, y luego solicitará un servicio de descarga al servidor correspondiente: descargar el contenido del servicio que se ejecutará. Por supuesto, el servidor responderá a esta solicitud. El sistema de servicios UPnP explicará la descripción del dispositivo, solicitando que se envíen más archivos, y el servidor deberá responder a esas solicitudes. De este modo, se forma un ciclo de "solicitud-respuesta", que ocupa una gran cantidad de recursos del sistema y provoca que la velocidad del servicio UPnP del sistema se ralentice o incluso se detenga. ¡Así que este fallo hará posible un ataque de "denegación de servicio"!
De hecho, en otras palabras, la función UPNP consume constantemente sus propios recursos de red durante la etapa de uso, y cuando se agotan los recursos de red del dispositivo, se produce un fenómeno de animación suspendida. Solo hay que mirar la información anterior. |