En el mundo actual de la tecnología, los sistemas antifraude utilizan métodos cada vez más sofisticados para detectar actividades fraudulentas. Uno de los parámetros importantes para singularizar a los usuarios y analizar sus dispositivos son las fuentes instaladas en el sistema. Veamos cómo pueden utilizarse las fuentes en la lucha contra el fraude, su papel en la identificación de dispositivos, las técnicas de suplantación de identidad y los métodos de detección de falsificaciones. ###### Historia y papel de las fuentes en los navegadores Las fuentes utilizadas por los dispositivos son una característica clave que afecta a la visualización de las páginas web. Los navegadores proporcionan información sobre los tipos de letra disponibles a través de las API de CSS y JavaScript, lo que permite a los sitios web adaptar la visualización de los contenidos al sistema del usuario. En los sistemas antifraude, las fuentes se utilizan para la unicidad, ya que el conjunto de fuentes instaladas puede variar significativamente en función del dispositivo, el sistema operativo, la versión y las aplicaciones instaladas. ###### Métodos para la obtención de datos sobre fuentes 1. **CSS Font-Family Fallback**. Utiliza el estilo font-family para determinar si el texto se muestra utilizando la fuente especificada. Si el navegador no soporta la fuente, utiliza la fuente por defecto. 2. 2. **Identificación de Canvas**. Utiliza la API CanvasRenderingContext2D para renderizar texto y medir sus dimensiones para determinar si una fuente está presente. Este es un método popular para crear una «huella digital» de un dispositivo. 3. **Consultas CSS para soporte de fuentes**. Usando [@font-face](# «@font-face») y propiedades CSS, puedes comprobar la disponibilidad de fuentes. 4. **Enumeración de fuentes basada en JavaScript**. JavaScript permite comprobar la disponibilidad de fuentes midiendo la anchura y la altura del texto utilizando diferentes fuentes. ###### Cómo se utilizan las fuentes en antiface 1. **Unificación del usuario** Los tipos de letra instalados pueden variar en función del sistema operativo, el software instalado y la configuración del usuario. Esto crea una «huella digital» única del dispositivo. 2. **Detección de falsificaciones** Si los estafadores utilizan navegadores antidetección, el conjunto de fuentes disponibles puede no coincidir con la plataforma declarada en el User-Agent. 3. **Comparación con otros parámetros** Por ejemplo, los sistemas antifraude pueden comparar el conjunto de fuentes disponibles con los datos de Canvas o WebGL para encontrar incoherencias. ###### Métodos de suplantación de fuentes y su detección 1. **Emulación o suplantación del conjunto de fuentes** Los atacantes pueden utilizar software para cambiar la lista de fuentes disponibles. Sin embargo, estas sustituciones pueden detectarse analizando el tamaño del texto renderizado o el comportamiento de otras API. 2. **Bloqueo de fuentes** Algunos navegadores o plugins pueden ocultar la lista de fuentes para dificultar su identificación. Pero estos intentos también crean patrones sospechosos. 3. **Detección de sustitución** Los sistemas antifraude utilizan correlaciones entre los conjuntos de fuentes y otras características del sistema, como la plataforma o la arquitectura del procesador. Veamos ejemplos de cómo los sistemas obtienen información sobre los tipos de letra. Abramos la página browserleaks.com/fonts  En Font Metrics: Fingerprint, el sitio muestra el hash MD5 de las métricas de todas las fuentes encontradas en nuestro navegador. El sitio encontró 146 fuentes de las cuales 112 contienen tamaños únicos. En la sección Informe, podemos ver las dimensiones, anchura y altura de la cadena comprobada con caracteres «mmmMMMMMMMMMMMMmmmlllllllmmmLLL₹▁₺₸ẞॿmmmiiimmmIIImmmwwwmmmWWW» para cada una de las fuentes. El sitio comprueba más de 1.400 fuentes conocidas y las busca en el navegador del usuario. En la sección Unicode Glyphs: Fingerprints, el sitio muestra un hash MD5 derivado de los resultados de renderización de los caracteres especiales Unicode. A continuación se ofrece información detallada sobre el tamaño de cada uno de los caracteres comprobados para diferentes familias de fuentes. Veamos un ejemplo de recuperación de fuentes en nuestra página de prueba test-webapi.tech/glyph abra la página en el navegador Chrome y espere los resultados de la prueba:  Esta página dibuja un gran número de caracteres y símbolos para cada una de las fuentes y genera un hash MD5 para cada una de las fuentes detectadas, después se genera un hash MD5 total a partir del hash de todas las fuentes y el número de fuentes encontradas en el navegador del usuario. También en la página de un ejemplo hay una variante de prueba de detección del sistema y navegador del usuario, que consiste en la estimación de los valores MD5-hash de algunas fuentes. En nuestro ejemplo, el sitio detectó no 146 sino 227 fuentes y determinó que estamos utilizando el sistema operativo Windows y un navegador con el motor Chromium. Repitamos la prueba en nuestro navegador antidetección sin sustitución de fuentes:  Como resultado, obtuvimos un hash MD5 diferente del navegador real, menos fuentes, el sitio identificó nuestro sistema como Windows Server y un navegador con el motor Chromium. Intentemos cambiar el conjunto de fuentes en el navegador antidetección y repitamos la prueba:  En esta prueba, el navegador anti-detect ha sustituido un conjunto de fuentes, el número de fuentes es el mismo que el navegador Chrome original, pero el hash MD5 global es diferente al del navegador original, lo que significa que los tamaños de las sílabas de algunas fuentes son diferentes. De esta forma podemos identificar a los usuarios con bastante precisión por el conjunto de fuentes y sus métricas. Probemos a abrir nuestra página en el navegador Firefox:  Nuestra página de prueba identifica por la letra de la fuente que estamos utilizando el navegador Firefox. Tenga en cuenta que los tamaños de los caracteres de la fuente Arial en el navegador Firefox son diferentes de los tamaños de los caracteres de la misma fuente en el navegador Chrome. Repitamos la prueba en dispositivos móviles:  Observa que el navegador Chrome para móviles devuelve los mismos valores para la mayoría de las fuentes. Observa también que la representación de las fuentes es diferente en los mismos dispositivos y en la misma versión de los navegadores, lo que nos permite singularizar a los visitantes con bastante precisión, sobre todo utilizando los datos adicionales de los que hablamos en nuestros artículos anteriores. Intentemos probar el navegador antidetección utilizando un perfil de dispositivo móvil:  Como resultado de esta prueba, vemos que el navegador antidetección añade fuentes que coinciden con las del dispositivo móvil, pero los valores métricos de algunas fuentes coinciden con los de la versión de escritorio del navegador. El sitio ha determinado que estamos utilizando Windows Server, que no coincide en absoluto con un dispositivo móvil Android. Así es también como los sistemas antifraude pueden obtener información sobre las fuentes del sistema en el navegador. Veamos ejemplos de los navegadores Chrome y Firefox en dispositivos de sobremesa y móviles: **Chrome de sobremesa**  **Escritorio Firefox**  **Android Chrome**  **Android Firefox**  Como resultado de esta prueba, podemos ver que las familias de fuentes y los tamaños de fuente del sistema del navegador son diferentes en los distintos dispositivos y navegadores. Así es como los sitios pueden determinar el tipo de dispositivo y motor de navegación utilizados. ###### Conclusión Las fuentes de los navegadores son una poderosa herramienta para los sistemas antifraude. Se utilizan para crear «huellas dactilares» únicas de los dispositivos y detectar actividades fraudulentas. Su análisis en combinación con otros parámetros como Canvas y WebGL hace que los algoritmos de los sistemas antifraude sean más fiables. *Bannykh M.V.*