Heartbleed是否会影响SSH密钥?


40

最近出现的Heartbleed错误是否会影响我生成的ssh密钥,并用于与Github,Heroku和其他类似网站推/拉代码?

我需要更换我一直在使用的钥匙吗?

Answers:


47

不,Heartbleed并不会真正影响SSH密钥,因此您可能不需要替换一直在使用的SSH密钥。

首先,SSL和SSH是两种不同用途的两种不同安全协议。同样,尽管OpenSSL和OpenSSH的名称相似,但它们也是两个完全不同的软件包。

其次,Heartbleed漏洞利用会导致易受攻击的OpenSSL TLS / DTLS对等方返回随机的64kB内存,但是几乎可以肯定,它仅限于使用该OpenSSL的进程可以访问的内存。如果该使用OpenSSL的进程无法访问您的SSH私钥,则它无法通过Heartbleed泄漏它。

此外,你通常只把你的SSH 公共您使用SSH连接到服务器的密钥,顾名思义,公钥是可以公布的关键。谁知道都没关系。实际上,您希望公众知道您的正确公共密钥。

感谢@Bob指出此漏洞可能影响使用OpenSSL易受攻击版本作为其客户端TLS / DTLS库的客户端应用程序。因此,例如,如果您的Web浏览器或基于SSL的VPN客户端使用了易受攻击的OpenSSL版本并连接到了恶意服务器,则该恶意服务器可以使用Heartbleed查看该客户端软件的内存的随机摘要。如果该客户端应用出于某种原因在内存中拥有您的SSH私钥的副本,则它可能会通过Heartbleed泄漏。

在我的脑海中,除了SSH之外,我没有想到任何其他软件可以在内存中存储未加密的SSH私钥的副本。好吧,假设您将SSH私钥保留在磁盘上加密。如果您未在磁盘上对SSH私钥进行加密,那么我想您可能已经使用了一些使用OpenSSL TLS的文件传输或备份程序来通过网络复制或备份主目录(包括您的~/.ssh/id_rsaSSH私钥或其他SSH私钥) ),那么它可能在内存中包含SSH私钥的未加密副本。再说一次,如果您要将未加密的SSH私钥备份到恶意服务器,则可能比Heartbleed担心得多。:-)


3
请注意,公众意见确实无关紧要-Heartbleed会影响客户端和服务器。但是您是正确的,因为SSH是不同的,并且不受此特定漏洞的影响
鲍勃

1
@Bob谢谢,Heartbleed的撰写非常关注服务器,以至于我还没有意识到客户端的后果。我已经更新了我的答案以更好地解决这个问题。我仍然认为人们不太可能将SSH私钥留在容易受Heartbleed攻击的进程可能泄漏的地方。
Spiff 2014年

1
应该提到的是,SSH确实使用OpenSSL库进行加密。但是,正如您所指出的那样,ssh不受易受攻击的漏洞的影响,因为它是一个不同的协议。
psibar 2014年

1

“第二,Heartbleed漏洞利用会导致易受攻击的OpenSSL TLS / DTLS对等方返回随机的64kB内存,但是几乎可以肯定,它仅限于使用该OpenSSL的进程可以访问的内存。”

如果计算机受到威胁,那么您如何信任其中的任何内容,包括ssh?来自heartbleed.com

“实践中有哪些泄漏?

我们已经从攻击者的角度测试了一些我们自己的服务。我们从外面发起攻击,没有留下任何痕迹。在不使用任何特权信息或凭证的情况下,我们就可以从我们自己的X.509证书,用户名和密码,即时消息,电子邮件以及关键业务文档和通信中窃取秘密密钥。”

有人可能在服务器上放了一个没有密码的私钥,他们认为这不是恶意的……但是事实证明是这样。b / c SSL错误允许用户输入密码,即具有“ sudo”权限的用户...这可能不是问题....但是...

人们有时会做疯狂的事情

http://blog.visionsource.org/2010/08/28/mining-passwords-from-public-github-repositories/


我认为这是指使用被盗的TLS密钥进行中间攻击的人。攻击者不应该能够从其他程序访问内存,否则会突出操作系统的安全性问题。
马修·米切尔

如果用户一直将其未加密的SSH私钥放在服务器上,那么他将无济于事。给他发送一个链接到piv.pivpiv.dk
Spiff 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.