聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
谷歌正在修复一个由来已久的隐私问题,可导致网站通过此前访问过的链接来判断用户的浏览历史。
问题出在允许网站将链接显示为 ‘: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 也使用了限制并通过激进的隐私防火措施如“智能追踪防御”等缓解泄露风险,但也并未通过分区拦截所有攻击。
代码卫士试用地址:https://codesafe.qianxin.com
开源卫士试用地址:https://oss.qianxin.com
推荐阅读
Firefox 存在严重漏洞,类似于 Chrome 已遭利用0day
Chrome 131 更新修复高危内存安全漏洞,其中1个获奖5.5万美元
原文链接
https://www.bleepingcomputer.com/news/security/chrome-136-fixes-20-year-browser-history-privacy-risk/
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~