修复Heartbleed时如何使用Internet?


119

有许多网站目前不容易受到攻击,但是我不知道几天前它们是否容易受到攻击。

例如:

  • twitter.com:目前尚不脆弱,但证书来自2014年世界标准时间3月5日00:00:00
  • google.com:目前尚不脆弱,但证书来自2014年3月12日(星期三)UTC
  • bankofamerica.com:目前尚不容易受到攻击,但是证书来自UTC 2013 Thu Dec 05 00:00:00

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


4
可能重复你应该最终用户做一下心脏出血漏洞?在security.stackexchange.com上
Philipp 2014年

Answers:


201

更新2014-04-11

Cloudflare提出了一项挑战,以验证是否确实可以提取私钥。已经完成了大约10万个请求,并且验证了担心。它不再是理论上的,而是经过证明的。您可以在这里阅读有关内容。

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


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

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

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

没错,这是一个严重的缺陷,但稍后再讲。现在,让我们谈谈利用该漏洞的原因。传输层安全性(TLS)用于保护包括HTTPHTTPS)在内的许多应用程序的信息或保护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),否则先前记录的流量可能会被解密。

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


45
这是到目前为止,我读到的有关这种新的疯狂疯狂的Heartbleed攻击的信息最多的文章(所有其他文章/博客/新闻帖子仅包含点点滴滴的信息)。不错的工作 :) 。
Radu Murzea 2014年

4
我们如何知道使用新密钥生成新证书?

3
Note that previously recorded traffic may be decrypted if the private key was later leaked. 如果服务器使用的是具有向前保密性的密码,则不会。
2014年

2
@Wes您是正确的,PFS很可能会确保流量安全。我试图在不引起人们混淆的情况下走清晰的路线来解释这种情况。不幸的是,PFS没有得到广泛部署。
2014年

6
总结what is heartbleed bug xkcd.com/1354
GoodSp33d 2014年

14

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

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

话虽如此,我认为公众媒体与该漏洞相关的风险程度是没有道理的。

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

除非有证据表明已利用此漏洞,否则任何进一步的行动都是毫无意义的,其动机仅是FUD。你不同意吗?考虑每个月或每个季度发布的许多漏洞,这些漏洞允许任意代码执行。那些赋予攻击者根或系统级特权,或使攻击者随后可以通过特权升级获得特权的威胁,对于此漏洞所表现出的脆弱性系统而言,将对由脆弱系统处理的所有数据的安全性造成或多或少的风险。

在许多情况下,这些漏洞是由软件供应商或通知供应商的研究人员发现的。供应商会生产补丁并将其发布到市场,而不会发布漏洞详细信息。在某些情况下,安全社区将发布详细信息,并发布漏洞利用程序以用于测试工具。我们不会对许多漏洞做出回应,只说“我们所有的秘密都可能被泄露!”

如果有剥削的证据,我们必须对此作出适当反应。我认为宣告此漏洞的研究人员的反应过度,以及在媒体上放大了研究人员的闲言闲语的风险很大。 他们在哭狼。

-艾尔维约


9
这个答案应该被更多的国际海事组织投票通过。有大量每个月,让人们窃取服务器的私有密钥公布的漏洞,并没有很多大惊小怪由他们。这一个更严重的比一般的OpenSSL因的普及,但它依然是被过度炒作。
alastair 2014年

2
“直到并且除非有证据表明该漏洞已被利用”,“如果有证据表明存在被利用,我们必须对此做出适当反应。” 您谈论很多有关剥削的证据。然而,关于Heartbleed错误的一件令人恐惧的事情是,事实发生之后就无法检测到成功的利用(除非您永久性地每次都完整存储传入的心跳消息,即使如此,也不能保证成功利用会导致违反安全)。您如何建议我们在成功利用该漏洞的事实证据之后建立?
2014年

6
-1,因为该作者并不真正了解我不认为攻击的性质。对于一个人来说,拥有这种访问权限的攻击者会非常努力地将其保密,并且不允许出现入侵的证据。此类漏洞可以切断互联网上大约一半的安全流量的安全性,这根本不是在哭狼。我认为这是非常严重的事情。
椭圆视图

19
在IT安全方面,我对Bruce Schneier表示了最高的敬意。引用他有关Heartbleed漏洞的博客文章“灾难性”是正确的词。在1到10的范围内,这是11。仅此一点就足以让我强烈不同意您对此问题的轻描淡写。
abstrask 2014年

8
该职位应降级。问题并未得到解决,这是OpenSSL的灾难性失败,此外,即使直到公开宣布才使用OpenSSL,不良行为者也随后最终破坏了它。国家安全局也很可能知道这一点(但这无法证明)。尽管作者否认了这一点,但有令人信服的理论指出这是蓄意的妥协。
davidgo

