Detección de fugas de IP por WebRTC: de bug a función
Las sondas STUN/TURN de WebRTC revelan las IP reales tras las VPN. Cómo convertimos una fuga de privacidad en una señal de detección de fraude.
WebRTC —Web Real-Time Communication— se diseñó para permitir videollamadas, compartición de archivos y transferencia de datos peer-to-peer directamente en el navegador. Para establecer estas conexiones, los navegadores necesitan descubrir sus propias interfaces de red y negociar la conectividad con los pares remotos. Este proceso implica servidores STUN (Session Traversal Utilities for NAT) y TURN (Traversal Using Relays around NAT) que ayudan a los navegadores a descubrir sus direcciones IP públicas y a atravesar los cortafuegos NAT.
El efecto secundario es potente: incluso cuando un usuario se conecta a través de una VPN, la pila WebRTC del navegador puede revelar la dirección IP real tras el túnel. Esto ocurre porque los candidatos ICE (Interactive Connectivity Establishment) de WebRTC incluyen direcciones de las interfaces de red locales que la VPN no oculta.
Cómo funciona la fuga
Cuando un navegador crea una RTCPeerConnection y reúne candidatos ICE, consulta a los servidores STUN para descubrir su IP de cara al exterior. Pero también enumera las interfaces de red locales, incluida la IP privada del adaptador físico. Si la VPN solo hace túnel del tráfico en la capa de IP pero no configura la pila WebRTC del navegador para usar exclusivamente la interfaz del túnel, la IP real se filtra a través del candidato host.
En tracio.ai, sondeamos este comportamiento con cuidado. Nuestro sistema IP Intelligence crea una petición STUN controlada y analiza los candidatos ICE que devuelve el navegador. Cuando la IP pública de STUN difiere de la IP que vemos en nuestro servidor, señalamos una VPN o un proxy. Cuando la IP de la interfaz local revela un rango de red privada que contradice la supuesta ubicación geográfica, aumentamos la puntuación de sospecha.
De bug a señal de detección
La mayoría de los navegadores centrados en la privacidad han parcheado esta fuga: Chrome requiere permiso explícito del usuario para WebRTC, y Firefox ofrece ajustes para desactivar el UDP no proxificado. Pero la carrera armamentística continúa: algunos clientes de VPN no configuran WebRTC correctamente, las versiones antiguas de navegador siguen siendo vulnerables y el propio patrón de comportamiento de una respuesta WebRTC «parcheada» frente a una «con fuga» es en sí mismo una señal útil.
Nuestro enfoque trata la respuesta de WebRTC como una señal compuesta: la presencia de candidatos host, el número de candidatos ICE devueltos, los tipos de candidatos (host, srflx, relay) y la temporización de respuesta contribuyen todos a la huella del dispositivo. Incluso cuando no se filtra ninguna IP, el patrón de comportamiento de WebRTC es distintivo.
Sondeo de servidores TURN
Más allá de STUN, también sondeamos el comportamiento de los servidores TURN. Los relays TURN se usan normalmente cuando fallan las conexiones peer-to-peer directas, algo común en las redes corporativas tras cortafuegos estrictos. La respuesta de asignación de TURN revela información sobre la ruta del relay: el protocolo de transporte (UDP frente a TCP frente a TLS), la dirección del relay y la duración de la asignación.
Nuestro sistema SignalProbe envía peticiones de asignación de TURN cuidadosamente elaboradas a nuestros propios servidores de relay. El tiempo de respuesta, los transportes admitidos y los patrones de éxito o fallo de la asignación varían según el entorno de red y proporcionan diversidad de señal adicional para la huella digital de dispositivos.
Consideraciones de privacidad
Queremos dejarlo claro: tracio.ai no explota las fugas de WebRTC para desanonimizar a los usuarios. Nuestro sistema detecta cuándo se está usando una VPN y lo reporta como una señal de riesgo. Nunca almacenamos ni exponemos la dirección IP filtrada. La señal es binaria: «VPN detectada con inconsistencia de WebRTC» o «comportamiento de WebRTC coherente con una conexión directa».
Este enfoque da a los equipos de prevención del fraude la información que necesitan —un visitante está ocultando su ubicación real— sin comprometer la privacidad individual. La señal ayuda a detectar ataques de fraude coordinados en los que varias cuentas se originan desde la misma ubicación oculta.