Hola a todos, hoy vamos a hablar sobre un tipo de huella digital del navegador: Client Rects. Ya en 2016 los usuarios comenzaron a discutir sobre esta huella, porque en esa época apareció una forma sencilla de detectarla en la herramienta de pruebas browserleaks. En ese momento, parecía que esta huella era fácil de modificar. Pero en realidad, modificarla de forma natural y que no sea detectable es mucho más difícil de lo que parece. Incluso hoy en día, la mayoría de las soluciones populares no logran modificar esta huella con alta calidad.
Primero, expliquemos qué son los Client Rects con palabras simples. Los Client Rects son una tecnología del navegador que proporciona información sobre la posición y tamaño de ciertos elementos de la página web.
Estos elementos pueden ser de diferentes tipos: campos de entrada de texto, botones, menús desplegables, tablas u otros elementos HTML.
La información sobre el tamaño incluye el ancho y la altura del elemento, medidos en píxeles.
La información de posición incluye las coordenadas de la esquina superior izquierda (left o X; top o Y) y la esquina inferior derecha (right y bottom) del elemento con respecto a la ventana del navegador.
La información recopilada se llama 'rects' (rectángulos). En la imagen a continuación, puedes ver más claramente qué significan.

Ahora analicemos en detalle cómo se recopilan los Client Rects como huella digital, tomando como ejemplo la herramienta de browserleaks.com[https://browserleaks.com/rects].

Este sitio utiliza tres elementos (String 1, 2, 3) para generar la huella. Al abrir la página, Browserleaks recoge los datos de posición (x, y, right, bottom) y tamaño (ancho y alto) de cada uno de los elementos. Como puedes ver, estos datos no son enteros, sino números de coma flotante con una precisión de hasta 16 dígitos.
Una vez recopilados los datos necesarios, Browserleaks genera un hash para cada elemento (Hash String 1, 2, 3), y luego combina estos datos en un único hash final (Full Hash), que representa la huella Client Rects.
Este es un ejemplo básico de cómo se genera esta huella. Herramientas como https://privacycheck.sec.lrz.de/active/fp_gcr/fp_getclientrects.html usan métodos más complejos con una mayor variedad de elementos HTML. Los sistemas antifraude modernos también usan métodos más avanzados para recopilar esta huella, compararla con bases de datos y combinarla con otras técnicas de rastreo e IP para identificar usuarios y bloquear cuentas múltiples.
Los sistemas antifraude pueden usar esta huella para identificar usuarios, rastrear su comportamiento y prevenir cuentas múltiples principalmente porque estos parámetros difieren ligeramente entre dispositivos. Si abres la herramienta de detección de Client Rects en dos computadoras diferentes, aunque los elementos parezcan iguales, sus valores tendrán pequeñas diferencias, lo que generará diferentes hashes individuales y un hash final distinto. Incluso una diferencia mínima de una fracción de píxel puede cambiar la huella digital.
A continuación, se muestra una comparación de las huellas Client Rects generadas en dos dispositivos con Windows 10 usando el navegador Chrome:

Esto plantea una pregunta lógica: ¿qué variables causan diferencias en estos parámetros entre dispositivos? La respuesta es simple: ¡muchas! Tipo de dispositivo, versión del sistema operativo, tarjeta gráfica, monitor, resolución, escala del sistema, tipo y versión del navegador, nivel de zoom de la página, configuraciones de fuente, etc., todo afecta estos parámetros y, por lo tanto, la huella.
Un ejemplo con Chrome: acceder desde un teléfono da una huella, desde una laptop otra; conectar una pantalla 2K da una huella, conectar una 4K da otra; cambiar de Windows 10 a 11 cambia la huella; cambiar la escala del sistema de 100% a 125% también; usar gráficos integrados o dedicados cambia la huella. Las variables son casi infinitas.
Aquí se muestran ejemplos de cómo cambia la huella Client Rects en Chrome sobre Windows 10 con diferentes niveles de escala:

Si necesitas registrar decenas, cientos o incluso miles de cuentas al mes, cambiar constantemente de dispositivo, tarjeta gráfica o resolución no es una solución viable. Por eso, lo mejor es usar un navegador antidetección avanzado que pueda enmascarar huellas con alta calidad.
Hay dos métodos principales para modificar las huellas Client Rects: extensiones del navegador y navegadores antidetección. Veamos sus ventajas y desventajas.
Usar extensiones es la forma más sencilla, pero tiene desventajas evidentes:
- Las extensiones pueden ser detectadas. Los sistemas antifraude pueden saber qué extensiones tienes instaladas. Si detectan que usas una para modificar huellas, eso es una señal de alerta.
- La calidad del enmascaramiento suele ser baja. Estas extensiones usan técnicas simples que son fácilmente detectables.
- Algunas no modifican, sino que bloquean. En lugar de cambiar los Client Rects, algunas extensiones simplemente bloquean la información, lo cual es aún más sospechoso y puede causar errores de visualización.
Las extensiones sólo sirven como protección adicional, pero no se recomiendan para multi-cuentas o uso comercial. En Firefox son populares CanvasBlocker, Trace y Chameleon; en Chrome, ClientRects Fingerprint Defender y Trace.
Usar un navegador antidetección es la forma más efectiva de modificar Client Rects hoy en día. Pero no cualquiera sirve, hay que buscar productos con tecnología madura.
La mayoría de extensiones o navegadores añaden 'ruido' (píxeles invisibles) para alterar ligeramente el tamaño de los elementos, pero esto se puede detectar fácilmente.
La nueva generación de Linken Sphere usa un método distinto: un sistema de escalado interno. Este método proporciona un enmascaramiento perfecto en alrededor del 80% de las sesiones.
A veces, basta con comparar los resultados de detección en un navegador normal y uno antidetección para ver claramente la calidad del enmascaramiento, sin necesidad de análisis técnicos.

La imagen muestra cómo se comportan Chrome, Linken Sphere 2 y otro navegador antidetección en los tests de browserleaks. Las distorsiones en los elementos son evidentes.
Recomendamos usar CreepJS como herramienta de detección. No sólo muestra si la huella está expuesta, sino también la calidad del enmascaramiento. Una vez activado el enmascaramiento, abre la pestaña “Browser” y busca el campo “lies”.

El valor de 'lies' debe ser 'none', como en la imagen de la izquierda. Si se detecta la manipulación, este campo se resaltará y mostrará el número de errores. Al hacer clic puedes ver los detalles. Los errores comunes son: Element.getClientRects, Range.getClientRects, DOMRect.height, DOMRectReadOnly.top, etc.
Aquí vemos un ejemplo de errores cuando CreepJS detecta la manipulación de Client Rects:

Ahora comparemos los resultados de CreepJS entre Linken Sphere 2 y otro navegador antidetección:

Esta herramienta permite ver claramente si el enmascaramiento fue detectado. En el caso de Linken Sphere, no se observaron problemas.
Para ser justos, las versiones anteriores de Linken Sphere no ofrecían una protección perfecta para esta huella, por eso antes sólo la recomendábamos si era realmente necesario.
Aquí comparamos el nivel de enmascaramiento de huellas entre Linken Sphere 2 y Linken Sphere 9:

En resumen: el objetivo del enmascaramiento de huellas no es sólo ser único, sino no ser detectado. Para lograrlo, necesitas productos de alta calidad con tecnologías modernas. ¡Así lograrás los mejores resultados con menos esfuerzo!