Contexto: El término huella digital de sitios web (website fingerprinting) se refiere a una clase de técnicas para identificar el sitio web al que un usuario está navegando, mediante el análisis del tráfico cifrado entre la computadora del usuario y un servidor intermedio, como una VPN o un nodo de Tor. Esto funciona porque el tráfico de datos contiene patrones reconocibles debidos a la composición y otras características únicas de cada página web. La identificación suele hacerse mediante modelos de clasificación. Algunas defensas contra la huella digital de sitios web se basan únicamente en el uso de paquetes de relleno, es decir, la inyección de paquetes adicionales en el tráfico de datos para cambiar sus patrones. Tales defensas se conocen como defensas sólo relleno.

Tor ha implementado un circuit padding framework en su código C. El framework representa defensas sólo relleno por medio de autómatas finitos no deterministas, en los cuales eventos describen lo que sucede en la conexión y acciones resultan en que paquetes de relleno se envíen. Sin embargo, el sistema tiene limitaciones en cuanto a las defensas que pueden ser implementadas en él — hay incluso algunas defensas sólo relleno que se encuentran en esta categoría — y estudios previos ilustran que sería deseable incluir funciones tales como la introducción artificial de atrasos para aumentar la protección contra ataques y posibilitar la implementación de más defensas. El sistema Maybenot tiene su base en estas ideas. Es una biblioteca Rust que puede ser incluida en cualquier aplicación y ofrece herramientas para implementar defensas de relleno y atrasos con autómatas probabilísticos.

Descripción: En el artículo uso Maybenot para evaluar el potencial de los autómatas en general para la implementación de defensas contra el análisis de tráfico. El proyecto se lleva a cabo en el contexto de Arti, una versión Rust de Tor que está en desarrollo — en la cual se incluirá un sistema para la implementación de defensas (se puede leer más aquí). Me enfoco en las herramientas que se necesitan para construir un sistema que posibilite la implementación de defensas efectivas y destaco consideraciones importantes en el proceso de diseño así como algunos retos. Mi conclusión es que varios posibles sistemas se deben explorar antes de que se escoja una solución, porque es más difícil — por lo menos desde una perspectiva burocrática — reemplazar un sistema que construirlo desde cero. También doy recomendaciones para mejorar Maybenot que ya se han realizado en la versión 2.

Aquí encuentras el artículo