openssl升级有什么影响(浅谈心脏出血漏洞)

openssl升级有什么影响(浅谈心脏出血漏洞)(1)

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

漏洞名称:HeartBleed

漏洞位置:Openssl的源代码

一、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 漏洞 (心脏出血漏洞)。

(二)手动

首先判断服务器上的Openssl版本是否是有漏洞的版本。目前有漏洞的版本有: 1.0.1-1.0.1f(包含1.0.1f)以及 1.0.2-beta。你可以使用如下的命令查看服务器上的当前版本:

openssl version

接着你需要判断是否开启了心跳扩展:

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.要求用户修改密码。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页