aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
阅读:1032回复:5

又一种新指纹

楼主#
更多 发布于:2017-02-22 21:16
https://www.bleepingcomputer.com/news/security/firefox-users-fingerprinted-via-cached-intermediate-https-certificates/
这次被利用的是 firefox 缓存的中级证书
泄漏的信息为日常访问的加密网页所使用的证书提供者
可以用以配合其他指纹更精确地描绘你这个个体的特征
可以破 private 模式,去匿名化
甚至可以用以伪装恶意负载
谋智要先遥测收集数据看影响多少人
再决定是否修复此问题
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-05-09
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
1楼#
发布于:2017-02-22 23:22
在 ghacks 也看到了,新的技术带来了便利,也被一些人利用了。
Firefox More than meets your experience
文科
千年狐狸
千年狐狸
  • UID39959
  • 注册日期2013-10-17
  • 最后登录2019-07-27
  • 发帖数2069
  • 经验1328枚
  • 威望4点
  • 贡献值340点
  • 好评度256点
  • 最爱沙发
  • 社区居民
  • 忠实会员
2楼#
发布于:2017-02-23 13:17
这意思难道是影响的人少就不修复了?
taoww
非常火狐
非常火狐
  • UID39284
  • 注册日期2013-03-18
  • 最后登录2024-05-16
  • 发帖数634
  • 经验580枚
  • 威望0点
  • 贡献值110点
  • 好评度104点
3楼#
发布于:2017-02-23 20:05
顶楼的翻译有些问题,很容易误导人,像楼上就被误导了。我来解释一下,如果我的理解有错误欢迎指出。

绝大多数情况下的证书信任链是:根证书->中级证书->站点证书。浏览器最初只知道根证书。当你访问https站点时,网站服务器应该把中级证书和站点证书一起发送给浏览器,才能构成信任链。但现在有些站点服务器没配置好,只发送了站点证书,无法构成信任链。

按理说这样对网站的访问会被阻止。但由于firefox会长期存储中级证书,所以即使当前网站没发送中级证书过来,只要你以前访问过使用了相同中间证书且配置正确的其他网站,firefox仍然会认为信任链完好,会放行对当前网站的访问。

所以有心人可以故意去访问那些配置有问题的站点,从而得知你是否访问过使用了相同中间证书的其他站点,但光从这个信息无法知道具体是哪个网站。

这个问题的解决方案有三条路
1、通知那些配置有问题的网站的管理员修正错误。但很显然这个不太现实
2、禁止对中级证书的存储。
3、保留中级证书的缓存的同时阻止没发送中级证书的站点。

现在tor浏览器就是默认不将中级证书存到硬盘上,所以这个问题只会影响到它的单次会话,影响没firefox那么大。

而缓存中级证书,个人认为是为了避免对相同中间证书的重复验证,从而提升处理速度。但在当今主流硬件上,这个验证过程也耗不了多少资源。所以mozilla想搞个遥测,看看对中级证书的缓存的存在与否到底对用户的浏览体验有多大影响,再决定采用方案2还是3
凭枰
狐狸大王
狐狸大王
  • UID32865
  • 注册日期2010-05-17
  • 最后登录2021-08-29
  • 发帖数536
  • 经验489枚
  • 威望1点
  • 贡献值226点
  • 好评度50点
  • 社区居民
  • 忠实会员
4楼#
发布于:2017-02-23 20:39
taoww:顶楼的翻译有些问题,很容易误导人,像楼上就被误导了。我来解释一下,如果我的理解有错误欢迎指出。

绝大多数情况下的证书信任链是:根证书->中级证书->站点证书。浏览器最初只知道根证书。当你访问https站点时,网站服务器应该把中级证书和...
回到原帖
就是所谓 incomplete cert chain ?
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
5楼#
发布于:2017-02-23 20:49
我不觉得我的翻译存在误导
只是没有具体到技术细节
另外
我给了原文链接
相关 bugzilla 在原文中全部提供了

> 所以有心人可以故意去访问那些配置有问题的站点,从而得知你是否访问过使用了相同中间证书的其他站点,但光从这个信息无法知道具体是哪个网站。
https://shiftordie.de/blog/2017/02/21/fingerprinting-firefox-users-with-cached-intermediate-ca-certificates-fiprinca/
TLDR: Firefox caches intermediate CA certificates. A third-party website can infer which intermediates are cached by a user. To do this, it loads content from incorrectly configured hosts (missing intermediate in the provided certificate chain) and observes whether they load correctly (yes: corresponding intermediate was cached, no: it was not). Check out my proof of concept using more than 300 intermediate CAs. This technique can be used to gain a fingerprint for a user but also leaks semantic information (mainly geographical). Since Private Browsing mode does not isolate the cache, it can be used to link a Private Browsing user to her real profile. Furthermore, attackers could force users to visit correctly configured websites with unusal intermediates and thus set a kind of supercookie.

这个攻击本身并不关注用户是否访问过某个具体的网站
只关注用户是否缓存了某个/某些中级证书
可以据此推断出用户的浏览习惯
或是用以辅助进行其他攻击

> 通知那些配置有问题的网站的管理员修正错误
光这么做阻止不了有心人利用这个漏洞

所以可选解决方案应该是
* 完全禁止中级证书的缓存
* 直接内建当前全部中级证书(很不实际)
* 启用缓存,同时阻止发送错误证书的请求
* 启用缓存,但仅仅分隔普通浏览和 private 浏览
* 完全不修复(bug 1334485 c14)

> 而缓存中级证书,个人认为是为了避免对相同中间证书的重复验证,从而提升处理速度
缓存中级证书的目的是为了当错误配置的服务器仅发送了网站证书时
可以有机会利用缓存的中级证书来找到一条通往内置根证书的完整证书链
而不直接给出 SSL 警告 unknown issuer
不是避免重复验证
见 bug 629558

遥测的目的就是看有多少网站错误配置
bug 1336226
游客

返回顶部