修复 Heartbleed 时如何使用 Internet?

119 security internet-security heartbleed

有很多网站谁是不是目前脆弱的,但我不知道,如果他们在几天前脆弱。

例如:

  • twitter.com:目前不易受到攻击,但证书来自 UTC 2014 年 3 月 5 日星期三 00:00:00
  • google.com:目前不易受到攻击,但证书来自 UTC 2014 年 3 月 12 日星期三 09:53:40
  • bankofamerica.com:目前不易受到攻击,但证书来自 UTC 2013 年 12 月 5 日星期四 00:00:00

我该怎么办?在重新发行之前不使用这些吗?我怎么知道他们用新密钥重新颁发证书?似乎我什至不应该登录这些网站来更改我的密码,因为无法知道它们是真正的网站。

Jac*_*cob 201

更新 2014-04-11

Cloudflare 设置了一个挑战来验证私钥提取实际上是可能的。它已经完成了大约 10 万个请求,它验证了恐惧。它不再是理论上的,而是被证明的。你可以去这里阅读它。

此外,彭博社报道说,美国国家安全局已经知道这个漏洞至少两年了。这是有道理的,因为 NSA 有资源聘请分析师,他们的唯一工作是在此类软件中寻找漏洞。现在我们知道美国政府已经利用它很长时间了,其他国家知道并利用它的可能性很大。


TL;DR 注意组织关于其系统状态的公告,更改 您的所有密码,并注意重要帐户(如银行或其他金融系统)的欺诈/可疑活动。

要了解情况为何如此危险,我们首先必须了解这种攻击的实际作用。CVE-2014-0160,又名 Heartbleed,是一个缓冲区溢出漏洞,允许攻击者从运行易受攻击的 OpenSSL 版本的服务器获取高达 64 kB 的内存。

这听起来真的很糟糕。它在实践中如何运作

你是对的,这是一个严重的缺陷,但我们稍后会回到这个问题。现在让我们谈谈漏洞利用的原因。传输层安全(TLS) 被许多应用程序用于保护信息,包括HTTP ( HTTPS ) 或保护SMTP例如,如果启用。在为 TLS 设定标准的 RFC 5246 中,有一个称为心跳的功能。客户端和服务器来回发送一些数据以保持连接处于活动状态,以便以后可以使用。现在在实践中,客户端将发送一些数据,服务器将其发送回,一切都很好。然而,在受影响的 OpenSSL 版本中,没有检查客户端是否实际发送了它所说的数据量。因此,如果我发送 1 个字节并告诉服务器我实际上发送了 64 kB,那么它会很高兴地将 64 kB 发送给我。那些其他字节来自哪里?这就是问题的关键。OpenSSL 将向您发送 64 kB - 进程有权访问的 1 个字节的内存,而您最初没有发送,具体取决于您的 1 个字节的存储位置。私钥材料¹和服务器正在解密以使用的信息。例如:密码、信用卡信息和/或PIN

好的。这对信息安全意味着什么? 如果您了解非对称加密的工作原理,那么您已经知道这很严重,因为披露只会使加密变得模糊不清。这意味着即使服务器可能被修补并且不再泄漏内存,会话仍然可能不安全。这可能是在公开之前或在进行修补时被利用的,但目前没有方法证明发生了攻击。IDS 的规则可能会变得可用,但截至目前情况并非如此。 IDS 规则已经发布。这本身是极其危险的,因为运营商不知道他们的密钥是否仍然安全。

我们被迫假设密钥已泄露,这意味着您通过网络发送的所有内容都有可能被第三方解密。缓解这种情况的唯一方法是重新生成密钥并在撤销旧证书的同时重新颁发新证书。不幸的是,这需要时间,因为毫无疑问,现在CA被这些请求淹没了。这仍然存在中间人攻击或其他网络钓鱼机会的可能性。

