Estudio de caso de fugas 2: fugas WebRTC

[ware_item id=33][/ware_item]

Sus direcciones IP públicas forman parte de la identidad de un individuo en la web, lo que permite a los sitios, aplicaciones y terceros rastrear su actividad en la web y asociarla con ese individuo específico. Con una VPN, los sitios ven la dirección IP pública del servidor VPN en lugar de la del usuario, protegiendo su identidad.


Sin embargo, WebRTC a veces puede permitir que los sitios web vean la dirección IP pública del usuario, lo que representa una fuga que compromete la privacidad. Este estudio de caso de nuestro laboratorio de investigación de privacidad describe cómo se producen fugas de WebRTC y cómo probarlas utilizando las herramientas de prueba de fugas ExpressVPN.

Descripción general de WebRTC

WebRTC es un conjunto de tecnologías abiertas que permite a las páginas web proporcionar comunicaciones punto a punto (P2P) a través de un navegador web. La mayoría de los navegadores modernos ahora son totalmente compatibles con el estándar WebRTC.

WebRTC, entre otras cosas, ofrece a los navegadores web la capacidad de detectar tanto las direcciones IP públicas de un usuario como sus direcciones IP locales. Esta capacidad es clave para facilitar las comunicaciones P2P usando solo navegadores web, sin aplicaciones o complementos adicionales.

Fugas de WebRTC

Las fugas de WebRTC son una forma de fuga de IP. Las páginas web pueden usar las API de JavaScript WebRTC para solicitar al navegador las direcciones IP de un dispositivo. Una vez que hayan reunido estas direcciones IP, pueden enviarlas a sus servidores y usarlas para identificar quién está accediendo a una página web o servicio en particular..

La mayoría de las aplicaciones VPN protegen eficazmente contra la fuga de direcciones IPv4 a través de WebRTC, sin embargo, muchas aplicaciones VPN tienden a pasar por alto las direcciones IPv6 que se filtran de la misma manera.

¿Cómo detecta WebRTC las direcciones IP??

WebRTC utiliza dos técnicas principales para determinar las direcciones IP de un dispositivo: servidores STUN / TURN y Host Candidate Discovery.

ATURDIR / GIRAR los servidores descubren las direcciones IP verificando qué dirección IP pública se usa para acceder a ellas. Por lo general, estas no son la causa de las fugas de IP VPN.

Descubrimiento del candidato anfitrión es más problemático cuando se trata de fugas WebRTC. Esta funcionalidad permite a los navegadores inspeccionar directamente su sistema y las interfaces de red y ver qué direcciones IP están asociadas con ellos..

Todas las interfaces de red activas en un dispositivo necesitan direcciones IP para funcionar. Por ejemplo, para una conexión Wi-Fi activa habrá una interfaz de red correspondiente en un dispositivo. Esta interfaz a su vez tendrá una dirección IP.

WebRTC puede revelar estas direcciones IP, que normalmente no se podían ver externamente al dispositivo, a páginas web.

¿Por qué son problemáticas las fugas de IPv6??

Las direcciones IPv4 son escasas, ¡simplemente no hay suficientes para todos! Por lo general, las direcciones IPv4 se comparten entre las personas. Para hacer esto, se utiliza un sistema llamado Network Address Translation (NAT). Este sistema permite que los dispositivos asignen direcciones "IPv4 locales" a sus interfaces de red mientras comparten una dirección IP pública común, generalmente a través del ISP. Millones de computadoras de todo el mundo utilizan estas direcciones IP locales de forma global y son difíciles de dirigir asociadas a un individuo específico.

El problema con IPv6 es que las direcciones no son escasas. Hay un lote ¡de ellos! Esto significa que a las personas individuales generalmente se les asigna una dirección IPv6 única. Cuando dicha dirección IPv6 se asigna a una interfaz de red, significa que WebRTC puede descubrir una dirección IP que identifica quién es usted, incluso si esa dirección IP normalmente no es visible para el mundo exterior.

¿Qué tipos de fugas hay??

Hay dos tipos de fugas WebRTC, de diferente gravedad. A qué usuario puede ser vulnerable depende de si otorga permisos específicos relacionados con WebRTC a una página web. En ambos casos, una buena VPN debería proteger de las fugas..

Tenga en cuenta que los fabricantes de navegadores pueden usar diferentes métodos para implementar WebRTC, por lo que es posible que un navegador se filtre y otro no, incluso con la misma configuración de dispositivo y proveedor de VPN.

Fugas persistentes (no se requieren permisos)

Por defecto, las páginas web no tienen permisos de WebRTC. Sin embargo, todavía es posible que las páginas accedan a algunas de las direcciones IP de un usuario utilizando las API de WebRTC. En estas situaciones, los sitios web pueden rastrear fácilmente al usuario a través de sus direcciones IP sin su conocimiento.

