昨晚(4月8日)是黑客和白帽们的不眠之夜。他们有的在狂欢,逐个进入戒备森严的网站,耐心地收集泄漏数据,拼凑出用户的明文密码;有的在艰苦升级系统,统计漏洞信息,还要准备说服客户的说辞,让他们意识到问题的严重性;当然还有淼叔这样看热闹不嫌事大的,拼命恶补安全常识、寻找专家采访,试图记录这历史性的一夜。
这一夜,互联网门户洞开。
基础安全协议“心脏出血”
北京知道创宇公司的余弦守在电脑屏幕前彻夜未眠。他向淼叔介绍了这次事件的起源。该漏洞是由安全公司Codenomicon和谷歌安全工程师发现的,并提交给相关管理机构,随后官方很快发布了漏洞的修复方案。4月7号,程序员Sean Cassidy则在自己的博客上详细描述了这个漏洞的机制。
他披露,OpenSSL的源代码中存在一个漏洞,可以让攻击者获得服务器上64K内存中的数据内容。这部分数据中,可能存有安全证书、用户名与密码、聊天工具的消息、电子邮件以及重要的商业文档等数据。
OpenSSL是目前互联网上应用最广泛的安全传输方法(基于SSL即安全套接层协议)。可以近似地说,它是互联网上销量最大的门锁。而Sean爆出的这个漏洞,则让特定版本的OpenSSL成为无需钥匙即可开启的废锁;入侵者每次可以翻检户主的64K信息,只要有足够的耐心和时间,他可以翻检足够多的数据,拼凑出户主的银行密码、私信等敏感数据;假如户主不幸是一个开商店的或开银行的,那么在他这里买东西、存钱的用户,其个人最敏感的数据也可能被入侵者获取。
一位安全行业人士在知乎上透露,他在某著名电商网站上用这个漏洞尝试读取数据,在读取200次后,获得了40多个用户名、7个密码,用这些密码,他成功地登录了该网站。
发现者们给这个漏洞起了个形象的名字:heartbleed,心脏出血。这一夜,互联网的安全核心,开始滴血。
中国有至少三万台机器“带病”
一些安全研究者认为,这个漏洞影响可能没有那么大,因为受漏洞影响的OpenSSL 1.01系列版本,在互联网上部署并不广泛。
国内老资格的安全工作者、安天实验室首席架构师江海客不认同这种说法。他在微博上预警:“这一次,狼真的来了”。
余弦则以对问题进行了精确的定量分析。4月8日的不眠之夜中,他除了在Twitter和各大论坛中实时跟踪事态的最新进展,更重要的精力放在了ZoomEye系统的扫描上。根据该系统扫描,中国全境有1601250台机器使用443端口,其中有33303个受本次OpenSSL漏洞影响!443端口仅仅是OpenSSL的一个常用端口,用以进行加密网页访问;其他还有邮件、即时通讯等服务所使用的端口,因时间关系,尚未来得及扫描。
ZoomEye是一套安全分析系统,其工作原理类似Google,会持续抓取全球互联网中的各种服务器,并记录服务器的硬件配置、软件环境等各类指标,生成指纹,定期对比,以此确定该服务器是否存在漏洞或被入侵。在此次“心脏出血”漏洞检测中,余弦给该系统后面加上一个“体检”系统,过滤出使用问题OPenSSL的服务器,即可得出存在安全隐患的服务器规模。
从该系统“体检”结果看,比三万台问题服务器更令人惊心的,是这些服务器的分布:它们有的在银行网银系统中,有的被部署在第三方支付里,有的在大型电商网站,还有的在邮箱、即时通讯系统中。
自这个漏洞被爆出后,全球的骇客与安全专家们展开了竞赛。前者在不停地试探各类服务器,试图从漏洞中抓取到尽量多的用户敏感数据;后者则在争分夺秒地升级系统、弥补漏洞,实在来不及实施的则暂时关闭某些服务。余弦说,这是目前最危险的地方:骇客们已经纷纷出动,一些公司的负责人却还在睡觉。而如果骇客入侵了服务器,受损的远不止公司一个个体,还包括存放于公司数据库的大量用户敏感资料。更为麻烦的是,这个漏洞实际上出现于2012年,至今两年多,谁也不知道是否已经 有骇客利用漏洞获取了用户资料;而且由于该漏洞即使被入侵也不会在服务器日志中留下痕迹,所以目前还没有办法确认哪些服务器被入侵,也就没法定位损失、确认泄漏信息,从而通知用户进行补救。
问题的应对与新的问题
目前,ZoomEye仍在持续不断地给全球服务器”体检“,这个过程需要20小时左右。相比之下,仅仅给国内服务器体检需要的时间短得多,仅仅需要22分钟;而给那三万多台”带病“服务器重复体检,则只需两分钟。目前,余弦已经将这份名单提交给CNCERT/CC(国家互联网应急中心),由后者进行全国预警。但是,除了移动、联通等这些大型企业外,CNCERT也没有强制力确保其他公司看到预警内容,最后可能还是需要媒体持续曝光一些“带病”服务器,以此倒逼相关公司重视该漏洞。
而在漏洞修补期间,普通消费者与公司均应该采取相关措施规避风险。对于普通用户来说,余弦建议在确认有关网站安全之前,不要使用网银、电子支付和电商购物等功能,以避免用户密码被钻了漏洞的骇客捕获。“一位银行朋友告诉我,他们补上这个漏洞需要两天时间。这两天大家最好就别登录网银了,确认安全后再登。如果已经登录过了,那就考虑换一下密码吧。”
与用户的消极避险不同,相关互联网企业则应该尽快进行主动升级。升级到最新的OpenSSL版本,可以消除掉这一漏洞,这是目前企业最便捷的做法。但在升级后,理论上还应该通知用户更换安全证书(因为漏洞的存在,证书的密钥可能已泄漏),并通知用户尽可能地修改密码。后面这两个措施,企业实施起来会面临很大的代价,也只能通过媒体尽量曝光,让意识到的用户重新下载证书并自行修改密码了。
由于“心脏出血”漏洞的广泛性和隐蔽性,未来几天可能还将会陆续有问题爆出。在互联网飞速发展的今天,一些协议级、基础设施级漏洞的出现,可能会打击人们使用互联网的信心,但客观上也使得问题及时暴露,在发生更大的损失前及时得到弥补。作为身处其中的个人,主动应变、加强自我保护,可能比把安全和未来全部托付出去要负责任一些。