【CSTC观点】浅谈心脏出血漏洞(OpenSSL-HeartBleed)原理、影响及建议

专业就是实力!中国软件评测中心感谢您的关注,我们在这里与您共同分享基于第三方服务的科技资讯与趣闻,欢迎加入我们。
漏洞名称:HeartBleed
漏洞位置:OpenSSL的源代码

菲政府官员:美国BPO外包业务不会从菲撤出

漏洞发现时间:2014年4月7日
一、OpenSSL简介
OpenSSL是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议.多数SSL加密网站是用名为OpenSSL的开源软件包,由于这也是互联网应用最广泛的安全传输方法,被网银、在线支付、电商网站、门户网站、电子邮件等重要网站广泛使用,所以漏洞影响范围广大。
OpenSSL是一款开源软件,被广泛用于在线通信的加密。SSL 协议最早在 1994 年由网景推出,1990 年代以来已经被所有主流浏览器采纳。最近几年,很多大型网络服务都已经默认利用这项技术加密数据。如今,谷歌、雅虎和 Facebook 都在使用 SSL 默认对其网站和网络服务进行加密。
当用户访问 Gmail.com 等安全网站时,就会在 URL 地址旁看到一个“锁”,表明你在该网站上的通讯信息都被加密。这个“锁”表明,第三方无法读取你与该网站之间的任何通讯信息。在后台,通过 SSL 加密的数据只有接收者才能解密。如果不法分子监听了用户的对话,也只能看到一串随机字符串,而无法了解电子邮件、Facebook 帖子、信用卡账号或其他隐私信息的具体内容。
当今最热门的两大网络服务器 Apache 和 nginx 都使用 OpenSSL。
二、漏洞原理简介
OpenSSL在2012年引入了心跳(heartbeat)机制来维持TLS链接的长期存在,心跳机制是作为TLS的扩展实现,但在代码中包括TLS(TCP)和DTLS(UDP)都没有做边界的检测,所以导致攻击者可以利用这个漏洞来获得TLS链接对端(可以是服务器,也可以是客户端)内存中的一些数据,至少可以获得16KB每次,理论上讲最大可以获取64KB。
TLS位于传输层和应用层之间,提供数据安全加密。TLS心跳指的是用户向服务器发送数据包,服务器返回一个相同的数据包以确定彼此在线,以支持持续通信功能。
用户向服务器发送的心跳数据中用两个字节表明有效负载数据长度,而服务器端OpenSSL将根据这个有效负载长度构造一个新的数据包会送给对端。
简单的说,服务器端得到数据包,数据包长度为plen_real,而数据包中包含一个字节表明有效负载数据长度plen_fake,数据包剩下的部分是有效负载数据,长度为plen_real-1。整个数据包存储在一个char型数组之中。而服务器端构造新数据包时,先分配一段plen_fake+1的内存空间,前两个字节存放plen_fake,之后使用memcpy从收到的数据包有效负载数据起始位置向新数据包拷贝plen_fake字节数据。正常情况下plen_fake = plen_real-1,当用户有意设置plen_fake大于实际有效负载长度plen_real-1时,服务器就会发送plen_fake长度的数据,其中包括plen_fake – plen_real-1长度的数据,这些数据可能是一些用户密码或者密钥。
三、漏洞的影响
在确保自身安全的基础上,帮助同事和周边环境,进而构建整个公司的安全,协力保护公司和客户的成功。
密歇根大学的一个安全研究团队利用开源网络扫描工具ZMap搜索存在Heartbleed漏洞的网站。研究人员完整扫描了地址空间,截至4月10日2:00 PM,Alexa排名前百万的网站中有32%支持SSL,在支持HTTPS的网站中,9%存在漏洞,31.9%安全的支持OpenSSL TLS Heartbeat Extension, 59%不支持HeartbeatExtension(也就是安全的)也就是在漏洞爆发的时候全球前一百万的网站中,有40.9%的网站中招。全球第一个被攻击通告的案例加拿大税务局确认heartbleed导致了900个纳税人的社会保障号被盗,这900个纳税人的社保号被攻击者在系统中完全删除了。
(一)对中国的影响
漏洞爆发当日国内一线电商几乎都存在此漏洞,淘宝修复最快,大概到4月8日下午5点左右修复漏洞,但这期间可能有不少数据被抓走。还有一些大型网站,例如雅虎的登录存在信息泄露,网易到8日晚上8点还没修复,还有一些在线交易网站泄露用户ID导致可以伪造交易信息。直到4月10晚上爱奇艺还没有修复,但目前大部分主流网站已经修复。所以OpenSSL心脏出血漏洞也堪称中国网络安全的一个灾难事件。
(二)会泄露我们哪些信息
差旅●户外●信息安全
我们的网站登录名和密码、期间修改过的个人隐私信息、期间修改过的密码保护问题答案,还有信用卡信息和邮件服务器的上的邮箱地址和密码hash。很多网站都建议用户事后修改密码,其实还有一些跟密码同样重要的信息,比如你在这个过程中修改过的密保信息也会被读取,更保险的措施是我们也修改掉一些重要的密保信息和隐私信息,因为很多网站相信TLS加密信道。如果是有信用卡绑定的网站就比较麻烦,因为国内不是所有的网站都通过了PCI-DSS安全标准,PCI-DSS里有规定信用卡必须密文保存,而且不能保存CVV信息,如果是通过了PCI-DSS的网站,建议至少修改密码和个人信息。
(三)该漏洞有哪些后继影响
1.新的攻击方式已出现,攻击者能利用该漏洞窃走受影响网站的用户密码和私钥,使用存在漏洞的OpenSSL版本的网站应该废除所有旧私钥和证书。
2.服务器的问题是第一波,第三方软件使用有缺陷的OpenSSL才是接下来需要考虑的问题,攻击者会利用这个漏洞获取用户原本想要保密的信息。存在客户端和服务端的软件也可能存在这个漏洞,甚至恶意利用者可能使用让客户端连接服务器端,服务器端发起针对客户端的攻击窃取客户端数据。
3.暴露在外网的服务器虽已得到及时修补,但一些公司内网的服务器却被忽略,很容易被内部恶意读取或是黑客内网渗透读取。
4.一些安全组织甚至在研究利用此漏洞做虚拟机逃逸,在虚拟机中让真实机远程执行代码,且利用思路很诡异。
四、如何检测漏洞
(一)自动(工具检测)
heartbleeder 可以探测你的服务器是否存在 OpenSSL CVE-2014-0160 漏洞 (心脏出血漏洞)。
下载地址:https://segmentfault.com/a/1190000000461002
(二)手动首先判断服务器上的Openssl版本是否是有漏洞的版本。目前有漏洞的版本有: 1.0.1-1.0.1f(包含1.0.1f)以及 1.0.2-beta。你可以使用如下的命令查看服务器上的当前版本:
opensslversion
接着你需要判断是否开启了心跳扩展:

