聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
问题出在允许网站将链接显示为 ‘:visited(已访问)’,如果用户此前点击过该链接,则会显示区别于默认蓝色链接的其它颜色。不管用户点击该链接时位于哪个网站,系统都会显示这一颜色变化,从而导致其它网站使用创造性脚本来泄露用户的浏览历史。
该问题不仅在理论上对用户构成隐私风险,还引入了可导致追踪、画像和钓鱼等安全风险。研究人员在此前浏览过的链接中展示了多种攻击类型,包括定时攻击、像素、用户交互和进程级别的攻击。将要发布的 Chrome 136版本将对“已访问”链接执行三键分区。Chrome 不会全局存储链接访问,而是通过三个键即链接URL(链接目标)、顶层网站(地址栏域名)和框架来源(渲染该链接的框架来源),对每个已访问链接进行分区。这就确保链接仅会在同样的站点和相同的框架来源上显示 “:visited”,从而消除跨站历史泄露问题。
为保持可用性,谷歌还添加了“self-links(自链接)”例外,这样即使用户从其它网站点击了链接,网站上仍然会标记为已访问。网站已知晓用户所访问的网页,因此该例外不会引入不必要的历史泄露问题。谷歌表示,完全消除 :visited 筛选器将会清除有价值的 UX 提示,因此并未这么做。另外一个被否决的解决方案是使用基于许可的模型,原因是通过操纵网站可轻松绕过甚至滥用它。
新的 :visited 隔离在 Chrome 132 中作为实验性特性引入,将会在即将发布的 Chrome 136上默认启用。
从 Chrome 132到135版本(最新),用户可在地址栏中输入 chrome://flags/#partition-visited-link-database-with-self-links 启用该特性并将选项设置为“启用”。该特性尚不稳定,因此可能并不适用于所有场景。
在其它主流浏览器中,:visited 风格风险仍然并未完全解决。火狐限制了适用于 :visited 的风格并拦截 JavaScript 进行读取,但并未通过分区将它们与复杂的攻击向量进行隔离。Safari 也使用了限制并通过激进的隐私防火措施如“智能追踪防御”等缓解泄露风险,但也并未通过分区拦截所有攻击。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...