Cnbeta 04月08日 14:42
Google Chrome修复已存在23年的浏览器历史窃取漏洞
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

谷歌Chrome浏览器最近修复了一个存在已久的漏洞,该漏洞可能导致广告商追踪用户的浏览历史,从而推送定向广告。该漏洞利用了CSS样式表中的:visited属性,通过检测链接颜色变化来判断用户是否访问过特定页面。谷歌工程师采取了分区机制,将访问过的链接信息与上下文隔离,防止了跨域追踪。Chrome 136版本将是首个彻底解决此问题的浏览器,预计于4月23日正式发布。

🌐 漏洞原理:网页链接的颜色变化(蓝色变紫红色)可以被用来判断用户是否访问过该链接,广告商利用CSS的:visited属性,通过插入特定链接并检测颜色变化来追踪用户浏览历史。

🛡️ 修复方案:Chrome采用分区机制,将访问过的链接信息与用户最初访问的上下文(如域名、顶级域名、iframe来源)一起存储,隔离了不同网站之间的历史记录,阻止了广告商跨域追踪。

⏳ 历史问题:该安全问题已存在20多年,谷歌此前曾两次将该问题标记为无法修复,但最终决定彻底解决。Chrome 136将成为首个完全修复该漏洞的浏览器,预计在4月23日发布。

💡 技术细节:修复方案的核心在于不再维护全局的历史记录列表,而是根据用户最初访问链接的上下文进行隔离,从而限制了:visited属性的读取范围,防止被用于跨网站追踪。

虽然 Chrome 还没有 23 年历史但浏览器软件的历史更长,谷歌日前修复的漏洞理论上说涵盖所有浏览器,网络广告可以借助这个漏洞窥探用户的浏览记录,从而追踪并向用户推送定向广告。

这个漏洞说起来也比较让人难绷,通常情况下网页上的超链接使用蓝色标记标记,用户看到蓝色标记的文字或链接时就可以知道这部分是可以点击。如果用户点击该链接则通常情况下链接颜色会变成紫红色 (并非所有网站都会如此),用户回到当前页面并看到链接变成紫红色时就可以知道这个链接已经点击过。

这种设计可以通过 CSS 样式表进行控制,使用 CSS 定义:visited 值就可以实现颜色转变,此时浏览器如果检查到对应链接已经在历史记录里存在那就换成:visited 定义的新颜色例如紫色。

网络广告和能够运行脚本的第三方可以使用该技术在网页上插入特定链接,然后再检查用户浏览时该链接的颜色是否变成定义的紫色,如果颜色确实变成紫色则代表这个链接用户访问过,这意味着用户可能对这个链接呈现的内容有兴趣,可以将兴趣偏好纳入到参数里向用户提供个性化广告。谷歌软件工程师在博客中表示:

这种攻击可以揭露用户访问过哪些链接并泄露有关其网页浏览活动的详细信息,这个安全问题已经困扰整个网络 20 多年,浏览器部署了各种权宜之计来缓解这些历史监测攻击,虽然这些措施能够缓解攻击但并没有彻底消除。

比较有趣的是针对该问题其实早就有面向 Chromium 浏览器引擎的反馈,但谷歌也两次将该问题标记为无法修复因此在过去几年并未解决问题,直到现在谷歌决定彻底解决这个问题而不是当鸵鸟。

修复该更新的补丁已经在 Chrome Beta v136 版中哼,Chrome 136 正式版预计会在 4 月 23 日发布,到时候 Chrome 也会称为首个彻底解决该安全漏洞的浏览器。

至于修复方案:

以前没法修复是因为浏览器确实需要超链接变色这个功能,而该功能的运行机制也确实是浏览器需要读取历史记录进行对比。为了解决这个问题,Chrome 工程师使用分区机制对访问过的历史链接进行分区,而不是维护一个历史记录的全局列表。

简而言之分区是指将链接与点击位置的其他信息一起存储,在 Chrome 中这些信息包含链接 URL、顶级域名 (即用户访问的网站的所属主域名)、iframe 框架来源,启用分区后:visited 历史记录不再是允许任何网站都能查询的历史记录全局列表,相反,:visited 能够读取的历史记录将根据用户最初访问这个链接的上下文进行隔离,由于域名不同,跟踪器无法再通过这个机制读取非这个域名上呈现的 URL。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Chrome 浏览器漏洞 隐私保护 网络安全 定向广告
相关文章