Gibson 的指纹识别服务是否增加了更多的安全性?

信息安全 tls 网页浏览器
2021-08-24 01:14:56

我刚刚阅读了这篇文章,它提出了一种在线存储 SSL 指纹的方法,以便您可以仔细检查您的证书是否被篡改。

但它真的相关或有用吗?对我来说,它似乎并没有增加任何安全性:它让你知道你正在被窥探,但并不能保护你。此外,使用服务1似乎有点麻烦此外,关于 EV 证书的注释似乎无效,因为恶意软件只能替换浏览器二进制文件。我刚刚能够编译2我自己的 hacked firefox,它允许 GRC.com 使用我的证书显示为 EV。许多公司已经强制其员工使用经过修改的浏览器3

那么,这种指纹识别服务是否为现有系统增加了很多安全性?

1.以牺牲可用性为代价的安全,是以牺牲安全为代价的。

2. 这通常需要时间,幸运的是我有一个编译好的 FF,我可以运行增量构建。

3. 坦率地说,我只听说过一种情况,浏览器在安装中嵌入了一个插件(如 Tor 浏览器),它锁定了某些部分,但我相信还有更多

1个回答

我会说多种字体大小、颜色、框架、下划线、粗体文本、带下划线的粗体文本(看在上帝的份上!)的混合足以了解您偶然发现的那种网站。

但是,让我们抛开这些美学考虑;吉布森可能是色盲,这不是他的错。那么,让我们看看所提议的系统在技术上是关于什么的。Gibson 在他的服务器上运行一项服务。让我们调用G Gibson 的服务器。用户U想要连接到某个 SSL 服务器S,但担心他可能处于拦截器代理的范围内,该拦截器代理通过即时为S颁发假证书来运行中间人攻击(这如果受拦截器代理控制的 CA 已被推送到U浏览器的“受信任的 CA”存储中,则可能会起作用)。然后用户U连接到G, 输入目标站点S的名称;G连接到S ,获取S使用的证书,并将其返回给U这样,U可以检查他(从服务器S )看到的证书是否与从G看到的证书相同。

作为一个安全系统,它(至少)存在以下问题:

  • 由于用户U使用 SSL 连接连接到G,因此拦截器可以很容易地拦截该连接,并替换页面内容。如果上帝保佑,Gibson 的服务获得了任何不可忽略的受欢迎程度,那么代理会自动执行此操作,这会将服务的附加值降至零。Gibson 服务的基础是他的 SSL 网页可以按原样获取,没有恶意更改,但该服务试图帮助解决的情况确实是无法假定没有 SSL 网页的情况。恶意改动。这看起来自相矛盾......因为它是。

  • 额外的安全性取决于用户U可能受到恶意代理的影响,而 Gibson 的服务器G当然完全没有此类攻击,并且可以看到真实的世界。他声称:“我们使用“一级”提供商“3级”直接连接到互联网骨干网,我们与任何远程网站之间没有第三方。” 这充其量只是妄想的一厢情愿。这句话本身就是一个矛盾:“我们使用第三方提供商来发送我们的数据包,这样我们的数据包就可以到达任何远程网站,而无需通过任何第三方提供商。” 无论吉布森在连接方面支付了多少钱,他都无法控制其他网站如何连接到世界。

  • 吉布森似乎认为,尽管世界充满了令人讨厌的邪恶实体,但他当然是完全值得信赖的,他所说的只能是真理。不言而喻; 事实上,他没有说出来。但是,暂停几秒钟,如果我们选择假设我们被那些已经在我们的浏览器上拥有相当多技术能力的人“欺骗”(吉布森的术语)(插入额外受信任的 CA),那么我们为什么要信任互联网上的随机陌生人?

  • ...这使我想到了下一点,即 Gibson 的服务使用的方法似乎小心地避免采取使它更有用的一步,即签名Gibson 的服务是通过 HTTPS 进行的,所以这就是身份验证:目前,用户U可能会被说服,他确实正在查看来自G的真实页面(受上述警告的约束)。然而,他没有得到任何证据证明他可以证明。G没有签署关于他看到的证书指纹的断言。如果G被愚弄,或不诚实,或两者兼而有之,那么他可以声称从未发送过虚假信息。你为什么要相信一个没有礼貌至少承担自己责任的服务?

  • 即使系统工作正常,它也可能在正常的负载平衡系统上失败:一个给定的网站可能托管在多个前端,这些前端不一定具有相同的证书。事实上,建议每个前端都获得自己的证书,因为另一种选择是为每个前端提供相同的私钥,这意味着私钥在某个时间点经过——这绝不是一件好事。有了这样一个多前端系统,Gibson 的服务至少有一半的时间会声称拦截证明,这将是非常尴尬的(但如上所述,他的责任回避会派上用场)。

  • 可用性问题当然是一个严重的问题,仅此一项就使服务几乎毫无用处,即使我们认为否则会很好。

