Saltar al contenido principal
es/blog/obscura/research/conclusions/

obscura/research/conclusions

7 min de lectura

Meta-Conclusión (2026-07-08)

Después de un análisis exhaustivo del fingerprinting de navegadores — examinando FingerprintJS (44 vectores), BrowserLeaks (15+ herramientas), EFF Cover Your Tracks, fingerprints de capa de red (TCP, TLS, HTTP/2, QUIC) y vectores a nivel de hardware — las siguientes conclusiones informan el diseño de Obscura.


Resumen del Inventario de Vectores

Categoría Vectores Totales Controlable por Proxy Parcial Incontrolable
Red y Protocolo 13 3 6 4
HTTP y Headers 12 11 1 0
APIs JavaScript / DOM 44 29 13 2
Características del Navegador ~100+ 0 ~10 ~90+
Sistema y Hardware 15 6 4 5
Comportamiento 8 1 4 3
Total Distintos ~60+ únicos ~50 ~38 ~100+

Cobertura realista: El proxy controla ~55% de la superficie de fingerprint. El ~45% restante son hardware, comportamiento o características inherentes del navegador.


Evaluación de Impacto por Capa

Capa 1: Red y Protocolo — ALTO IMPACTO, Controlable

Vector Controlable Prioridad para Obscura Método
Fingerprint TLS (JA3/JA4) Crítica utls (Go) / Rust TLS personalizado
Fingerprint HTTP/2 Parcial Alta Control personalizado de tramas SETTINGS
Headers HTTP (12 vectores) Alta Reescritura de headers en el proxy
DNS Alta Resolver local + listas de bloqueo
Fuga de IP por WebRTC Alta Inyección JS para bloquear RTCPeerConnection
Pila TCP/IP No Baja Pila del contenedor heredada
QUIC/HTTP/3 Bloquear Media Bloquear UDP 443
Ataques de temporización Parcial Baja Redondear performance.now()

Capa 2: APIs JavaScript — IMPACTO MEDIO, Parcialmente Controlable

29 vectores totalmente falsificables mediante inyección JS:

  • navigator.userAgent, platform, language, languages
  • navigator.hardwareConcurrency, deviceMemory
  • screen.width, height, colorDepth, pixelDepth, availTop/Left
  • navigator.cookieEnabled, webdriver
  • Intl.DateTimeFormat zona horaria
  • navigator.vendor, vendorFlavors
  • navigator.architecture, pdfViewerEnabled
  • Apple Pay, Private Click Measurement
  • Media queries (prefers-reduced-motion, color-gamut, etc.)
  • localStorage, sessionStorage, indexedDB, openDatabase

13 vectores parcialmente falsificables:

  • Canvas — la inyección de ruido es detectable
  • WebGL — puede bloquear debug_renderer_info, no el renderizado
  • Audio — puede aplanar la salida, la variación de hardware permanece
  • Fuentes — puede redondear mediciones, no eliminar la enumeración
  • Plugins — puede anular, pero limitado
  • Bloqueadores DOM — detectables

2 vectores no falsificables:

  • Fingerprint matemático FPU — comportamiento de punto flotante hardware
  • Latencia base de audio — pila de audio hardware

Capa 3: Características del Navegador — BAJO IMPACTO, Incontrolable

~100+ pruebas de soporte de características (WebGL, WebGPU, WebUSB, Service Workers, etc.) son inherentes al navegador. No pueden cambiarse a nivel de proxy.

Mitigación: El bloqueo DNS de dominios de fingerprinting conocidos evita que muchos scripts de detección de características se carguen.

Capa 4: Hardware y Sistema — BAJO IMPACTO, Incontrolable

Modelo de GPU, características de CPU, hardware de audio, diseño de teclado, fuentes instaladas — estas son propiedades del sistema local que el proxy no puede modificar.

Capa 5: Comportamiento — FUERA DE ALCANCE

Movimientos del ratón, dinámica de teclado, patrones de desplazamiento, duración de sesión — la biometría del comportamiento está fuera del control de cualquier proxy.


Hallazgos Clave

1. La Falsificación del Fingerprint TLS es Innegociable

Si Obscura termina TLS (requerido para MITM), el servidor ve la pila TLS del proxy. Sin falsificación, el destino detecta inmediatamente que hay un proxy en uso. Esta es la característica más crítica.

2. La Consistencia Interna es Obligatoria

Cada señal debe coincidir con el mismo perfil:

