三年前,一个名为“心脏滴血”的 OpenSSL漏洞让整个互联网为之一颤, 三年后的今天,依然有接近 200,000 个服务器和设备依然笼罩在心脏滴血的恐怖之中。
这一数据来自于搜索引擎 Shodan 发布的一份心脏滴血漏洞报告,记录了心脏滴血漏洞从 2014年4月被发现以来至 2017 年 1 月,依然受影响的设备的数量及分布等情况。
其中,199,594 个样本数据中,数量排前三的国家分别是美国(42,032)、韩国(15,380)、中国(14,116)、德国(14,072)和法国(8,702)
【数据按国家分布,中国排第三】
回顾 | 心脏为何滴血?
2014 年 4 月 8日,谷歌研究员 Neel Mehta 发现一个可以从特定服务器上随机获取 64K 数据的漏洞,并将其命名为“heartbleed"(心脏滴血)——代表着最致命的内伤。
之所以叫“心脏滴血”,和该漏洞的原理有关。
据雷锋网了解,最初人们为了网络通信安全,就开始使用安全协议进行加密通信,SSL(Secure Socket Layer)就是一种安全协议。随着开源软件的流行,有人写了一款叫 OpenSSL 的开源程序供大家方便地对通信进行SSL加密,后来这款软件便在互联网中被广泛应用。我们在浏览器地址栏常见的 https 前缀的网址以及那把小锁图标,通常就是指该网站经过 SSL 证书加密。
OpenSSL 有一个叫 Heartbeat (心跳检测)的拓展,问题就出在这个拓展上,这也是漏洞被命名为“心脏滴血”的直接原因。
所谓心跳检测,就是建立一个 Client Hello 问询来检测对方服务器是不是正常在线 ,服务器发回 Server hello,表明正常树立SSL通讯。就像我们打电话时会问对方 “喂听得到吗?”一样。
每次问询都会附加一个问询的字符长度 pad length,bug 来了,如果这个 pad length 大于实际的长度,服务器仍是会回来相同规模的字符信息,于是形成了内存里信息的越界访问。
如果你还听不懂,看完这个漫画应该就懂了。
【漫画来自 XKCD Comic】
就这样,每发起一个心跳,服务器就能泄露一点点数据(理论上最多泄露 64K),这些数据里可能包括用户的登录账号密码、电子邮件甚至是加密秘钥等信息,也可能并没有包含这些信息,但攻击者可以不断利用 "心跳”来获取更多的信息。就这样,服务器一点一点泄露越来越多的信息,就像是心脏慢慢在滴血,心脏滴血漏洞的名字由此而来。
由于互联网应用最广泛的安全传输方法就是 SSL,而 Open SSL 又是多数 SSL 加密网站使用的开源软件包,所以漏洞影响范围广大,一时间席卷全球各个互联网相关领域,网银、在线支付、电商网站、门户网站、电子邮件等无一幸免。
当时有研究人员利用漏洞扫描工具 Zmap 搜索存在心脏滴血漏洞的网站,结果发现在 Alexa 网站流量排名前百万的网站中,有 40.9% 的网站中招。而全球第一个被攻击通告的案例让所有人笼罩在心脏滴血的恐怖氛围之中:加拿大税务局因心脏滴血漏洞导致 900 个纳税人的社会保障号被盗,900 个人的社保号在系统中完全被删除了。
当时中国又发生了什么呢?漏洞爆发当天整个中国互联网兵荒马乱,几乎所有安全团队陷入疯狂,甲方的安全部门十万火急升级 OpenSSL,乙方安全公司全力为客户数据应急方案和参考信息;地下黑客同样彻夜未眠,他们疯狂地收集各种网站数据,各种刷,双方真正陷入争分夺秒的数据之争,当天的漏洞平台是这样的。
即使是修复速度最快的淘宝,也是在当天下午5点左右才修复完毕,这期间的数小时可能已有数据被抓走,虽然至 4月12 日大部分网站已经修复完毕,但这一期间已经不知多少数据泄露。所以 OpenSSL 心脏出血漏洞也堪称中国网络安全的一个灾难事件。
更令人不寒而栗的是,「心跳检测」机制在 Open SLL 发布1.0.1版本的时候就开始存在,该漏洞应该已经存在两年之久后才被人发现并且做出修正。没人知道在这两年期间有多少黑客已经发现并利用这个漏洞进行大范围的网络攻击活动,因为这种攻击方式很难被察觉到。如果做好最坏的估计,也许所有大网站的用户数据都已经泄露。
近二十万设备心脏依然滴血?
就是这样一个致命的漏洞,在发生将近三年后,全球居然仍有接近20多万台设备存该问题,中国就有超过1万台,让人匪夷所思。
Shodan 创始人 John Matherly 说,
虽然该漏洞当时在媒体宣传下迅速被广泛关注,成千上万受影响的设备被及时修复(数量从600,000左右 迅速降至 200,000左右)然而在风浪渐息之后,这个数量就下降得非常缓慢。
如今,攻击者依然不需要太多技术水平就可以轻易实现对存在心脏滴血漏洞的服务器。如果企业没有及时修补该漏洞,依然存在和三年前相同的风险。
安全人员分析,这些未修补漏洞的企业还不知道自己使用的 OpenSSL 中存在着高危的心脏滴血漏洞。但在雷锋网 (公众号:雷锋网) 看来,也许他们很快就知道了。