13 puntos por GN⁺ 2025-11-23 | 1 comentarios | Compartir por WhatsApp
  • El fingerprinting del navegador (browser fingerprinting) es una técnica de rastreo grave que es difícil de bloquear incluso con cookies o VPN, ya que combina información del entorno del usuario para crear un identificador único
  • Se combinan diversos elementos como el sistema operativo, la versión del navegador, el idioma, la zona horaria, las fuentes, las extensiones y el resultado del renderizado de canvas, lo que aumenta la posibilidad de identificar a una persona
  • Defensas simples como desactivar JavaScript, disfrazar el navegador o manipular canvas pueden, por el contrario, dejar pistas de identificación o romper funciones de los sitios web
  • Algunos navegadores como Brave, Mullvad y Librewolf incluyen funciones de resistencia al fingerprinting, pero una defensa completa es imposible y además provoca inconvenientes como peor usabilidad y más CAPTCHA
  • Las leyes actuales, como el GDPR, no ofrecen una base regulatoria clara, por lo que se plantea la necesidad de una nueva respuesta legislativa

Antecedentes de la aparición del fingerprinting del navegador

  • En el pasado, las cookies de terceros eran la principal amenaza para la privacidad
    • Las cookies originalmente eran un medio para mantener una conversación persistente entre el navegador y el servidor, pero las redes publicitarias las aprovecharon para vincular información del usuario entre varios sitios
    • En Europa se introdujo la obligación de aviso legal al respecto
  • A medida que los navegadores mejoraron la separación de cookies, el riesgo del rastreo con cookies disminuyó, pero el fingerprinting surgió como una nueva amenaza

Cómo funciona el fingerprinting del navegador

  • Funciona incluso sin cookies y mantiene cierta capacidad de identificación aun cuando se usa VPN
  • Combina la información básica que el navegador entrega al servidor —versión del navegador, sistema operativo, idioma, zona horaria, etc.— para generar un identificador numérico único
  • Mediante JavaScript también puede recopilar fuentes, extensiones e información de hardware adicionales
  • El canvas fingerprint usa las diferencias de píxeles cuando el navegador dibuja texto para identificar pequeñas variaciones entre sistemas
    • Su nivel de unicidad es tan alto que, entre unos 1,000 navegadores, puede haber solo uno con el mismo canvas fingerprint
  • Detalles menores como el tamaño de la ventana, el tema o la resolución también pueden usarse como pistas adicionales de identificación

Los límites de los intentos de defensa

  • Desactivar JavaScript bloquea el canvas fingerprint, pero hace que el hecho de que “JavaScript está desactivado” se convierta en una característica rara que pasa a ser otro elemento del fingerprint
  • Aunque el navegador simule ser otra plataforma (spoofing), el servidor puede inferir el entorno real a partir de otras señales
  • Técnicas sofisticadas de disfraz, como la manipulación de canvas, pueden provocar fallas en los sitios web o dejar rastros adicionales
  • Como resultado, el fingerprinting es una tecnología extremadamente difícil de bloquear, y las empresas de rastreo siguen refinándola

Respuestas parciales y límites reales

  • Sitios de prueba como amiunique.org operan en entornos más simples que los del rastreo real, por lo que reflejan poco la realidad
  • Aunque un fingerprint sea “único (unique)”, puede cambiar con el tiempo, así que no es un indicador de rastreo perfecto
  • Algunos navegadores como Brave, Mullvad y Librewolf ofrecen funciones integradas de resistencia al fingerprinting
    • Librewolf activa por defecto la función de resistencia de Firefox
    • Brave y Mullvad responden de maneras distintas
  • Sin embargo, quienes hacen fingerprinting también siguen perfeccionando sus técnicas, así que una defensa completa es imposible

Medidas que puede tomar el usuario

  • Eliminar cookies de larga duración y usar VPN son la base
    • La VPN evita exponer la IP, pero el hecho mismo de usarla puede convertirse en un elemento del fingerprint
  • Mantener el navegador en su estado predeterminado y minimizar cambios en extensiones, fuentes y temas
  • Cuanto más se use un entorno popular (Windows 11 + Chrome, por ejemplo), menor será la probabilidad de identificación
  • Aprovechar funciones integradas de protección en Mullvad, Librewolf y Firefox (con resistencia al fingerprinting activada)
  • Incluso tomando todas las medidas, la probabilidad de rastreo solo baja de aproximadamente 99% a 50%

Efectos secundarios de la resistencia al fingerprinting

  • Si se activa la resistencia al fingerprinting en Firefox o Librewolf, se producen tamaño de ventana fijo, imposibilidad de cambiar el tema y restricciones de la interfaz
  • Como el servidor no reconoce bien el navegador, aumenta la frecuencia de los CAPTCHA
  • En algunos sitios web pueden aparecer errores de color, problemas en la posición del texto y otras fallas visuales

