El rastreo del historial de navegación es un tipo de vulnerabilidad y ataque web que permite a un sitio web obtener información sobre el historial de navegación de un usuario, registrando qué sitios web ha visitado y cuáles no. Esto se logra aprovechando problemas de fuga de información inherentes al diseño de la plataforma web, uno de los más conocidos de los cuales consiste en detectar cambios en los atributos CSS de los enlaces que el usuario ya ha visitado.
A pesar de conocerse desde 2002, el rastreo del historial de navegación sigue siendo un problema sin resolver. En 2010, investigadores revelaron que varios sitios web de gran repercusión habían utilizado esta técnica para identificar y rastrear a los usuarios. Poco después, Mozilla y los principales navegadores web implementaron medidas de protección contra el rastreo del historial. Sin embargo, investigaciones recientes han demostrado que estas medidas son ineficaces contra ciertas variantes del ataque, y que el rastreo del historial aún puede producirse a través de los enlaces visitados y las nuevas funciones del navegador.
Fondo
Los primeros navegadores, como Mosaic y Netscape Navigator, se basaban en el modelo de la web como un conjunto de documentos enlazados estáticamente, conocidos como páginas. En este modelo, tenía sentido que el usuario supiera qué documentos había visitado previamente y cuáles no, independientemente de qué documento hiciera referencia a él. [ 1 ] Mosaic, uno de los primeros navegadores web gráficos, utilizaba enlaces morados para indicar que una página había sido visitada y enlaces azules para indicar que no lo había sido. [ 2 ] [ 3 ] Este paradigma se mantuvo y posteriormente fue adoptado por todos los navegadores web modernos. [ 4 ]
Con el paso de los años, la web evolucionó desde su modelo original de contenido estático hacia un contenido más dinámico. En 1995, los empleados de Netscape añadieron un lenguaje de scripting, JavaScript , a su navegador web insignia, Netscape Navigator. Esta adición permitió a los usuarios añadir interactividad a la página web mediante la ejecución de programas JavaScript como parte del proceso de renderizado . [ 5 ] [ 6 ] Sin embargo, esta adición trajo consigo un nuevo problema de seguridad: estos programas JavaScript podían acceder al contexto de ejecución de otros y a información confidencial sobre el usuario. Como resultado, poco después, Netscape Navigator introdujo la política del mismo origen . Esta medida de seguridad impedía que JavaScript pudiera acceder arbitrariamente a datos en el contexto de ejecución de una página web diferente. [ 7 ] Sin embargo, aunque la política del mismo origen se extendió posteriormente para abarcar una gran variedad de características introducidas antes de su existencia, nunca se extendió para abarcar los hipervínculos, ya que se consideró que perjudicaba la capacidad del usuario para navegar por la web. [ 4 ] Esta omisión inocua se manifestaría en una de las formas más conocidas y antiguas de rastreo histórico conocidas en la web. [ 8 ]
Historia