Fugas activadas (se requieren permisos)

Las páginas web pueden solicitar explícitamente permisos para usar la funcionalidad relacionada con WebRTC. Estos permisos se clasifican en realidad como Micrófono y Cámara permisos La razón de esto es que WebRTC es una tecnología orientada a la comunicación P2P, como llamadas de voz o videoconferencias..

Cuando se otorga cualquiera de estos permisos, la página web obtiene acceso a un rango más amplio de direcciones IP en el dispositivo, lo que hace posible una fuga. En algunos navegadores, esos permisos persisten en las sesiones, es decir, si un usuario ha otorgado permisos a la página web una vez, la página web conserva esos permisos cuando el usuario regrese a la página en el futuro.

Tenga en cuenta que las páginas web individuales deben tener permisos por separado, por lo que otorgar permisos para un sitio no otorga permisos para otro.

Si bien estas filtraciones son menos graves que las filtraciones persistentes anteriores, ya que requieren la concesión activa de permisos por parte del usuario, aún consideramos que son motivo de preocupación. WebRTC está creciendo en popularidad y los usuarios pueden esperar ver más y más sitios utilizando la tecnología en los próximos años. Si una VPN no oculta las direcciones IP cuando un usuario concede permisos a un sitio, solo le quedan dos opciones:

  • No utilizar sitios y servicios habilitados para WebRTC
  • Acepte los riesgos de seguridad y privacidad asociados con la exposición de su dirección IP

Prueba de fugas

Estas pruebas se pueden realizar en cualquier computadora de escritorio. Cuando realice pruebas de fugas, le recomendamos que tenga IPv6 disponible en su dispositivo de prueba, ya que esta es la situación más probable en la que los proveedores de VPN tienen fugas.

Prueba manual

Puede probar las fugas manualmente con nuestra prueba de fugas WebRTC en línea.

Repro Steps

  • Asegúrese de que la página de prueba de fugas sea cerrado
  • Asegúrese de que su aplicación VPN esté desconectado
  • Visite la página de prueba de fugas WebRTC
  • Tome nota de todo público Direcciones IP que ve en la salida de prueba
    • Se mostrarán con sus Estado como "fuga potencial"
  • Cierre la página de prueba de fugas.
  • Conéctate a tu VPN
  • Vuelva a abrir la página de prueba de fugas WebRTC
  • Si ve alguna de las direcciones IP que acaba de anotar arriba, entonces tiene una fuga

Tenga en cuenta que le pedimos explícitamente que cierre la página de prueba de fugas para evitar problemas de almacenamiento en caché del navegador. Muchos navegadores almacenan en caché las IP detectadas a través de WebRTC, por lo que la recarga de la página web no es una forma confiable de ejecutar la prueba.

Tenga en cuenta que esta página de prueba solo prueba la clase de fugas más severa, es decir, las "Fugas persistentes" discutidas anteriormente. Para probar si tiene fugas cuando se otorgan permisos a su navegador, le sugerimos que use las siguientes herramientas de prueba de fugas.

Prueba con las herramientas de prueba de fugas ExpressVPN

Las herramientas de prueba de fugas ExpressVPN son un conjunto extensible de herramientas Python de código abierto diseñadas para pruebas de fugas manuales y automáticas de aplicaciones VPN. Consulte nuestra introducción a las herramientas para obtener instrucciones sobre cómo descargarlas y configurarlas..

Una vez que haya configurado las herramientas, asegúrese de estar en el directorio raíz de herramientas y ejecute:

./run_tests.sh -c configs / case_studies / webrtc_leaks.py

Este comando ejecutará dos casos de prueba en varios navegadores. Ambos casos de prueba son en gran medida una automatización de los pasos manuales descritos anteriormente y hacen lo siguiente:

  • Asegúrese de que la aplicación VPN bajo prueba esté desconectada
  • Determine las direcciones IPv4 e IPv6 públicas del dispositivo.
  • Conecte la aplicación VPN
  • Utilice una página web de prueba de fugas simplificada para recopilar IP de WebRTC
  • Compruebe si alguna de las IP públicas reunidas antes de conectarse son visibles a través de WebRTC después de conectarse

Una prueba buscará fugas persistentes cuando no se otorguen permisos de navegador, la otra prueba buscará fugas cuando los permisos son concedido.

Nota: Puede ajustar los navegadores que se utilizan cambiando el NAVEGADORES lista en el webrtc_leaks.py archivo.

Estudio de caso de fugas 2: fugas WebRTC
admin Author
Sorry! The Author has not filled his profile.