“心脏出血”漏洞(Heartbleed)已经过去6个月时间,这个一度被视为互联网上最严重的网络安全漏洞(现在被“破壳”取代),在目前仍不可小视。这个漏洞由Codenomicon、Google两家公司分别发现。作为最初漏洞发现者,Codenomicon公司的三名成员很早就对外公布了他们的发现经过,不过Google安全工程师一直没有透露过。
在最近一期Risky.biz播客上,Google安全工程师NeelMehta首度揭秘了他们对“心脏出血”的发现过程。
这与NeelMehta的工作职责有关。他说:“我在做的是OpenSSL审计工作,以及整个SSL通信层安全。”这显然是一项长期工作,Mehta没有表示他已经完成此项审计。
SSL(SecureSocketsLayer)是一个保障数据完整、安全的加密协议,它经常用在客户端与服务器之间,我们常使用的Google搜索、支付宝、微信就是使用它来保障安全。OpenSSL是SSL协议的开源实现,它们类似于Chrome与浏览器工作机制(W3C规范)之间的关系。
Mehta表示,发现“心脏出血”漏洞最主要的原因,是由于他在SSL协议栈上的一些早先发现,包括今年2月份发现的GoToFail漏洞、3月份发现的GnuTLS漏洞。
“你会感觉在SSL协议层上,可能存在更多未发现的东西。所以我很好奇它的安全现状,并顺便做了下研究。然后…”
没想到反响会如此巨大,主流媒体大多都做了报道(WSJ、Reuters、FT等)。Mehta说:“这个结果让我有些惊讶。”当时还有另一家安全公司也发现了这个漏洞,并上线了一个专门播报漏洞状况的网站。
不过Mehta对于漏洞的一些夸张说法不太感冒。在漏洞被公布后,彭博社的一篇报道提到:“美国国家安全局在他之前就知道’心脏流血’漏洞,并利用它达成过不可告人的目的。”Mehta表示不太确定这个说法,他个人认为这是不太可能的(原话为unlikely)。
不过这确实是一个问题。“心脏出血”漏洞已经存在了两年多时间,直到现在才被发现和修补,还是因为Google对自身使用的基础服务的审查。
“这可能是到达了一个临界点。”Mehta说,“在斯诺登揭秘美国国家安全局的大规模窃听计划后,加密在过去一年被越来越重视。今年早些时候我们就发现了一大堆问题,接下来由于大家的重视,在这方面会有更多的发现。”
在斯诺登揭秘中,美国国家安全局曾经窃听过Google数据中心之间的加密数据,并成功破解。
Mehta还谈到了“破壳”漏洞(Shellshock),他认为这是比“心脏出血”漏洞更为严重。
这些漏洞之所以严重,是由于类似bash、OpenSSL的开源软件被广泛应用于全球数亿设备之上。他怀疑其它软件——被其称之为“用胶水贴合在一起”的软件,可能还存在着很多长年未被发现的问题。例如Zlib,一个在很多软件中使用的压缩库;libjpeg,一个被广泛应用的JPEG库文件。
“libjpeg库中的bug,将会有巨大的影响。”Mehta说道。