Uno de los primeros informes divulgados públicamente sobre una vulnerabilidad de rastreo de historial fue realizado por Andrew Clover de la Universidad de Purdue en una publicación de la lista de correo BUGTRAQ en 2002. La publicación detallaba cómo un sitio web malicioso podía usar JavaScript para determinar si un enlace dado era de un color específico, revelando así si el enlace había sido visitado previamente. [ 9 ] Si bien inicialmente se pensó que esto era una vulnerabilidad teórica con poco valor en el mundo real, una investigación posterior de Jang et al. en 2010 reveló que sitios web de alto perfil estaban utilizando esta técnica en la práctica para revelar datos de navegación de los usuarios. [ 10 ] Como resultado, se presentaron múltiples demandas contra los sitios web que se descubrió que habían utilizado el rastreo de historial alegando una violación de la Ley de Fraude y Abuso Informático de 1986. [ 8 ]
Ese mismo año, L. David Baron, de Mozilla Corporation, desarrolló una defensa contra el ataque que posteriormente adoptarían todos los navegadores principales. Esta defensa incluía restricciones sobre qué tipos de atributos CSS podían utilizarse para dar estilo a los enlaces visitados. Se prohibió la posibilidad de añadir imágenes de fondo y transiciones CSS a los enlaces. Además, los enlaces visitados se tratarían de forma idéntica a los enlaces estándar, con interfaces de programación de aplicaciones (API) de JavaScript que permitían al sitio web consultar el color de elementos específicos, devolviendo los mismos atributos para un enlace visitado que para los enlaces no visitados. Esto garantizaba que los sitios web maliciosos no pudieran simplemente inferir el historial de navegación de una persona consultando los cambios de color. [ 11 ]
En 2011, una investigación realizada por Jonathan Mayer, entonces estudiante de posgrado de Stanford, descubrió que la empresa de publicidad Epic Marketplace Inc. había utilizado la técnica de rastreo de historial para recopilar información sobre el historial de navegación de los usuarios en la web. [ 12 ] [ 13 ] Una investigación posterior de la Comisión Federal de Comercio (FTC) reveló que Epic Marketplace había utilizado código de rastreo de historial como parte de anuncios en más de 24 000 dominios web, incluidos ESPN y Papa Johns . El código JavaScript permitía a Epic Marketplace rastrear si un usuario había visitado alguno de los más de 54 000 dominios. [ 14 ] [ 15 ] Los datos resultantes fueron utilizados posteriormente por Epic Marketplace para categorizar a los usuarios en grupos específicos y mostrar anuncios basados en los sitios web que el usuario había visitado. Como resultado de esta investigación, la FTC prohibió a Epic Marketplace Inc. realizar cualquier tipo de publicidad y marketing en línea durante veinte años y le ordenó eliminar permanentemente los datos que había recopilado. [ 16 ] [ 15 ]
Modelo de amenazas
El modelo de amenaza del rastreo del historial se basa en que el adversario pueda dirigir a la víctima a un sitio web malicioso total o parcialmente bajo su control. El adversario puede lograr esto comprometiendo una página web previamente segura, engañando al usuario con phishing para que acceda a una página web que le permita cargar código arbitrario, o utilizando un anuncio malicioso en una página web que, de otro modo, sería segura. [ 8 ] [ 17 ] Si bien la mayoría de los ataques de rastreo del historial no requieren interacción del usuario, algunas variantes específicas necesitan que los usuarios interactúen con elementos particulares que a menudo pueden disfrazarse como botones, juegos de navegador, CAPTCHA y otros elementos similares. [ 4 ]
Variantes modernas
A pesar de haber sido parcialmente mitigado en 2010, el rastreo del historial de navegación sigue considerándose un problema sin resolver. [ 8 ] En 2011, investigadores de la Universidad Carnegie Mellon demostraron que, si bien las defensas propuestas por Mozilla eran suficientes para prevenir la mayoría de los ataques no interactivos, como los encontrados por Jang et al. , eran ineficaces contra los ataques interactivos. Al mostrar a los usuarios letras, números y patrones superpuestos, que solo se revelarían si un usuario hubiera visitado un sitio web específico, los investigadores lograron engañar a 307 participantes para que potencialmente revelaran su historial de navegación mediante el rastreo del historial. Esto se hizo presentando las actividades en forma de problemas de resolución de patrones, juegos de ajedrez y CAPTCHAs. [ 18 ] [ 4 ]
En 2018, investigadores de la Universidad de California en San Diego demostraron ataques de temporización que podían eludir las medidas de mitigación implementadas por Mozilla. Al explotar la API de pintura CSS (que permite a los desarrolladores dibujar una imagen de fondo mediante programación) y atacar la caché de código de bytes del navegador, los investigadores pudieron medir el tiempo que tardaba en dibujarse enlaces específicos. De esta manera, pudieron proporcionar técnicas probabilísticas para identificar sitios web visitados. [ 19 ] [ 20 ]
Desde 2019, se han detectado múltiples ataques de rastreo de historial dirigidos a diversas funciones nuevas que ofrecen los navegadores. En 2020, Sánchez-Rola et al. demostraron que, al medir el tiempo que tarda un servidor en responder a una solicitud con cookies HTTP y compararlo con el tiempo que tarda un servidor en responder sin cookies, un sitio web podría realizar rastreo de historial. [ 17 ] En 2023, Ali et al. demostraron que las funciones de navegador recientemente introducidas también podrían ser utilizadas indebidamente para realizar rastreo de historial. Un ejemplo particularmente notable fue que una función introducida recientemente, la API de tokens privados, introducida bajo la iniciativa Privacy Sandbox de Google con la intención de prevenir el seguimiento de usuarios, podría permitir a actores maliciosos extraer datos de navegación de usuarios utilizando técnicas similares a las utilizadas para ataques de fuga entre sitios . [ 21 ]
Referencias
- ↑ "WorldWideWeb: Propuesta para un proyecto de hipertexto" . www.w3.org . Archivado del original el 29 de junio de 2023. Consultado el 15 de noviembre de 2023 .
- ↑ "¿Por qué los hipervínculos son azules? | El blog de Mozilla" . blog.mozilla.org . Archivado del original el 15 de noviembre de 2023. Consultado el 15 de noviembre de 2023 .
- ↑ "Mensaje por correo electrónico" . ksi.cpsc.ucalgary.ca . Archivado del original el 15 de noviembre de 2023. Consultado el 15 de noviembre de 2023 .
- 1 2 3 4 Weinberg, Zachary; Chen, Eric Y.; Jayaraman, Pavithra Ramesh; Jackson, Collin (2011). "Sigo sabiendo qué visitaste el verano pasado: filtraciones del historial de navegación mediante la interacción del usuario y ataques de canal lateral". Simposio IEEE de 2011 sobre seguridad y privacidad . IEEE. págs. 147–161 . doi : 10.1109/SP.2011.23 . ISBN 978-1-4577-0147-4. S2CID 10662023 .
- ↑ "JavaScript 1.0 – 1995" . www.webdesignmuseum.org . Archivado del original el 7 de agosto de 2020. Consultado el 19 de enero de 2020 .
- ↑ "Bienvenido a Netscape Navigator versión 2.0" . netscape.com . 14 de junio de 1997. Archivado del original el 14 de junio de 1997. Consultado el 16 de febrero de 2020 .
- ↑ "Manual de Netscape 3.0: temas avanzados" . netscape.com . Archivado del original el 8 de agosto de 2002. Consultado el 16 de febrero de 2020.
Navigator versión 2.02 y posteriores impiden automáticamente que los scripts de un servidor accedan a las propiedades de los documentos de un servidor diferente.
- 1 2 3 4 Van Goethem, Tom; Joosen, Wouter; Nikiforakis, Nick (12 de octubre de 2015). "El reloj sigue corriendo: ataques de temporización en la web moderna" . Actas de la 22.ª Conferencia ACM SIGSAC sobre seguridad informática y de comunicaciones . CCS '15. Nueva York, NY, EE. UU.: Association for Computing Machinery. págs. 1382–1393 . doi : 10.1145/2810103.2813632 . ISBN 978-1-4503-3832-5. S2CID 17705638 .
- ↑ "Bugtraq: Divulgación de páginas visitadas en CSS" . seclists.org . Archivado del original el 16 de noviembre de 2023. Consultado el 16 de noviembre de 2023 .
- ↑ Jang, Dongseok; Jhala, Ranjit; Lerner, Sorin; Shacham, Hovav (4 de octubre de 2010). «Un estudio empírico de los flujos de información que violan la privacidad en aplicaciones web JavaScript» . Actas de la 17.ª conferencia ACM sobre seguridad informática y de comunicaciones . CCS '10. Nueva York, NY, EE. UU.: Association for Computing Machinery. págs. 270-283 . doi : 10.1145/1866307.1866339 . ISBN 978-1-4503-0245-6. S2CID 10901628 .
- ↑ "Cambios relacionados con la privacidad en CSS:visited – Mozilla Hacks – el blog para desarrolladores web" . Mozilla Hacks – el blog para desarrolladores web . Archivado del original el 7 de junio de 2023. Consultado el 16 de noviembre de 2023 .
- ↑ "Rastreando a los rastreadores: Para atrapar a un ladrón de historia" . cyberlaw.stanford.edu . 19 de julio de 2011. Archivado del original el 16 de noviembre de 2023. Consultado el 16 de noviembre de 2023 .
- ↑ Goodin, Dan. "Un especialista en marketing aprovecha una vulnerabilidad del navegador para comprobar si estás embarazada" . www.theregister.com . Archivado del original el 16 de noviembre de 2023. Consultado el 16 de noviembre de 2023 .
- ↑ "La orden final de la FTC prohíbe a Epic Marketplace 'hurgar en el historial'"" . JD Supra . Archivado del original el 16 de noviembre de 2023 . Recuperado el 16 de noviembre de 2023 .
- 1 2 "Acuerdo de la FTC pone fin a la 'recopilación de historial' por parte de una red de publicidad en línea acusada de recopilar datos de consumidores de forma engañosa" . Comisión Federal de Comercio . 5 de diciembre de 2012. Archivado del original el 16 de noviembre de 2023. Recuperado el 16 de noviembre de 2023 .
- ↑ Gross, Grant (5 de diciembre de 2012). "La FTC de EE. UU. prohíbe a una empresa de publicidad rastrear el historial de navegación" . Computerworld . Archivado del original el 16 de noviembre de 2023. Recuperado el 16 de noviembre de 2023 .
- 1 2 Sanchez-Rola, Iskander; Balzarotti, Davide; Santos, Igor (22 de diciembre de 2020). "Cookies del pasado: Sincronización del código de procesamiento de solicitudes del servidor para el rastreo del historial" . Amenazas digitales: investigación y práctica . 1 (4): 24:1–24:24. doi : 10.1145/3419473 . hdl : 20.500.14454/3917 . S2CID 229716038 .
- ↑ Kikuchi, Hiroaki; Sasa, Kota; Shimizu, Yuta (2016). "Ataque interactivo de rastreo de historial con la lotería Amida". 2016 10.ª Conferencia Internacional sobre Servicios Móviles e Internet Innovadores en Computación Ubicua (IMIS) . IEEE. pp. 599–602 . doi : 10.1109/IMIS.2016.109 . ISBN 978-1-5090-0984-8. S2CID 32216851 .
- ↑ Haskins, Caroline (2 de noviembre de 2018). "Los ataques de 'espionaje' de la vieja escuela aún pueden revelar tu historial de navegación" . Vice . Recuperado el 30 de octubre de 2023 .
- ↑ Smith, Michael; Disselkoen, Craig; Narayan, Shravan; Brown, Fraser; Stefan, Deian (2018). "Historial del navegador {re:visitado}" . Offensive Technologies. Usenix Workshop. 12.º 2018. (Woot'18) . S2CID 51939166 .
- ↑ Ali, Mir Masood; Chitale, Binoy; Ghasemisharif, Mohammad; Kanich, Chris; Nikiforakis, Nick; Polakis, Jason (2023). "Navegando por aguas turbias: Pruebas automatizadas de características del navegador para descubrir vectores de seguimiento (ABTUTV)" . Actas del Simposio de Seguridad de Redes y Sistemas Distribuidos de 2023. Reston, VA: Internet Society. doi : 10.14722/ndss.2023.24072 . ISBN 978-1-891562-83-9. S2CID 257502501 .
- vulnerabilidades de seguridad web
- Privacidad en Internet
- Vulnerabilidades de seguridad web del lado del cliente