Articulo de referencia

Huella digital CSS

La huella digital CSS es una técnica que permite a un sitio web identificar y rastrear a los visitantes mediante CSS . Esta técnica no requiere memoria , es decir, no necesita q...

La huella digital CSS es una técnica que permite a un sitio web identificar y rastrear a los visitantes mediante CSS . Esta técnica no requiere memoria , es decir, no necesita que el sistema informático que ejecuta el navegador recuerde información. Aprovecha las diferencias entre navegadores , o consultas CSS que permiten a los programadores dirigirse a distintos sistemas, para inferir información sobre el sistema del usuario. Dado que CSS suele estar permitido en entornos donde la ejecución de código JavaScript está deshabilitada, como en los clientes de correo electrónico , tiene un mayor alcance que la mayoría de las técnicas de huella digital, que generalmente dependen de código JavaScript.

Fondo

La huella digital del navegador es un conjunto de técnicas que aprovechan las características únicas de un navegador para rastrear a un usuario. A diferencia del rastreo de estado mediante cookies , la huella digital del navegador recopila pequeñas inconsistencias y peculiaridades en el comportamiento de un navegador en particular, que a menudo dependen del hardware en el que se ejecuta y de las configuraciones utilizadas en el navegador. Estas inconsistencias se utilizan para crear un identificador único para un usuario específico. Normalmente, este proceso requiere el uso de código JavaScript que posteriormente llama a diversas API de HTML5 para generar un identificador único. [ 1 ] [ 2 ] Como resultado, las defensas modernas contra la huella digital limitan la cantidad y los tipos de código JavaScript que un sitio web puede ejecutar. En ciertos casos, extensiones como NoScript impiden directamente la ejecución de código JavaScript. [ 3 ] [ 4 ]

La huella digital CSS permite que un sitio web identifique a un usuario sin ejecutar ningún código JavaScript, eludiendo así las defensas tradicionales de identificación de usuarios. Dado que las hojas de estilo suelen estar permitidas en el contenido generado por el usuario , incluso donde la ejecución de JavaScript basada en scripts está prohibida (como en los clientes de correo electrónico ), la huella digital CSS tiene un mayor alcance que la identificación tradicional de navegadores. [ 4 ]

Técnicas

Las técnicas de huella digital CSS suelen depender del abuso de características específicas de CSS para detectar atributos del sistema a los que CSS normalmente no podría acceder. El proceso generalmente consta de dos partes: el acceso inicial a la información del sistema del usuario y la posterior extracción de dicha información. Si bien existen muchas maneras de obtener acceso a datos mediante la huella digital CSS, extraerlos exclusivamente a través de CSS es difícil, ya que el navegador no permite la generación dinámica de URL en CSS. Por consiguiente, la huella digital CSS suele basarse en realizar una solicitud de red condicional. Algunos ejemplos incluyen el uso de una imagen de fondo en un selector CSS, la recuperación de una fuente en una consulta de medios y el uso de una image-setdirectiva condicional. [ 5 ]

Un método particular de huella digital basada en CSS es la huella digital de fuentes, que se centra en detectar la presencia de fuentes específicas en el sistema de un usuario. Al revelar la presencia de ciertas fuentes, un sitio web puede inferir si el usuario ha instalado ciertas aplicaciones. Esto implica que el sitio web cargue una fuente usando la directiva CSS, [ 6 ] [ 7 ] o cargando directamente una fuente CSS aplicando la directiva font-family a un elemento HTML . [ 8 ] Al medir el tamaño del elemento cuando se aplica directamente la directiva font-family, un sitio web puede inferir la presencia de fuentes del sistema y otras aplicaciones. [ 6 ] [ 9 ] Otro ataque basado en fuentes propuesto por Heiderich et al. en 2012 se centró en cargar fuentes especialmente preparadas donde los glifos de un conjunto de letras se habían reemplazado por glifos de ancho cero. Una vez que estas fuentes se han cargado, un atacante puede aplicarlas a un elemento que contiene datos que desea filtrar. Mediante una serie de animaciones CSS y consultas de altura/anchura, el atacante puede inferir las alturas de los caracteres que no son de ancho cero, lo que permite filtrar los datos contenidos en el elemento carácter por carácter. [ 10 ] [ 6 ]@font-face