Incertidumbre legal y necesidad de regulación

  • El GDPR tiene disposiciones sobre cookies, pero no reglas claras sobre el fingerprinting
  • La ICO del Reino Unido (Information Commissioner’s Office) evalúa negativamente el fingerprinting
  • Su legalidad no está clara, y todavía existe margen para alegar un uso razonable con fines de seguridad
  • Por ahora, la conclusión es que hacen falta nuevas leyes
  • El fingerprinting no es perceptible para el usuario, y los datos recopilados tienen un carácter de corto plazo y estadístico, pero
    se señala como un medio clave que respalda las prácticas excesivas de rastreo de la industria publicitaria

Conclusión

  • El fingerprinting del navegador es una amenaza a la privacidad difícil de detectar técnicamente y también en una zona gris legal
  • Con el nivel actual de la tecnología, una defensa completa es imposible, y se necesita más regulación legislativa y un refuerzo de las respuestas a nivel de navegador
  • Mientras continúen las prácticas de rastreo de la industria publicitaria, el entorno de internet seguirá expuesto al riesgo constante de violación de la privacidad

1 comentarios

 
GN⁺ 2025-11-23
Opiniones en Hacker News
  • Hace tiempo noté que en Chrome, cada vez que hacía clic en “no traducir este idioma”, ese idioma se agregaba automáticamente al header Accept-Language
    Aunque yo no lo configuraba manualmente, Chrome seguía incluyendo esa elección en todas las solicitudes
    Sentí que esa combinación, formada por mi propio orden único de idiomas, podía ser una señal muy útil para el fingerprinting
    Hubo una propuesta relacionada, pero no fue adoptada → propuesta reduce-accept-language

    • Me pregunto si Chrome agrega el idioma al header porque asume que, si eliges “no traducir”, entonces puedes leer ese idioma. Es una parte interesante
    • Dan ganas de hacer un PSA para decirle a la gente que no use Chrome
    • Por lo que dice la propuesta, la idea era que el navegador hiciera la negociación de idioma en lugar del sitio, pero me parece poco realista. Si un sitio es multilingüe, simplemente debería mostrarle al usuario una UI para elegir idioma
    • Me pasó el problema de que los subtítulos de YouTube aparecían en idiomas raros; entraba desde varios dispositivos, pero esto me pasaba sobre todo cuando usaba Chrome
    • Desde que Google bloqueó uBlock Origin, creo que quedó claro que Chrome y la privacidad son incompatibles
      Artículo relacionado: discusión en HN
  • Creo que la combinación Firefox + Arkenfox user.js es de lo más potente en privacidad
    Ofrece protecciones al nivel de Tor Browser, como borrado automático de cookies, falsificación de fingerprint de canvas y fijar la zona horaria en UTC
    A nivel DNS bloquea dominios de anuncios y tracking, y con uBlock Origin o uMatrix bloquea por defecto el contenido de terceros

    • Pero si poca gente usa esa configuración, entonces eso mismo termina siendo otro fingerprint
      Solo tiene sentido si mucha gente usa exactamente la misma configuración, como en Tor
      Si eres la única persona con ese enmascaramiento, en realidad destacas más
    • Me pregunto si también puede ocultar el nombre de la GPU o la IP interna expuesta por WebRTC
      Además, muchos scripts de fingerprinting se cargan desde dominios de primera parte, así que bloquearlos por completo es difícil
    • Orion Browser (Kagi) bloquea por defecto los scripts de recolección de fingerprints
      Referencia: guía de privacidad de Orion
    • Las técnicas anti-fingerprinting basadas en JavaScript pueden terminar aumentando aún más la unicidad
    • Me pregunto si la configuración de Arkenfox es más fuerte que el flag privacy.resistFingerprinting de Firefox. Da la impresión de que las funciones descritas ya se activan con ese flag
  • Con el fingerprinting muchas veces se confunden las características de identificación con el tracking
    Cambiar la zona horaria a UTC no hace imposible el rastreo
    Existen señales mucho más fuertes, como la IP o GeoIP
    Si una familia usa la misma IP pero cada persona tiene distinta configuración de navegador, de hecho se vuelve más fácil rastrearlos
    Si de verdad quieres evitar el tracking, tendrías que combinar rotación de VPN con aleatorización de headers de solicitud
    Si lo que buscas es simplemente anonimato, lo más efectivo es usar Tor Browser

  • Si quieres entender mejor cómo funciona el fingerprinting del navegador, puedes revisar un artículo que escribí
    Browser Fingerprinting Explained

    • Como el mismo fingerprint se mantiene entre distintos sitios, surge el mismo problema de privacidad que con las cookies de terceros
  • El artículo no lo mencionó, pero una herramienta temprana para diagnosticar fingerprints fue Cover Your Tracks (EFF)

    • Aunque también hay quien opina que no conviene confiar por completo en la EFF
  • Estoy de acuerdo con la idea central del artículo. El fingerprinting es una gran amenaza para la libertad individual
    Al mismo tiempo, creo que quienes crean contenido deben recibir una compensación justa
    El modelo basado en publicidad es eficiente, pero a cambio de la privacidad

    • En realidad, parece que la industria publicitaria nos engañó con la excusa de “compensar a los creadores”
      La mayoría de los blogueros no gana mucho dinero, y quienes sí ganan son las empresas de publicidad
      Creo que el internet de antes, más centrado en contenido gratuito, era más sano
    • La solución es simple: volver a los anuncios contextuales
    • El problema no es la publicidad en sí, sino el tracking
      Que me rastreen no hace que los anuncios sean más eficientes
      Más bien hace que me repitan publicidad de productos que no necesito
      Es una experiencia inquietante, como en una tienda física donde te muestran anuncios personalizados con reconocimiento facial
    • En vez de una “suscripción de 5 dólares al mes”, me pregunto si no serviría mejor un modelo de pago por vista Si el costo publicitario no estuviera incluido en el precio del producto, tal vez todo sería más barato en general
    • Si fueran posibles los micropagos anónimos, se podría resolver no solo el problema de la vigilancia, sino hasta la defensa contra DDoS
      Me imagino una estructura en la que se pague 1 centavo por página vista, y el precio suba según la carga del servidor
  • Esto me recordó un juego que hacíamos en una clase de clasificación de datos
    “¿Cuántas preguntas de sí/no hacen falta para identificar a todas las personas en esta sala?”
    De esa misma forma, el fingerprint del navegador va acotando a las personas con unas pocas señales
    Por ejemplo, la combinación “Linux + Firefox + monitor izquierdo” ya reduce el conjunto a decenas de miles de personas

    • Pero si las preguntas están muy correlacionadas entre sí, la cantidad de información disminuye
      Por ejemplo, “¿cabello largo?” y “¿mujer?” contienen información parecida, así que casi no añaden bits extra
      En cambio, una pregunta como “¿metalero?” da mucha información cuando la respuesta es “sí”, porque es poco común
    • También surgió la duda simple de si “¿no deberían ser solo preguntas de sí/no?”
  • El núcleo del problema es que dejamos como predeterminado un modelo en el que JavaScript llama y ejecuta otro JavaScript
    Stallman tenía razón

    • Pero más que JS en sí, creo que el problema más grande es que tecnologías como WebRTC o WebGL se ejecutan sin permiso y se aprovechan para recolectar fingerprints
    • Mientras más años pasan, más me doy cuenta de hasta qué punto RMS era un guerrero de la libertad
    • Aun así, muchos scripts de fingerprinting se ejecutan desde dominios de primera parte como Cloudflare o Akamai, así que no se soluciona simplemente bloqueando JS
    • El navegador funciona como un soldado tonto que mete un caballo de Troya
    • Bloquear JS por completo no es una alternativa realista porque rompería la mitad de la web. Además, el fingerprinting también es posible sin JS
  • Si quieres revisar qué información expone tu navegador, el sitio Am I Unique? es útil

  • Para que un fingerprint sea útil, no solo necesita unicidad, sino también persistencia
    Si instalaras y desinstalaras fuentes al azar cada vez, ¿no sería imposible vincular a tu yo de hoy con tu yo de mañana?

    • Pero según investigaciones, incluso cuando el fingerprint cambia con el tiempo, todavía se puede estimar que es el mismo usuario con 99.1% de precisión
      Referencia: PDF de investigación de la EFF, explicación de Mullvad
    • En la práctica, solo se puede comprobar si ciertas fuentes específicas están instaladas; no se puede obtener la lista completa
      La API queryLocalFonts de Chrome requiere un popup de permisos
    • Si envías un fingerprint demasiado irreal, eso mismo puede convertirse en otro fingerprint por detección de falsificación
      Cómic relacionado: xkcd 1105
    • Al final vuelven a vincularte con cookies, fingerprints de curva elíptica del handshake SSL, y clasificación de personas anónimas basada en GDPR/CCPA
      Hoy en día, durante la carga de la página y en menos de 5 ms, ya deciden a qué tipo de persona perteneces
      Aun así, la mayoría de las plataformas de datos elimina automáticamente los datos después de 90 días para mantener el cumplimiento de GDPR