El último informe especial de FireEye aborda el tema del rastreo de usuarios que navegan con normalidad por la web. Desde hace mucho tiempo son conocidas diversas técnicas para lograr este objetivo. Evercookies, supercookies y abuso de herramientas de analítica web están a la orden del día para eliminar la privacidad de cualquiera que navegue habitualmente por la web.
Por un lado las evercookies consisten en distribuir cookies en todos los sitios que permite un navegador, de este modo, si eliminamos las cookies “normales”, todavía quedan las cookies de Flash llamadas LSO (Local Shared Object) o las cookies de HTML5 (de su web storage). El objetivo es crear persistencia para rastrear los hábitos de navegación del usuario.
Por otro lado hay supercookies que abusan del protocolo HSTS creado para que un sitio web diga a un navegador, cuando se conecta por primera vez, cómo se tiene que conectar, si a través de HTTP o HTTPS. Los navegadores contienen internamente una tabla HSTS dónde guardan estos registros en sistema binario. Un uno para conectarse a través de HTTPS o un cero para HTTP. Y esta tabla en algunos navegadores no se borra cuando eliminamos todas las cookies.
Hay un buen ejemplo de esta técnica en NakedSecurity utilizando una página simple con una imagen hospedada en varios dominios:
Unos dominios solicitan a través de HSTS que se conecte el navegador a través de HTTP o HTTPS:
La próxima vez que se conecte el navegador podrá ser identificado según el orden de peticiones HTTP o HTTPS que realice:
El enlace de NakedSecurity anterior profundiza en este tema y en radicalresearch tenemos una prueba de concepto.
Por último está el abuso de herramientas de analítica web; la resolución de nuestra pantalla, el tipo de fuente, el navegador, el sistema operativo y un largo etcétera de información que damos al conectarnos a un sitio web puede permitir que nos identifiquen uniquívocamente en un futuro.
El proyecto panopticlick encontramos una pequeña demostración de todo esto junto.
Pero, ¿Cuál es la finalidad de rastrear la navegación de un usuario normal? En muchos casos únicamente se realiza para mostrar al usuario anuncios con más precisión atendiendo a sus hábitos de consumo web. Otras veces el objetivo es hacer doxing o desenmascaramiento del perfil del usuario, es decir; averiguar su identidad real, pero volviendo al informe de FireEye, publicado este Noviembre, también se pueden esconder otros intereses más ocultos.
El estudio de FireEye se centra en un script de rastreo al que denominan WITCHCOVEN. Durante el estudio encontraron 100 páginas web legítimas que habían sido manipuladas únicamente para redirigir al usuario a otras 14 páginas web con el script de rastreo. Las páginas manipuladas eran en su mayoría de perfiles gubernamentales o de embajadas. La finalidad del script es identificar el software que utiliza el usuario y las páginas que visita. Esta información recabada se utiliza posteriormente ataques dirigidos a personas muy concretas. Quizás altos cargos o gente que trabaje con información sensible.
Las mitigaciones para protegerse contra este tipo de ataques de rastreo consisten en el bloqueo de ejecución de scripts, bloqueo de cookies de terceras partes, habilitar navegación privada o el uso de servicios de anonimización como Tor. Podemos observar cómo el navegador del proyecto Tor, el que viene con el servicio Tor integrado, nos advierte de cosas que a priori para nosotros nos pueden parecer tan normales, por ejemplo maximizar la ventana del navegador. Al realizar una acción como ésta podemos estar revelando la resolución de pantalla de nuestro equipo, que junto con otros parámetros al final crearán nuestra huella digital. Los inconvenientes de las mitigaciones son que provocan problemas de usabilidad en la navegación Web, ya que normalmente los scripts o las herramientas de analítica web se utilizan para ayudar a una correcta visualización de los contenidos en todo tipo de dispositivos, a dar una mejor experiencia de navegación al usuario, etc. Por ello, como siempre, hay que saber encontrar el equilibrio entre seguridad y usabilidad.