打印本文 打印本文  关闭窗口 关闭窗口  
加密协议OpenSSL重大安全漏洞“心脏出血”
时间:2014/4/11 18:42:30

日前,安全公司Codenomicon和Google工程师发现了加密协议OpenSSL的重大安全漏洞,被命名为名为“Heartbleed(心脏出血)”。由于OpenSSL协议广泛应用于网银、在线支付、电子邮件、电商等重要网站,黑客利用此漏洞的可实时获取约30%以https开头网址的用户登录账号密码。

OpenSSL“心脏出血”引发网络安全思考

什么是OpenSSL?

SSL是一种较为流行的安全加密技术,可以保护用户在网络上传输的隐私信息。当你在访问一些安全级别较高的网站时,会看到浏览器地址栏有http://或https://,以https://访问的网站就是用SSL加密的,一般是邮件、银行等网站。在后台,通过SSL加密的数据只有接收者才能解密。即使是黑客监听了用户的对话,也只能看到一串随机字符串,无法获悉具体内容。https可以使用TLS或SSL协议,而OpenSSL则是TLS、SSL协议的开源实现,提供开发库和命令行程序。简单来说,基本上所有的https都使用了OpenSSL。

OpenSSL为什么会“心脏出血”?

根本原因就是基础的安全通信方式出了问题。OpenSSL的“心跳模块”存在一个漏洞,可以让攻击者直接获取服务器上64K内存中的数据内容。用户访问网站的Cookies、SSL私钥、帐号密码、隐私消息等数据都有可能泄露。其实,OpenSSL的“心脏出血”早在2012年就已被发现,只不过在今年4月7号才被正式收录。

“心脏出血”有什么影响?

443端口是OpenSSL的一个常用端口,用于加密网页访问。数据显示,中国境内有1601250台机器使用443端口,其中有33303台受到了本次OpenSSL漏洞的影响。除了443,还有邮件、即时通讯等端口,受影响的范围肯定更广。据调查,4月7日和8日两天,共有2亿网民访问了含有OpenSSL漏洞的网站。

上文提到,黑客可以利用该漏洞攻击服务器的密钥,继而读取到其收到的任何信息,甚至能够利用密钥假冒服务器,欺骗用户泄露密码等敏感信息。这里引用别人举的一个例子,网络服务器就像邮局,每个用户就是写信人和收信人,用户需要拿袋子去邮局取信(收取信件相当于接收数据),这个漏洞就发生在将信件装入袋子的过程中(假定装信的“工作人员”认为把袋子装满是完成任务),正常情况下用户需要装多少信就会拿相匹配的袋子。但是,黑客们本身信件很少,却拿了一个很大的袋子,此时“工作人员”只会埋头继续把袋子填满。如此一来,黑客的袋子里就会有很多别人的东西(用户名账号、密码。邮件),甚至是邮局的钥匙(密钥)。

由于黑客每次只能获取服务器上64KB的数据,而重要信息正好落在这个“片段”的几率并不大,所以用户的信息并不是肯定会被泄露。不过遗憾的是,考虑到每台计算机每秒钟可以执行1-2次攻击,黑客还是可以大面积抓取信息。一名安全行业的人士透露,他在某电商网站上用“心脏出血”漏洞尝试读取数据,在读取了200次后,获得了40多个用户名、7个密码,用这些密码,他成功登录了该网站。

如何避免隐私数据被泄露?

“心脏出血”漏洞并不涉及普通用户自用的计算机,也就是说用户是无法自行修补该漏洞的,只要你登录了受影响的网站,如果该网站不进行修复,那么你更改的新密码依然会受到威胁。在确认网站安全之前,最好不要使用网银、电子支付和电商购物等功能,以免这段数据正好被黑客捕获。一旦网站公告已经修复了相关漏洞,用户需要立即去修改密码。此外,用户也可以使用手机验证或动态密码,与手机绑定。