Todas las VPN en jaque, este grave fallo de diseño permite evitar el cifrado del tráfico
Utilizar una VPN, es una de las opciones para navegar con mayor privacidad por la red. El problema llega cuando hay un fallo con ese programa, dispositivo o incluso sistema. Si la información se filtra en la red, la privacidad está en peligro. Es lo que parece que ocurre con este error del que vamos a hablar. Permite descifrar el tráfico. Te vamos a explicar qué debes tener en cuenta para no tener problemas.
Se trata de una técnica novedosa que han detectado que puede descifrar el tráfico y han denominado TunnelVision. Ha sido registrada la vulnerabilidad como CVE-2024-3661. Lo que hace es evitar el cifrado de la VPN y un atacante podría forzar que la navegación salga fuera del túnel VPN. Para ello utilizan funciones que están integradas en DHCP. Básicamente, alguien que se aproveche de este fallo podría espiar la navegación.
Problema con las VPN
Algo a destacar, es que los usuarios de esa VPN no se darían cuenta de nada. De hecho, si el programa tuviera un Kill Switch, para desconectar la conexión en caso de que deje de funcionar, tampoco se activaría. Además, a los usuarios les seguiría apareciendo como que están conectados correctamente. Este grupo de seguridad detrás del descubrimiento, han informado a todas las partes que pueden verse afectadas para reducir el riesgo. Aseguran que se trata de una técnica que para nada es novedosa, ya que creen que se podría haber utilizado incluso hace más de 20 años. De ahí que, ahora, hagan una divulgación pública para llegar al máximo posible.
Como indican en el informe, tras realizar pruebas no han logrado romper el protocolo criptográficamente seguro de una VPN, por lo que sigue funcionando correctamente. Sin embargo, el atacante sí que puede obligar al usuario a salir del túnel VPN. Ahí empieza el problema, ya que dejan de estar protegidos de posibles atacantes que haya en la red local.
Este tipo de ataque lo han denominado Decloaking. Es necesario que el atacante esté en la misma red y, a partir de ahí, convertirse en su servidor DHCP fraudulento, aprovecharse de la falsificación de ARP e interceptar el tráfico entre el verdadero DHCP y el cliente. Utilizan la opción 121 de DHCP para establecer una ruta en la tabla de enrutamiento del usuario de VPN. Básicamente, van a impulsar rutas para las cuales no actúa la interfaz virtual de la VPN y no llega a cifrarlas.
Como podéis ver, realmente no se trata de un ataque contra el cifrado que usan todas las VPN, incluyendo OpenVPN, WireGuard o IPsec, sino que se trata de un ataque de canal lateral, donde se fuerza a los clientes a enviar el tráfico fuera de la VPN a través de las rutas que se instalan en el sistema operativo cuando levantamos el túnel VPN. Uno de los objetivos de las VPN es la de proteger el tráfico de red cuando estamos en una red local o LAN, es decir, cuando estamos en una red Wi-Fi pública, por ejemplo. En estos casos, un atacante podría hacernos este ataque y nosotros enviaremos todo el tráfico fuera de la VPN, por lo que el túnel no nos protegerá.
Posibles soluciones
Pero, ¿es posible hacer algo para mitigar este problema? Indican que hay diferentes métodos para evitar este problema y que la VPN realmente funcione como debería. Una de ellas es crear reglas en el cortafuegos. También indican que otra posible solución es ignorar la opción 121 de DHCP mientras la VPN está activada. Añaden que Android no implementa soporte para la opción 121 de DHCP, por lo que no se vio afectado en las pruebas que han realizado. Sin embargo, el resto de sistemas operativos sí estarían afectados porque soportan esta funcionalidad, la cual es un estándar.
No obstante, la opción 121 existe por algo, e ignorar estas rutas podría dar lugar a problemas de conectividad de la VPN. Puedes ver el informe completo en la web de Leviathansecurity. También dan como posible solución utilizar puntos de acceso. Se trata de redes Wi-Fi temporales que van a estar controladas con un dispositivo móvil. Esto requiere de una contraseña, por lo que el atacante debería tener problemas para acceder a la red local. Incluso una máquina virtual también podría actuar de forma similar, excepto si está en modo bridge, ya que debería estar configurada en modo NAT para evitar recibir el mensaje DHCP Option 121.
Como consejo adicional, es esencial que evites utilizar redes en las que no puedas confiar al máximo, incluso aunque te vayas a conectar al servicio de VPN o a tu propio servidor. Aquí podemos nombrar muchos ejemplos, como puede ser el Wi-Fi de un aeropuerto, una cafetería o cualquier lugar público. Es ahí donde realmente puede haber posibles intrusos esperando que cometas algún error o explotando alguna vulnerabilidad.
¿Afecta a todas las VPN?
La realidad es que sí, hay que tener en cuenta que este ataque no va contra el cifrado, protocolo de VPN usado o servicio. El ataque va contra una funcionalidad que disponen todos los clientes (menos Android), y que un uso malintencionado de esta característica, lo que puede producir es que no enviemos el tráfico de red a través del túnel, sino a través de la red principal, pudiendo ser espiada por el ciberdelincuente.
Seguramente, los principales sistemas operativos empiecen a implementar el método que usa WireGuard en Linux para «aislar» las interfaces físicas, y evitar este problema con el protocolo DHCP, el cual podría hacer que se instalen rutas estáticas «maliciosas» para no enviar el tráfico por el túnel, sino fuera de él, por lo que no se cifraría el tráfico. Una gran mayoría de usuarios, concretamente los que usan Android, no están afectados porque el sistema operativo no soporta la opción 121 del protocolo DHCP, algo que sí debería soportar, pero en este caso han tenido «suerte» y no les afecta debido a esto.
Mientras vemos cómo las diferentes empresas como Microsoft con su Windows o Apple con su sistema operativo macOS se «mueven», para intentar solucionar este problema, nuestra recomendación es que tengas precaución y no te conectes a redes no confiables, ya sean cableadas o inalámbricas. Si utilizas Android podrás conectarte sin tener miedo de problemas de seguridad, porque en este caso Android está libre del fallo.