Perfil: "Chrome 120 / Windows 11"
   User-Agent: Chrome 120 en Win11
   Sec-CH-UA-Platform: "Windows"
   JA3: Chrome 120 Win11
   HTTP/2 SETTINGS: valores de Chrome
   timezone: coincide con locale Win11
   screen: resolución típica de Win11
   platform: "Win32"

La inconsistencia es en sí misma un fingerprint.

3. El Bloqueo DNS es la Mayor Rentabilidad

Bloquear fingerprintjs.com, *.metrics.* y dominios de rastreo evita que los scripts de fingerprinting se carguen por completo. Esta es la protección más simple y más efectiva.

4. Canvas/WebGL/WebGPU son los Problemas Difíciles

Estos se renderizan en el hardware local. El proxy puede:

  • Bloquear las APIs de información de depuración (modelo de GPU oculto)
  • Inyectar ruido en la salida del canvas (detectable por comparación)
  • No controlar el renderizado de píxeles real

Tor Browser resuelve esto haciendo que todos los usuarios sean idénticos (rompe WebGL por completo). Obscura no puede igualar esto a nivel de red.

5. QUIC/HTTP/3 Debe Bloquearse

QUIC está cifrado de extremo a extremo. Si se permite, el tráfico evita el proxy por completo. Bloquear UDP 443.

6. WebRTC Debe Bloquearse

WebRTC evita el proxy mediante STUN. Bloquear mediante inyección JS anulando RTCPeerConnection.


Principios de Diseño


  1. Consistencia sobre exhaustividad: Un conjunto más pequeño de señales perfectamente consistentes supera a una protección amplia pero inconsistente.



  2. Bloquear sobre falsificar: Si un vector no puede falsificarse de forma fiable (canvas, audio), bloquéalo en lugar de filtrar datos parciales. Bloquear es detectable pero filtra menos información.



  3. Defensa en profundidad: Bloqueo DNS (detiene la carga de scripts) + falsificación de headers (capa HTTP) + falsificación TLS (capa de transporte) + inyección JS (capa de API del navegador) — cada capa añade protección.



  4. Cerrar en caso de fallo: Cuando haya incertidumbre, bloquear. Siempre preferir la prevención de pérdida de privacidad sobre la funcionalidad.



  5. Actualizaciones periódicas de perfiles: Los navegadores lanzan nuevas versiones mensualmente, cambiando los fingerprints. Los perfiles deben actualizarse o Obscura se vuelve detectable.



  6. Diversidad de perfiles: Diferentes perfiles para diferentes contextos (trabajo, personal, similar a incógnito) previene la correlación entre contextos.



Alcance para Obscura v1

[MVP]
  Falsificación de headers HTTP          (todos los headers, 12 vectores)   
  Falsificación de fingerprint TLS       (JA3/JA4 mediante utls)          
  Bloqueo DNS                            (gestión de listas de bloqueo)      
  Bloqueo WebRTC                         (inyección JS)              
  Falsificación de Navigator API         (29 vectores JS)             
  Bloqueo QUIC                           (descarte UDP 443)              
  3-5 perfiles de identidad              (Chrome, Firefox, Safari)   
  Interfaz web                           (TS + CSS, gestión de perfiles)    

[Post-MVP]
  Inyección de ruido en Canvas           (mejor esfuerzo)              
  Bloqueo de información de depuración WebGL (parcial)                  
  Bloqueo de AudioContext                (parcial)                  
  Falsificación de fingerprint HTTP/2    (SETTINGS personalizados)          
  Editor de perfiles personalizado       (funcionalidad UI)               
  Estadísticas de tráfico                (panel)                
  Reducción de enumeración de fuentes    (redondeo de mediciones)     

Evaluación Final

Aspecto Veredicto
Viabilidad Viable como una mejora significativa de privacidad
Definitividad No definitivo — ninguna herramienta puede serlo
Singularidad Único — no existe ninguna herramienta de red multi-capa anti-fingerprint
Cobertura de Vectores ~55% controlable, ~45% fuera de alcance
Mantenimiento Medio-Alto — los perfiles TLS/HTTP necesitan actualizaciones
Impacto en Rendimiento Bajo-Medio — MITM añade latencia
Experiencia de Usuario Alta — transparente para los dispositivos finales
Despliegue Simple — contenedor Docker, configurar una vez

Palabra Final


Obscura vale la pena construirlo como una capa de privacidad práctica que aumenta significativamente el costo del fingerprinting, no como una bala de plata. Su valor único es la protección multi-capa en toda la red sin configuración por dispositivo — algo que ninguna herramienta existente proporciona.



"La privacidad perfecta es imposible. La privacidad significativa no lo es."