Las consultas de medios son un conjunto de directivas CSS que permiten a un sitio web consultar diferentes propiedades de una pantalla, como la altura, el ancho o si el usuario está en una interfaz de impresión. Las consultas de medios permiten a los sitios web aplicar estilos CSS de forma condicional si se cumple un conjunto particular de condiciones. [ 11 ] [ 12 ] Otras técnicas incluyen el uso de la funcionalidad integrada de CSS calc()para realizar cálculos que revelan el conjunto de instrucciones y la precisión del sistema operativo subyacente, [ 13 ] y el uso de consultas de CSS @supportspara comprobar si ciertas características de CSS están presentes en un navegador, [ 14 ] lo que puede utilizarse para identificar el navegador y la versión específicos. Otras características disponibles para CSS incluyen si JavaScript está habilitado o no y la configuración de la barra de desplazamiento , particularmente en macOS . [ 15 ]

Otra técnica que se puede utilizar para identificar a los usuarios es la detección de extensiones. Esta técnica utiliza consultas CSS para determinar la presencia o ausencia de atributos y elementos específicos inyectados por las extensiones del navegador. Algunas extensiones, como Wikiwand , modifican las páginas web inyectando hojas de estilo CSS y elementos adicionales para alterar su comportamiento. Un atacante puede explotar esta vulnerabilidad configurando un sitio web que utilice consultas de contenedores CSS para detectar estas modificaciones. Al analizar los resultados de estas consultas y compararlos con una base de datos de huellas digitales de extensiones previamente compilada, el atacante puede identificar qué extensiones tiene instaladas un usuario. Esta información le permite identificar de forma unívoca a los usuarios en función de sus extensiones instaladas. [ 16 ] [ 17 ]

Las técnicas de huella digital CSS también pueden utilizarse para extraer dinámicamente las interacciones del usuario. Un atacante puede crear código para registrar un selector CSS que se activa solo cuando el usuario escribe una cadena específica en un campo de entrada, áreas que podrían revelar información contextual sobre la página donde se cargó el CSS. Posteriormente, el selector CSS inserta una imagen de fondo en un elemento invisible para el usuario, y la solicitud URL extrae los datos de la interacción del usuario al atacante. Dependiendo de la cantidad de CSS que se cargue, el CSS malicioso también podría utilizarse como un registrador de pulsaciones de teclas que registra las pulsaciones del usuario en campos sensibles específicos. [ 18 ]

Ejemplo

El siguiente ejemplo demuestra cómo se podría utilizar la huella digital CSS para inferir información sobre la configuración del navegador de un usuario.

@media ( max- width : 600px ) {cuerpo { imagen de fondo : url ( "https://example.com/log?device=mobile" ); }}@media ( min-width : 601px ) y ( max- width : 1200px ) {cuerpo { imagen de fondo : url ( "https://example.com/log?device=tablet" ); }}@media ( min - width : 1201px ) {cuerpo { imagen de fondo : url ( "https://example.com/log?screen=laptop" ); }}

En el ejemplo, se declara un conjunto de directivas CSS que utilizan consultas de medios. Estas directivas aplican diferentes tipos de fondos al elemento `body` según el resultado de consultas sobre el ancho de la pantalla del usuario. El fondo, a su vez, realiza una solicitud a una URL remota para obtener la imagen de fondo, y la imagen elegida proporciona información sobre el tipo de dispositivo. La URL remota puede recopilar información sobre el dispositivo utilizado en función de la imagen solicitada. [ 14 ]

Referencias

Citas