但是,能否挽救核心概念,解决所有这些问题?确实有可能;它被称为收敛该系统通过类似 Gibson 的服务解决了大部分问题:

  • 公开给世界的关于服务器证书的断言是由“公证人”签署的,因此他们承担责任并且不能轻易欺骗用户——至少,他们被抓的风险很高。

  • 不是一个公证人,而是很多人(至少希望如此),所以每个用户也可以选择他想要的任何公证人,而不是一个吉布森。通过构造,Convergence 的每个用户都使用多个公证人。

  • 公证人有记忆力,所以他们也会随着时间的推移跟踪证书的变化。这比 Gibson 的服务所做的基本检查要好得多,这只是暂时的。Convergence 不仅从所有公证人的角度检查服务器使用的证书是否确实相同,而且还检查该证书是否随着时间的推移而发生很大变化,因为这在启发式上是正在进行的犯规的一个很好的指示。

  • Convergence 依赖于自动检查的浏览器扩展,避免了可用性问题。

  • 该协议考虑了具有多个证书的站点,该协议具有在这种情况下避免虚假警报的特殊功能。

目前尚不清楚 Convergence 是否真的很好和有用,而且无论如何,它似乎并没有像人们希望的那样普及。但它至少避免了类似 Gibson 服务的明显缺点。


Gibson 关于 EV 证书的观点当然是虚假的。他似乎对EV 证书的魔力充满信心他声称“它们不能被欺骗”,他的推理取决于这样一种想法,即 EV 证书是根据恶意软件或邪恶系统管理员无法更改的“受信任的 EV 根”的内部列表进行验证的。但他们可以!Gibson 似乎观察到一两种情况,系统管理员(或某些恶意软件)在受信任的根存储中插入了代理控制的 CA,但没有费心去改变“受信任的 EV”存储——他由此得出结论,系统管理员无法更改“受信任的电动汽车商店”。结论是错误的。

可能,Gibson 已经支付了一些额外费用来获得漂亮的“EV”证书(实际上,它们在DigiCert的价格几乎是其两倍),由此产生了通常的迷恋。这是一种常见的心理效应:为某些服务或物品付出高昂代价的人此后会感到被投入到神圣的使命中,只要有可能就断言他们所支付的服务或物品比任何其他更便宜的替代品要好得多。这是可以理解的,另一种选择是承认他们被骗了。自欺是自尊保护自己的一种安全机制。可以说,苹果几十年前就理解了这个概念,这让他们变得非常富有。


然而,设想场景的核心问题是它最终没有意义。我们谈论的是未经其同意修改浏览器和/或操作系统的用户。确实,目前,某些组织中使用的常见“修改”是插入额外受信任的根 CA,以允许对 SSL 进行无缝中间人攻击,从而进行通常的内容检查和过滤分类。Blue Coat 的ProxySG产品经常被引用为这种方法的一个实施例。在开源世界中,我们将SSL Bump作为著名的 Squid 代理的一部分进行讨论。这些产品使用额外的受控根 CA,因为它很方便:它允许拦截服务以最小的麻烦工作。但是,这绝不意味着拦截必须使用相对于受控 CA 动态颁发的假证书。

事实上,为了推送一个额外受信任的 CA,“攻击者”(通常不是真正的邪恶的、在法律上应受谴责的攻击者,更像是某些公司中试图执行某些公司政策的系统管理员)必须在用户的机器上拥有足够的权限。使用相同的权限,相同的“攻击者”可以简单地安装一些代码,在数据被加密之前拦截所有数据;这称为挂钩它可以完全访问 SSL 数据,而无需对证书做任何事情;它甚至适用于未经修改的浏览器再多的 EV-greenness 也不会对它产生任何不利影响。


摘要:没有。没有值得一提的额外安全性。一个基本概念可以提供额外的安全性,但前提做得正确,即不是吉布森的做法。而且,即便如此,它也不会真正让受害者免受攻击者的攻击,这些攻击者的攻击力足以让 SSL 拦截一开始就起作用。