Tus fuentes te delatan

Una visión enfermiza sobre cómo nos monitorizan
18 Enero 2017 por juan.cortes en Formación

Tus fuentes te delatan

Introducción

Me tengo por un tipo precabido, seguro que en mayor o menor medida tú también piensas que no caerías en una red de phishing, que no pulsarías el botón equivocado navegando por internet, e incluso que eres capaz de navegar sin dejar rastro.

Pues, te equivocas.

Hay quien considera que su privacidad en línea no es vulnerada a diario. Este artículo no es para ellos sino para aquellos que, aunque todavía no hayáis actuado, veis como Facebook sabe demasiado de vuestras vidas o que, como fue el caso de la chica, el padre, amazon y el embarazo, el targeting de los anuncios que nos muestran son demasiado específicos.

Es posible que sepáis lo que es un VPN, una serie de ordenadores remotos que canalizan nuestras solicitudes en internet para evitar que nuestro proveedor sepa qué hacemos en la red, que navegues en modo incógnito cuando no quieres dejar rastro y ¡hasta que te conectes desde el wifi del vecino!

Hoy quiero hablar de algo que leí hace no mucho sobre técnicas de identificación que van más allá de la IP de vuestra conexión, más allá de cookies en el navegador, y más allá estar conectado a una cuenta de una red social.

En concreto quiero hablar de algo que suena un poco tonto y que a la mayoría de vosotros no os va a afectar directamente. Las fuentes. Las fuentes instaladas en tu sistema operativo son tan únicas como una huella dactilar, en el momento en el que instalas una, esas fuentes dejan de ser iguales a las del resto y permitirían identificarte como la misma persona en una página web, sin el uso de cookies, sin importar la IP, sin preguntarte nada. Simplemente con la ejecución de un código javascript, que no requiere de interacción del usuario.

Pero, ¿cómo funciona?

El navegador, en concreto la página que se ejecuta en el mismo, tiene acceso a cierta información sobre tu máquina: la resolución de la pantalla, el sistema operativo, plugins instalados, etc. Esta información por si sola no es suficiente para determinar si un visitante es el mismo y un mismo visitante puede instalar nuevos plugins, cambiar la resolución, etc.

Las fuentes en cambio, es algo que no andamos modificando a diario, a no ser que te dediques al diseño gráfico. Si yo compruebo si tienes instaladas 1000 fuentes en un orden concreto y creo una cadena de unos y ceros, donde 1 significa que tienes instalada la fuente y 0 significa que no. Al volver a visitar mi página puedo determinar si eres la misma persona o no, sin importarme que accedas en modo incognito, que no aceptes cookies, o uses otro navegador.

¿Como compruebas si tengo instalada una fuente?

Siguiendo la técnica descrita aqui, cada fuente tiene una longitud determinada para sus caracteres (la mayoría) y mediante un ingenioso sistema de creación de elementos invisibles en el navegador, puede determinar si una fuente está o no presente en el sistema dependiendo de las dimensiones del elemento.

Vale, ¿qué más?

La primera vez que me visitas genero un identificador único para tu configuración de fuentes, una cadena de ceros y unos 11101010011010010101 , próxima vez que me visites y genere esa cadena, será la misma si eres la misma persona.

Mientras más fuentes y parámetros comprobemos, mayor porcentaje de acierto tendrá nuestro código, y mayor probabilidad de identificar correctamente a una persona.

Demo

La demo es bastante mediocre y limitada, no la he probado demasiado y no estoy seguro de hasta qué punto funciona. Pero la tenéis aquí. La demo se limita a generar el hash, mandárselo a un archivo php que lo guarda en un .txt, y devuelve si existía o no ese hash con anterioridad.

Puesto que la muestra de fuentes que estoy utilizando es bastante reducida es posible que os detecte como reincidentes sin serlo, pero si miráis el código y ampliáis la muestra a miles de fuentes, como mencionaba arriba, el porcentaje de acierto mejora.

No pongo código, está en la demo todo.

Tenéis un listado de hashes creados en este enlace.

¿Qué puedo hacer al respecto?

Mi consejo es que no te preocupes, que no te van a pillar por tus fuentes, pero está bien que sepas que no estás seguro por usar el modo incógnito, ni por usar un VPN y que tengas cuidado al pulsar en un enlace de un correo electrónico si no estas 100% seguro de su origen...

Etiquetas: infosec, seguridad, privacidad