Referencias

  • Heiderich, Mario; Niemietz, Marcus; Schuster, Felix; Holz, Thorsten; Schwenk, Jörg (16 de octubre de 2012). «Ataques sin scripts: Robar el pastel sin tocar el umbral» . Actas de la conferencia ACM de 2012 sobre seguridad informática y de comunicaciones . CCS '12. Nueva York, NY, EE. UU.: Association for Computing Machinery. págs. 760–771 . doi : 10.1145/2382196.2382276 . ISBN  978-1-4503-1651-4.
  • Lin, Xu; Araujo, Frederico; Taylor, Teryl; Jang, Jiyong; Polakis, Jason (1 de mayo de 2023). «Errores de moda: huellas estilísticas implícitas para eludir las defensas anti-huella digital de los navegadores». Simposio IEEE de 2023 sobre seguridad y privacidad (SP) . IEEE. págs. 987–1004 . doi : 10.1109/SP46215.2023.10179437 . ISBN  978-1-6654-9336-9.
  • Trampert, Leon; Weber, Daniel; Gerlach, Lukas; Rossow, Christian; Schwarz, Michael (2025-02-02). "Cascading Spy Sheets: Exploiting the Complexity of Modern CSS for Email and Browser Fingerprinting" . Simposio NDSS . doi : 10.60882/cispa.27194472.v3 .
  • Laperdrix, Pierre; Starov, Oleksii; Chen, Quan; Kapravelos, Alexandros; Nikiforakis, Nick (2021). «Fingerprinting in Style: Detecting Browser Extensions via Injected Style Sheets» . USENIX Security Symposium : 2507–2524 . ISBN 978-1-939133-24-3.
  • Fifield, David; Egelman, Serge (2015). «Identificación de usuarios web mediante métricas de fuentes» . En Böhme, Rainer; Okamoto, Tatsuaki (eds.). Criptografía financiera y seguridad de datos . Lecture Notes in Computer Science. Vol.  8975. Berlín, Heidelberg: Springer. pp. 107–124 . doi : 10.1007/978-3-662-47854-7_7 . ISBN  978-3-662-47854-7.
  • Nikiforakis, N.; Kapravelos, A.; Joosen, W.; Kruegel, C.; Piessens, F.; Vigna, G. (1 de mayo de 2013). «Monstruo sin cookies: Explorando el ecosistema de la identificación de dispositivos basada en la web». Simposio IEEE de 2013 sobre seguridad y privacidad . IEEE. págs. 541–555 . doi : 10.1109/SP.2013.43 . ISBN  978-0-7695-4977-4.
  • Takei, Naoki; Saito, Takamichi; Takasu, Ko; Yamada, Tomotaka (1 de noviembre de 2015). «Identificación de navegadores web mediante hojas de estilo en cascada». 10.ª Conferencia Internacional de 2015 sobre Computación, Comunicación y Aplicaciones de Banda Ancha e Inalámbricas (BWCCA) . IEEE. págs. 57-63 . doi : 10.1109/BWCCA.2015.105 . ISBN  978-1-4673-8315-8.
  • Iqbal, Umar; Englehardt, Steven; Shafiq, Zubair (1 de mayo de 2021). «Identificando a los usuarios: Aprendiendo a detectar comportamientos de identificación de navegadores». Simposio IEEE de 2021 sobre Seguridad y Privacidad (SP) . IEEE. págs. 1143–1161 . arXiv : 2008.04480 . doi : 10.1109/SP40001.2021.00017 . ISBN  978-1-7281-8934-5.

Lecturas adicionales

  • Hayes, Gareth (26 de agosto de 2025). "Exfiltración de estilo en línea: fugas de datos con condicionales CSS encadenados" . PortSwigger Research . Archivado del original el 16 de enero de 2026. Recuperado el 18 de enero de 2026 .
  • Gualtieri, Mike (6 de febrero de 2018). "Robo de datos con CSS: ataque y defensa | Mike Gualtieri" . Blog de Mike Gualtieri . Consultado el 18 de enero de 2026 .
Obtenido de " https://en.wikipedia.org/w/index.php?title=CSS_fingerprinting&oldid=1340212823 "