安全与密码学2021cs.uic.edu
Favicon 与缓存的故事:现代浏览器中的持久跟踪
Tales of Favicons and Caches: Persistent Tracking in Modern Browsers
进阶 · 约 45 分钟读完前置知识:浏览器缓存机制、HTTP 与 Web 存储、Web 隐私威胁模型
导读
这篇论文研究现代浏览器中的 favicon 缓存如何被滥用为一种持久化的用户追踪手段。作者指出,favicon 缓存具有持久(清除浏览数据也不会清除)、非破坏性(重新构造标识符不会改变已有缓存条目),甚至能跨越无痕模式隔离的特性,因此可用来重建跨会话的用户标识;文中还报告了 Firefox 中 favicon 缓存条目未被实际使用的 bug。
HN 关注点:浏览器里竟然存在用户无法清除的缓存,而“清除浏览数据”并不能真正清干净,这直接冲击隐私预期。
HN 评论精选
这几条评论里:质疑 2 补充 2
质疑质疑 favicon 为何单独缓存,认为浏览器 API 面过大导致隐私无法管控,且缺乏有动力的实现者。
更重要的是,现代浏览器对 favicon 的缓存有几个独特特性,使这条追踪途径格外强大:它是持久的(不受用户清除浏览数据影响)、非破坏性的(后续访问中重建标识符不会改变已有的缓存条目组合),甚至能跨越无痕模式的隔离。为什么 favicon 要单独缓存?我猜这只是商业化万维网时代之前的代码,一直没人去审查或重写。我觉得现代浏览器里的隐私是一场西西弗斯式的挣扎。它们庞大且不断扩张的 API 面,除非把浏览器拆成几个互不相关的任务、通过严格锁定的进程间通信通道交互,否则根本不可能被合理管控。现有多进程架构必须再进化一层,但考虑到主要玩家中只有 Mozilla 和 Apple 有明确的隐私动机,而且动机基础也相当薄弱(一个是营利公司,一个由营利公司资助),谁会去做这些困难的工作?
Santosh83查看英文原文
"More importantly, the caching of favicons in modern browsers exhibits several unique characteristics that render this tracking vector particularly powerful, as it is persistent (not affected by users clearing their browser data), non-destructive (reconstructing the identifier in subsequent visits does not alter the existing combination of cached entries), and even crosses the isolation of the incognito mode." Why are favicons cached separately? I assume it is just code from pre-commercial www days that no one has since bothered to examine or rewrite? I feel like privacy within modern browsers is a Sisyphean struggle. Their vast and ever-expanding API surface can never be brought under sensible control without splitting the browser into several unrelated tasks that must cross strictly locked down interprocess communication channels. The existing multi-process architecture must be taken to the next level, but who will do the difficult work involved given that of the major players only Mozilla and Apple have a stated incentive for privacy and even there their stated incentive is on fairly weak grounds since one is a profitable corporation while the other is funded by profitable corporations?
补充引用论文中 Firefox 的 bug:favicon 缓存从未被真正读取,并希望这个 bug 先别修,以免攻击在 Firefox 上生效。
论文原文提到:Firefox……但它实际上从不用缓存来获取条目。结果 Firefox 会重新发起请求去抓取缓存中已存在的 favicon。我们已向 Mozilla 团队报告此 bug,他们确认并承认了。截至投稿时这仍是未解决问题。不过我们相信一旦该 bug 修复,我们的攻击在 Firefox 上也会奏效。天哪,我希望作者报告的这个 favicon 缓存 bug 在更广泛的缓解措施实施之前不要被修掉。
angrygoat查看英文原文
"Firefox: ... However, it never actually uses the cache to fetch the entries. As a result, Firefox actually issues requests to re-fetch favicons that are already present in the cache. We have reported this bug to the Mozilla team, who verified and acknowledged it. At the time of submission, this remains an open issue. Nonetheless, we believe that once this bug is fixed our attack will work in Firefox..." Gosh, I hope the favicon cache bug the authors filed isn't fixed until a broader mitigation against this is implemented.
质疑认为“清除浏览数据”必须彻底清空所有数据,并顺带批评 Chrome 不删除自家 cookie。
竟然允许存在任何形式的无法清除的缓存,这难以置信。“清除浏览数据”必须清除所有浏览器数据,就像我全新安装浏览器、但保留设置、扩展、书签和自动填充一样。就是这样。是的,Google Chrome,你也必须删除 Google 的 cookie(他们并没有这么做)。
dannyw查看英文原文
It's unbelievable that any form of unclearable cache is allwoed to exist. "Clear Browsing Data" must clear ALL browser data, as if I was doing a completely fresh install of my browser but maintaining my settings, extensions, bookmarks, and auto-fill. That is IT. Yes, Google Chrome, you must also delete Google cookies (which they do not do).
补充补充亲历/资料:Firefox 的 browsingData API 存在缺陷,内置清除也残留缓存,只有删配置文件才可靠。
浏览器厂商并不认真对待清除浏览数据这件事,看看 Firefox 是如何实现 browsingData 扩展 API 的[1]。这些 bug 危害 Firefox 用户的安全与隐私,但多年来修复它们一直不是优先事项。Firefox 内置的清除选项也会留下一类缓存数据。唯一可靠的彻底清除方式,是在浏览器启动前删除 Firefox 配置文件目录中的特定文件。[1] https://armin.dev/blog/2019/03/firefox-extensions-browsing-data-security/
dessant查看英文原文
Browser vendors don't take clearing browser data seriously, see how Firefox has implemented the browsingData extension API [1]. These bugs compromise the security and privacy of Firefox users, but fixing them has not been a priority over the years. Built-in clearing options in Firefox will also leave classes of cached data behind. The only reliable way to wipe everything has been to delete specific files from the Firefox profile folder before the browser launches. [1] https://armin.dev/blog/2019/03/firefox-extensions-browsing-data-security/
历次讨论
- 2021Hacker News 讨论帖179 分 · 53 评
同领域还值得读
如何入侵一台已关机的电脑:在 Intel ME 中运行未签名代码
How to hack a turned-off computer, or running unsigned code in Intel ME
这篇 Black Hat 2017 白皮书讨论 Intel Management Engine(ME)的安全问题:如何在 ME 中运行未签名代码,以及攻破处于关机状态的电脑的相关…
安全与密码学2017 · 543 分 · 107 评专业 · 约 40 分钟编辑精选比特币:一种点对点的电子现金系统(2008)
Bitcoin: A Peer-to-Peer Electronic Cash System (2008)
中本聪 2008 年发表的比特币白皮书,提出了无需可信第三方的点对点电子现金系统。
安全与密码学2017 · 536 分 · 394 评入门 · 约 45 分钟编辑精选GPRS 加密算法 GEA-1 的密码分析表明存在故意弱点
Cryptanalysis of GPRS Encryption Algorithms GEA-1 suggest intentional weakness
首次公开了对 GPRS 加密算法 GEA-1 和 GEA-2 的密码分析攻击。
安全与密码学2021 · 487 分 · 107 评专业 · 约 90 分钟编辑精选Signal 消息协议的形式化安全分析
A Formal Security Analysis of the Signal Messaging Protocol
用形式化方法分析 Signal 消息协议(TextSecure)的安全性:作者在多阶段密钥交换模型下,借助自动化证明工具对协议的密钥协商与 Double Ratchet 密钥更新…
安全与密码学2016 · 353 分 · 230 评专业 · 约 120 分钟编辑精选A2:模拟恶意硬件
A2: Analog Malicious Hardware
论文研究如何在芯片设计阶段植入模拟电路形式的恶意硬件后门,使其难以被常规检测发现。
安全与密码学2016 · 315 分 · 94 评专业 · 约 75 分钟编辑精选