更新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-04-07)之后签署的新证书。
**请注意,如果私钥后来被泄露,先前记录的流量可能会被解密。
作为用户,我该怎么做才能保护自己
在接下来的几天里,如果您可以避免使用关键站点,例如网上银行或在线病历访问,我建议您这样做。如果您必须这样做,则应了解您的会话有潜在风险,并准备接受其后果。同样,在组织宣布不再受到攻击之后,您应该更改密码;使用密码管理器可以提供帮助。您还应该准备好更改或监视您使用的任何其他信息,例如银行详细信息或信用卡号。
特别注意活动人士
任何使用OpenSSL的内容都可能受到影响,包括Tor。自从两年多前OpenSSL版本中包含此漏洞以来,政府就能够使用此漏洞,因为它们将拥有寻找此类漏洞所需的大量资源,因此,您应该准备好信息可以不再是私人的。
**请注意,如果私钥后来被泄露,除非实现了完美的前向安全性(PFS),否则先前记录的流量可能会被解密。
¹-有人声称私钥可能不在内存中,但与此同时,有人声称成功提取了密钥。在这一点上,不确定哪一侧是正确的。