5

并非每个网站都将OpenSSL库用于HTTPS(例如,还有GnuTLS和PolarSSL),也不是每个版本的OpenSSL都容易受到攻击(旧版本则没有)。这意味着您提到的网站很有可能没有因为不需要而更改证书的机会。仅查看证书的颁发日期还不够。

有许多工具和网站,它可以帮助你检查,如果一个网站是脆弱的,例如: - http://filippo.io/Heartbleed - https://gist.github.com/mitsuhiko/10130454 - HTTPS:/ /www.ssllabs.com/ssltest/

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

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

因此,我能提供的最佳建议是一些一般性建议:请注意您在Internet上留下的内容以及信任个人信息的网站。


3
出现的必然PolarSSL错误等待(这在列表中的下...)
strugee

1

关于公开的私钥,值得补充的是,尽管某人可能能够在加密会话中解密数据,但是由于他们现在拥有私钥,因此他们仍需要在会话中间将自己确立为男人。。不仅互联网上的任何人都可以做到这一点。

我的理解是,它们仍然需要通过位于您本地的LAN和ARP欺骗上来拦截流量,或者通过向Internet路由器发布虚假路由来劫持/重定向流量。即使没有此漏洞,也总是可能发生此类攻击。


2
Heartbleed不一定正确。该错误的存在是因为(应该加密的)数据可以通过访问RAM公开。因此,他们不需要拦截/嗅探流量即可利用此漏洞。但是,服务器或客户端上都需要安装一些恶意软件,并且还需要适当的访问权限才能访问RAM。
ub3rst4r 2014年

不是这样 中间人攻击也可能会损害它。此外,内存转储不仅会影响该会话,还可能(取决于内存块的内容)查看其他用户未加密的用户名和密码,此外还可以使用私钥(通过MITM攻击)对所有流量进行解码
davidgo 2014年

我想我应该更清楚一点,我主要是在修补服务器后使用受损密钥。
PeterJ 2014年

0

您可以在LastPass Heartbleed Checker中输入网站的URL ,它会告诉您该网站是否脆弱,以及何时更新其证书。

还有一个名为Chromebleed的Chrome扩展程序,如果您访问的网站受到Heartbleed的影响,就会发出警告。

Mashable.com列出了一些知名网站,是否受到影响以及是否应更改密码。有趣的是,“银行和经纪”列表中的所有站点都没有受到影响。



-1

总体而言,我想说的是不要让偏执狂困扰您。实际上,能够解密流量并获得密码与实际完成操作并不相同。

如果您在Twitter,Facebook,Gmail和您的银行等网站上使用(并且应该)使用双重身份验证,那么您就不必太担心,即使您不这样做,也可能会很好。

如果您需要更改所有密码,则必须继续进行,并在需要的地方进行操作。真的,这就是全部。


1
两因素身份验证不会阻止恶意方围绕此漏洞进行任何可能的事情。我不确定您提出它的原因。不管怎样,无论如何都可能会利用OpenSSL中的这种利用的人并不是真正关心的问题。
Ramhound 2014年

1
我在删除评论之前在评论中提到的@ramhound有两个方面的帮助,因为一旦站点发布了新证书,攻击者可能拥有的任何密码将不再有用。因为在颁发新证书(并修补服务器)之前没有必要更改密码,所以获得的好处是立即重新保护帐户免受攻击者拥有私钥时可能发生的凭据泄漏的影响。此外,Twitter和Facebook是很重要的,因为它们可以被用来作为许多其他网站的单点登录(包括本,我相信?)
Sirex

该密码仍然很有用,因为人们使用相同的密码,是的,甚至使用2要素身份验证的人也可以。只要攻击者基本上能够转储会话数据,他们就可以对您执行MiTM攻击。
Ramhound 2014年

是的,但是重用密码确实是一个单独的失败。我的意思是,有两个因素可以帮助减轻后果的严重性和寿命,但是是的,这对利用实际的漏洞没有帮助。
Sirex 2014年

@Sirex据我所知,没有网站我使用两因素身份验证登录已使我的计算机上的cookie无效。这当然是他们的失败,但是我的意思是,目前两因素身份验证不是一个救星。攻击者可以很容易地拦截cookie并根据自己的请求使用它们。此外,由于没有办法知道是否有人利用了此错误(即使对于系统管理员也是如此),因此唯一安全的假设是该漏洞已被利用。我知道例如,截至周三早上,chase.com仍然很脆弱。攻击者不太可能错过那一个。
CrazyCasta 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.