Chrome更改了其缓存系统的工作方式以改善隐私
本周发布的Chrome 86引入了以隐私为重点的新“缓存分区”机制。
Google更改了Chrome浏览器的核心组件的工作方式,以便为其用户添加其他隐私保护。
这个Chrome组件被称为 HTTP缓存 或 共享缓存,它通过保存网页上加载的资源(例如图像,CSS文件和JavaScript文件)的副本来工作。
这个想法是,当用户重新访问同一网站或访问使用相同文件的另一个网站时,Chrome将从其内部缓存中加载它们,而不是浪费时间重新下载每个文件。
自Internet诞生以来,此组件不仅存在于Chrome内部,而且已存在于所有网络浏览器中,它是一种节省带宽的功能。
在所有浏览器中,缓存系统通常都以相同的方式工作。缓存中保存的每个图像,CSS或JS文件都会收到一个存储密钥,通常是资源的URL。
例如,图像的存储密钥将是图像URL本身: https://x.example/doge.png。
当浏览器加载新页面时,它将在其内部缓存数据库中搜索密钥(URL),并查看是否需要下载图像或从缓存中加载图像。
旧的HTTP缓存系统易于滥用
不幸的是,这些年来,网络广告和分析公司意识到,该非常相同的功能也可能被滥用来跟踪用户。
Google的开发倡导者北村荣二(Eiji Kitamura)表示:“从性能的角度来看,这种机制长期以来一直运作良好。
“但是,网站响应HTTP请求所花费的时间可以表明浏览器过去曾经访问过相同的资源,这使浏览器容易受到安全和隐私攻击。”
这些包括:
检测用户是否访问过特定站点:攻击者可以通过检查缓存是否具有特定于特定站点或特定站点的资源来检测用户的浏览历史记录。
跨站点搜索攻击:攻击者可以通过检查特定网站使用的“无搜索结果”图像是否在浏览器的缓存中来检测用户的搜索结果中是否包含任意字符串。
跨站点跟踪:缓存可用于存储类似cookie的标识符,作为跨站点跟踪机制。
在CHROME 86中激活了缓存分区
但是随着本周早些时候发布的Chrome 86, 谷歌已经对该机制进行了重要的更改。