IPv6网络安全无线信息监测技术实现

openssl s_client -connect你的网站:443-tlsextdebug 2>&1| grep’TLS server extension “heartbeat” (id=15), len=1′
如果以上两个条件你都满足的话,很遗憾,你的服务器受此漏洞影响,需要尽快修复。
五、如何有效的修补该漏洞
中国评测认为,最简单有效的修补方案是升级到OpenSSL 1.0.1g。目前SNORT也已经出了相关规则,可以用于IDS/IPS拦截,也有很多第三方CDN流量规则拦截。但最新的利用程序是基于TLS加密信道发送的恶意请求,很轻松的绕过基于网络层的IDS和CDN流量层的规则拦截。

马化腾:建议国家牵头搭建第三方信息存储平台

如何修复该漏洞:
1.将受影响的服务器下线,避免它继续泄露敏感信息。
2.停止旧版的 openssl 服务,升级 openssl 到新版本,并重新启动。
3.生成新密钥。(因为攻击者可能通过漏洞获取私钥。)将新密钥提交给你的CA,获得新的认证之后在服务器上安装新密钥。
4.服务器上线。
5.撤销旧认证。
6.撤销现有的会话cookies。

7.要求用户修改密码。
来源:中国软件评测中心 李广天
该文章作者已设置需关注才可以留言
微信扫一扫关注该公众号

当心无线扒手!,非接触式卡带来很多便利,黑客可能用扫描仪来搜集信息甚至盗刷金钱,所以带来便利的同时也带来不少安全隐患。

猜您喜欢

工信部信息通信管理局副巡视员游建青致欢迎辞
产业巨鳄的安全意识教育创新体验分享
中国企业成功走出去,打造懂风险控制,会安全管理的国际化人才,海外差旅安全教程来帮忙:
女子洗澡遭黑客直播洗澡全过程被多人观看(图)
TORAY PATTYMURRAY
来自互联网公司的真实商业间谍案例让企业安全管理人员无法轻松