什么时候会安全? 知道什么时候会安全是一个棘手的问题。我建议关注的一些事情是公开声明,说明该错误已在他们的环境中修补,或者他们从来没有受到攻击,因为他们从未使用过受影响的版本。当他们宣布他们已升级到新版本的 OpenSSL 时,我会确保他们使用的是在漏洞公开发布日期(2014年 4月 7 日)之后签署的新证书。

**请注意,如果私钥后来泄露,之前记录的流量可能会被解密。

作为用户,我可以做些什么来保护自己

在接下来的几天里,如果您可以避免使用在线银行或在线医疗图表访问等关键网站,我建议您这样做。如果您必须这样做,请了解您的会话存在潜在风险,并准备好接受其后果。此外,在组织宣布它们不再易受攻击后,您应该更改密码;使用密码管理器会有所帮助。您还应该准备好更改或监控您使用的任何其他信息,例如银行详细信息或信用卡号码。

对活动人士的特别通知

任何使用 OpenSSL 的东西都可能受到影响,包括Tor。自从两年多前将其包含在 OpenSSL 版本中以来,政府可能已经能够使用此漏洞,因为他们将拥有查找此类漏洞所需的大量资源,因此您应该准备好这些信息可能不再是私人的。

**请注意,除非实现了完美的前向安全(PFS),否则如果私钥后来泄露,则之前记录的流量可能会被解密。

¹- 有人声称私钥可能不在内存中,但同时也有人声称成功提取了密钥。在这一点上,不确定哪一方是正确的。

  • 到目前为止,这是我读到的有关这种新的热疯狂关键 Heartbleed 攻击的信息最丰富的文本(所有其他文章/博客/新闻帖子仅包含零碎信息)。不错的工作 :) 。 (45认同)
  • 总结一下`什么是heartbleed bug` http://xkcd.com/1354/ (6认同)
  • 我们如何知道新证书是使用新密钥生成的? (4认同)
  • `请注意,如果私钥后来泄露,先前记录的流量可能会被解密。` 如果服务器使用具有前向保密的密码,则不会。 (3认同)
  • @Wes 您说得对,PFS 很可能会保持流量安全。我试图在不混淆人们的情况下巧妙地解释情况。不幸的是,PFS 并未得到广泛部署。 (2认同)

小智 13

此漏洞带来的风险被夸大了。我这样说是因为有零证据表明该漏洞在研究人员 2 天前发布之前就已知晓或被利用。

让我明确一点,紧急修补易受攻击的网站,尤其是那些通过 Internet 交易敏感数据的网站。将攻击的签名加载到 IDS 和恶意软件保护工具中同样紧迫。在 IT 内部,我们应该以最高优先级响应此漏洞。

话虽如此,我认为公众媒体与此漏洞相关的风险水平是不合理的。

个人应该怎么做来保护自己? 不要使用运行易受攻击的 OpenSSL 版本的站点。

除非有证据表明此漏洞已被利用,否则任何进一步的行动都是毫无意义的,并且只是出于 FUD 的动机。你不同意?考虑每个月或每个季度发布的许多允许任意代码执行的漏洞。那些授予攻击者 root 或系统级特权的人,或者攻击者随后可以通过特权升级获得这些特权的人,给易受攻击的系统处理的所有数据的安全性带来了与此漏洞一样多或更多的风险。

在许多情况下,这些漏洞是由软件供应商或通知供应商的研究人员发现的。供应商制作补丁并将其发布到市场上,而无需发布漏洞详细信息。在某些情况下,安全社区会发布详细信息并发布漏洞用于测试工具。我们不会通过说“我们所有的秘密可能已经暴露!”来对这些漏洞作出反应!

如果有剥削的证据,我们必须对此做出适当的反应。我看到宣布此漏洞的研究人员的过度反应以及放大研究人员的松散言论的媒体存在巨大风险。 他们在哭狼。

