En el mundo actual, en los equipos que se actualizan correctamente con el software / firmware más reciente, ¿UPnP sigue siendo inseguro o se han corregido sus vulnerabilidades?
Sí, UPnP es por diseño inseguro.
UPnP es un protocolo diseñado para abrir automáticamente los puertos en un firewall para permitir que un intruso acceda a un servidor alojado en una máquina local que esté protegida por dicho firewall.
UPnP es como montar una cerradura en una puerta y luego dejar la llave en el ojo de la cerradura. ¿Cuál es el punto de montar una cerradura entonces?
No hace falta explicar por qué este es un mal protocolo desde el principio, para ayudar a los "novatos" que ni siquiera pueden ir al 192.168.0.1/192.168.1.1 y enviar un puerto simple si es necesario.
UPnP efectivamente hace que el firewall sea inútil. Cualquier troyano podría configurar un servidor IRC de escucha, un servidor RAT o cualquier otra cosa sospechosa y luego pedirle al firewall que abra el puerto para ellos.
Si tiene un enrutador que admite UPnP, desactive el protocolo inmediatamente. Todavía no he encontrado un enrutador que no permita deshabilitar UPnP, por lo que en todos los enrutadores debería ser posible. Es posible que algún enrutador ISP bloqueado tenga la administración de clientes completamente deshabilitada, pero entonces debería poder pedirle al servicio de atención al cliente de sus ISP que deshabilite el UPnP.
Creo que debería expandirme un poco y aclarar lo que dijo sebastian nielsen.
UPnP es tan seguro como los sistemas operativos de los dispositivos detrás del firewall o enrutador NAT / PAT.
Si tiene un cuadro de Linux, BSD o Unix detrás del enrutador y tiene una configuración de usuario estándar en la que no utiliza la raíz para realizar ninguna actividad de usuario, sus posibilidades de encontrarse en conflicto con un trojon capaz de usar UPnP para comprometerse su red es baja
Si está ejecutando Windows o tiene un dispositivo Android donde descarga aplicaciones que no están verificadas por Play Store, es muy vulnerable.
La mayoría de los enrutadores tienen opciones para dirigir los puertos externos a los puertos internos para que pueda configurar un puerto o un rango de puertos para hablar con la máquina donde necesita abrir un puerto. Por motivos de seguridad, es aconsejable no abrir un puerto redirigido en el rango de 0 a 1024, ya que estos son puertos comunes que probablemente serán un objetivo para el escaneo por parte de piratas informáticos.
El mal nombre de UPnP proviene de problemas de implementación encontrados en 2011-2013. Es como decir que el correo electrónico es inseguro y se debe desactivar porque alguien encontró un problema común en varios clientes de correo electrónico hace algunos años.
Siempre deshabilité UPnP porque todos lo decían. Ahora que lo miro, resulta ser una tontería. Cuando UPnP era nuevo, se encontró que algunos dispositivos eran vulnerables. Desde entonces, los proveedores de enrutadores tuvieron mucho tiempo para arreglar su software. La seguridad es una cosa mucho más importante ahora de lo que era en 2011 (que es aproximadamente la época en que se lanzó el primer iPad), por lo que los proveedores están más conscientes de los problemas de seguridad. Para los enrutadores más antiguos, si eran vulnerables en primer lugar, probablemente se haya lanzado una actualización de firmware hace mucho tiempo.
UPnP es una solución a un problema que se crea al tener muy pocas direcciones IP. Debido a que no todos pueden tener los suyos, necesitamos compartirlos. La forma en que lo hacemos es mediante la traducción de dirección de red (NAT): su enrutador de consumidor se traduce entre su red local (por ejemplo, 192.168.x.x) y su dirección IP pública (por ejemplo, 278.14.1.48). Las aplicaciones punto a punto, como llamadas (video), intercambio de archivos, actualizaciones (Windows, Google Play), redes de anonimato, etc. no pueden funcionar con NAT, por lo que tenemos que deshabilitarlo para aplicaciones específicas (reenvío de puertos) o encontrar soluciones alternativas (Perforación UDP / TCP, STUN, etc.). UPnP es el método mediante el cual una aplicación puede indicar al enrutador que le gustaría desactivar NAT para una aplicación.
No habilitar UPnP significa que debemos confiar en soluciones alternativas feas en lugar de poder tener comunicación de igual a igual. Funciona, y los desarrolladores de software interesados en obtener su dinero o los globos oculares (para los anuncios) podrán gastar dinero en la ejecución de servidores para mantener esas soluciones funcionales, pero el software gratuito a menudo no tiene esos lujos y no puede funcionar sin UPnP. , o reenviar el puerto manualmente.
(Spoiler: están mal)
Debido a que la NAT es ubicua en IPv4, muchas personas comenzaron a confiar en ella por seguridad: debido a que no puede comunicarse con hosts individuales dentro de la red, las vulnerabilidades no pueden ser explotadas desde el exterior, y las personas comenzaron a desactivar las medidas de seguridad dentro de su LAN. Se olvidaron de hacer actualizaciones de seguridad y abrieron archivos compartidos sin contraseñas (porque nadie saca su computadora portátil fuera de su LAN, ¿verdad?), Por lo que ahora necesita un firewall que esté fuera de Su portátil, por ejemplo, en su enrutador. Combine esto con la idea de que UPnP puede abrir puertos, y obtendrá respuestas mal informadas, como la respuesta actualmente más votada.
Pregúntese: ¿qué hace que UPnP solicite a su enrutador que abra un puerto? Tiene que ser algo dentro de tu red. Por ejemplo, el malware podría pedir abrirlo. ¡Que terrible! Pero espere, si tiene programas maliciosos en su red y su computadora portátil no es segura ... ¿entonces ya está jodido? Sí, por supuesto.
El malware no necesita UPnP para llegar a sus dispositivos locales : para que pueda hacer UPnP, ya debe estar en su dispositivo, o dentro de su red, para que pueda acceder a la red interna. dispositivos por sí mismos sin utilizar UPnP.
¿O qué sucede si un amigo trae su teléfono inteligente que está infectado con malware? Podría decirle al enrutador que haga UPnP a sus otros dispositivos y los exponga. Lo suficientemente cierto, pero nuevamente: el malware ya está dentro de su red y ya puede llegar a sus dispositivos locales.
UPnP está bien para habilitarlo si su enrutador no es antiguo, o si instaló actualizaciones de firmware para él (o si nunca fue vulnerable en primer lugar).
Incluso si se sabe que su enrutador es vulnerable (y usted se niega a instalar la actualización o el proveedor no lanzó una actualización), entonces no es un problema si todos los dispositivos dentro de su red tienen sus actualizaciones de seguridad instaladas. Debería hacerlo de todos modos, ya que todos los sitios web que visita pueden atacar dispositivos locales a través de JavaScript en su navegador (especialmente si el dispositivo local puede ser explotado a través de solicitudes ciegas de HTTP), y todos los que tienen acceso a su WiFi (por ejemplo, a través del craqueo de contraseñas) podría hackearlos también. Cuidado: esto incluye impresoras, cámaras IP y otras computadoras integradas que a menudo se olvidan.
UPnP simplemente abre la conectividad de un dispositivo dentro de su red a otro fuera de ella, en la solicitud del dispositivo. Básicamente, la seguridad de eso se reduce a si esa solicitud fue realizada por un software bien diseñado o un malware.
UPnP no es el punto débil, sino la seguridad de las aplicaciones instaladas en el dispositivo. Los firewalls, el reenvío manual de puertos, el antivirus y las tiendas de aplicaciones son solo soluciones para eso, pero no la solución real.
La solución real es utilizar el software cuyo código fuente está disponible para inspeccionar, instalar desde un centro de software y, a menudo, parcheado para detectar vulnerabilidades de seguridad. A saber, Linux .