![如果中间人攻击很少见,那么 Heartbleed 是否真的像所说的那么严重?](https://linux22.com/image/1405098/%E5%A6%82%E6%9E%9C%E4%B8%AD%E9%97%B4%E4%BA%BA%E6%94%BB%E5%87%BB%E5%BE%88%E5%B0%91%E8%A7%81%EF%BC%8C%E9%82%A3%E4%B9%88%20Heartbleed%20%E6%98%AF%E5%90%A6%E7%9C%9F%E7%9A%84%E5%83%8F%E6%89%80%E8%AF%B4%E7%9A%84%E9%82%A3%E4%B9%88%E4%B8%A5%E9%87%8D%EF%BC%9F.png)
我通过安全的无线连接连接到互联网。我很确定没有人在我的 LAN 上对我进行 MITM 攻击。否则,有人使用 Heartbleed 窃取私钥来访问我的数据怎么办?我知道他们可以解密我的通信,但我使用的网站没有 SSL,我输入密码时也输入了密码,而且据我所知,没有人破解过我的任何帐户?如果 MITM 攻击对我来说很少见,为什么会有如此大的安全风险?
答案1
您必须区分 MITM 和拦截您的流量的人。
对于未加密的流量(和登录),攻击者只需坐下来某处在您和您正在连接的服务器之间。然后他可以嗅您的网络密码或任何其他交换的信息。
对于加密流量,这并不那么容易。要攻击加密连接,可以使用 MITM(中间人)。由于攻击者不知道服务器使用的密钥,因此攻击者会假装是服务器。然后,他连接到服务器并假装是您,转发您的原始请求。
您与服务器之间不再只有一个加密连接,而是有两个。一个是您与攻击者之间的连接,另一个是攻击者与服务器之间的连接。
如果你仔细检查一下,你就能很容易地发现这一点钥匙服务器在连接时向您显示该密钥。由于攻击者需要使用自己的密钥,因此您很快就会意识到您实际上并没有与服务器对话。
和心血事情从这里开始变得糟糕起来。Heartbleed 允许攻击者获取原始秘密 钥匙直接从服务器获取。此时,您没有机会发现自己受到了攻击。
如果你一直使用未加密的连接,心血不会对你造成负面影响。
这就像开车时不系安全带,有人宣布某些安全带存在问题,可能会导致它们在碰撞中松开。这对你来说无关紧要,因为你正在利用随时可用的安全装置。
PS:Heartbleed 会泄露随机数据。它可以是私钥,也可以是服务器内存中的任何其他内容。在这种情况下,泄露私钥只是最糟糕的情况。
TL;DR:MITM 攻击很少见,因为它们很难设置,而且很容易被检测到。Heartbleed 很严重,因为你无法检测到它,而且它更容易被实施。
答案2
Heartbleed 不需要中间人攻击即可入侵系统。事实上,您甚至无需连接到易受攻击的网站,您的个人信息就会被泄露。
OpenSSL 中的 heartbleed 缺陷允许攻击者读取易受攻击的系统内存中存储的信息位。
阅读heartbleed.com应该可以回答你的大部分问题。