-- 埃尔维霍

  • 在 IT 安全方面,我对 Bruce Schneier 抱有最高的敬意。引用 [他关于 Heartbleed 漏洞的博客文章](https://www.schneier.com/blog/archives/2014/04/heartbleed.html):**“灾难性”是正确的词。在 1 到 10 的范围内,这是 11**。仅此一点就足以让我强烈反对您对这个问题的轻描淡写。 (19认同)
  • 这个答案应该得到更多的 IMO 投票。每个月都会发布*大量*的漏洞,允许人们窃取服务器的私钥,并且不会对它们大惊小怪。由于 OpenSSL 的普遍性,这个 * 比平均情况更严重,但它仍然被过度炒作。 (9认同)
  • 这个帖子应该降级。问题不是被夸大其词,而是 OpenSSL 的灾难性失败,除此之外,即使在公开宣布之前没有使用它,坏玩家也肯定会随后用它破坏网站。NSA 也很可能知道这件事(但这无法证明)。有令人信服的理论指出这是一种有意的妥协,尽管作者否认了这一点。 (8认同)
  • -1 因为作者并不真正了解我认为的攻击的性质。一方面,拥有这种访问权限的攻击者会非常努力地对其保密,并不允许他们入侵的证据出来。这种会影响互联网上大约一半安全流量的安全性的错误根本不是狼嚎。我认为这是一个非常严重的问题。 (6认同)
  • *“直到并且除非有证据表明此漏洞被利用”“如果有利用证据,我们必须对此做出适当的反应。”* 你谈论了很多关于利用证据的问题。然而,关于 Heartbleed 错误的可怕之处之一是*成功的利用在事后是无法检测到的*(除非您每次都永久完整地存储传入的心跳消息,即使这样也不能保证成功的利用会导致违反安全)。您建议我们如何建立成功利用漏洞的事后证据? (2认同)
  • @abstrask 公平地说,他还说:“如果事实证明这类似于千年虫之类的东西——那么我们将面临哭狼的批评。” (2认同)
  • 我很失望我没有对这篇文章投反对票的声誉。一方面,大多数站点(亚马逊、Chase 等)基本上不使用前向安全性,这意味着直到第一次使用证书的所有内容都会受到损害。此外,我不知道您声称正在猖獗的这些主要漏洞。我想不出最后一个漏洞至少不需要登录相关计算机的能力,并且几乎安装在所有具有“安全”连接的非 Windows 计算机上。如果我不知道更好,我会标记这篇文章,因为它有可怕的错误信息。 (2认同)
  • @el viejo,请将您的信用卡凭证(包括 CVV)发送给我。零证据表明我曾滥用此类信息。 (2认同)

小智 5

并非每个网站都将 OpenSSL 库用于 HTTPS(例如,还有 GnuTLS 和 PolarSSL),并且并非每个版本的 OpenSSL 都存在漏洞(旧版本则不然)。这意味着您提到的网站很可能没有更改证书,因为它们不需要。仅查看颁发证书的日期并不能告诉您足够的信息。

有许多工具和网站可以帮助您检查网站是否存在漏洞,例如: - http://filippo.io/Heartbleed - https://gist.github.com/mitsuhiko/10130454 - https:/ /www.ssllabs.com/ssltest/

不幸的是,正如您已经说过的,这并不能告诉您它们是否存在。恐怕这里的关键问题是信任:在没有内部信息的情况下,无法客观地验证他们使用和使用了哪些 SSL 库。你必须希望他们做他们需要做的事情(因为这是正确的事情,甚至因为他们害怕公开羞辱),如果他们这样做了,你只能希望他们对此持开放态度。

当然,您可以随时询问这些网站是否受到影响,我已经看到许多网站发布了有关此的公开声明。使用 Twitter 或 Facebook 等社交媒体公开提问通常很有效。

所以我能给出的最好建议是一条一般性建议:小心你在互联网上留下的东西以及你信任哪些网站可以提供你的个人信息。

  • *等待不可避免的 PolarSSL 错误出现*(它是列表中的下一个......) (3认同)