漏洞播报:OpenSSL “heartbleed” CVE-2014-0160 安全漏洞附利用测试exp

标签: 渗透测试 CVE漏洞 漏洞播报 | 发表时间:2014-04-08 16:50 | 作者:seay
出处:http://www.cnseay.com

测试脚本: http://pan.baidu.com/s/1hq41y9A 

OpenSSL官方网站4月7日发布 公告,有研究人员发现OpenSSL 1.0.1和1.0.2-beta版本中存在安全漏洞(编号为CVE-2014-0160),可能暴露密钥和私密通信,应该尽快修补,方法是:

  • 升级到最新版本OpenSSL 1.0.1g
  • 无法立即升级的用户可以以-DOPENSSL_NO_HEARTBEATS开关重新编译OpenSSL
  • 1.0.2-beta版本的漏洞将在beta2版本修复

更老版本的OpenSSL(1.0.0和0.9.8等)反而不受影响。

这个漏洞是由安全公司 Codenomicon的研究人员和Google安全小组的Neel Mehta相互独立地发现的。漏洞出在OpenSSL对TLS的心跳扩展( RFC6520)的实现代码中,由于漏了一处边界检查,而可能在每次心跳中暴露客户端与服务器通信中的64K内存,这并不是设计错误。

Hacker News网友drv在阅读了漏洞代码后指出,这是一个低级错误。他解释说:

TLS心跳由一个请求包组成,其中包括有效载荷(payload),通信的另一方将读取这个包并发送一个响应,其中包含同样的载荷。在处理心跳请求的代码中,载荷大小是从攻击者可能控制的包中读取的:

  • n2s(p, payload);
  • pl = p;

这里p是指向请求包的指针,payload是载荷的期望长度(16位短整数,也就是每次请求64K)。pl指针指向实际的载荷。

然后响应包是这样构造的:

  • /* Enter response type, length and copy payload */
  • *bp++ = TLS1_HB_RESPONSE;
  • s2n(payload, bp);
  • memcpy(bp, pl, payload);

载荷长度保存在目标包里,然后从源包pl将载荷复制到目标包bp。

bug出在载荷长度没有根据请求包的大小进行检查。因此,memcpy()发送任意载荷长度(最大64K)加上一个小载荷,就能读取请求存储位置之外的任意数据。

drv评述说:

很难相信OpenSSL的代码居然没有对字节流的处理做抽象,如果包用(指针,长度)对来表示,用简单的封装函数复制,就能避免这个漏洞。用C语言的时候,写这种问题代码太容易了,但API设计仔细一点,就会大大增加犯错的难度。

更多技术细节可以参考 Heartbleed网站Hacker News上的讨论也极具价值。

OpenSSL是互联网上最流行的开源密码库和TLS实现,不仅是诸多Linux和BSD版本操作系统的默认安全通信机制,也是Apache和nginx等Web服务器的加密引擎。这次发现的漏洞是2011年12月引入OpenSSL库中的,2012年3月14日1.0.1正式版发布后,含有漏洞版本的库被广泛使用,因此影响范围极大。如果有攻击者在此时间之内利用这一漏洞侦听获取了许多密钥等信息,可以用来发起进一步的其他攻击。所以,各设备和服务厂商最安全的做法,是假设自己的服务器、设备与服务已经被攻击,采取相应的措施如更新密钥,并通知用户。

原文:http://geek.csdn.net/news/detail/6710

博主猜你喜欢:

shopex前台普通用户getshell最新漏洞

php安全开发文件包含漏洞的避免小技巧

漏洞播报:kuwebs cms SQL注入配合xss到getshell

某开源php程序的某安全漏洞引发的思考

漏洞播报:dedecms(织梦)最新注入0day漏洞
无觅

相关 [漏洞 openssl heartbleed] 推荐:

OpenSSL CVE-2014-0160 Heartbleed 安全漏洞檢測

- - Tsung's Blog
OpenSSL 爆發出嚴重的安全性漏洞, 請趕快檢測 + 升級.. OpenSSL CVE-2014-0160 Heartbleed 安全漏洞檢測. 關於此次事件, 此篇文章: OpenSSL CVE-2014-0160 Heartbleed 嚴重漏洞, 寫的非常清楚, 在此就不詳述, 再此摘錄部份說明: (感謝 Allen Own).

漏洞播报:OpenSSL “heartbleed” CVE-2014-0160 安全漏洞附利用测试exp

- - Seay's blog 网络安全博客
测试脚本: http://pan.baidu.com/s/1hq41y9A . OpenSSL官方网站4月7日发布 公告,有研究人员发现OpenSSL 1.0.1和1.0.2-beta版本中存在安全漏洞(编号为CVE-2014-0160),可能暴露密钥和私密通信,应该尽快修补,方法是:. 升级到最新版本OpenSSL 1.0.1g.

heartbleed漏洞检查工具集合

- - FreeBuf.COM
4月9日,一个代号“Heartbleed”(意为“心脏出血”)的重大安全漏洞日前被曝光,它能让攻击者从服务器内存中读取包括用户名、密码和信用卡号等隐私信息在内的数据,本文总结了网友开发的Heartbleed漏洞检查工具,如下:. CVE-2014-0160 check Go语言版: Heartbleed.zip  python版:ssltest.py.

解析OpenSSL“心脏流血”:最危险的网站安全漏洞?

- - 创业邦
  美国新闻网站Vox周二撰文,对当天公布的OpenSSL“心脏流血”漏洞进行了全面解读.   SSL是一种流行的加密技术,可以保护用户通过互联网传输的隐私信息. 当用户访问Gmail.com等安全网站时,就会在URL地址旁看到一个“锁”,表明你在该网站上的通讯信息都被加密.   这个“锁”表明,第三方无法读取你与该网站之间的任何通讯信息.

OpenSSL受到多个漏洞影响,官方呼吁尽快升级

- - FreeBuf.COM
还记得OpenSSL 心脏滴血漏洞么. 几周前,这一漏洞的披露曾震惊互联网,全球有上百万使用OpenSSL对通信进行加密的网站受到该漏洞的影响. 无独有偶,OpenSSL基金会最近又发布了一些更新,修复了六个OpenSSL中的安全漏洞,其中两个为严重级别. ‍‍‍‍‍‍ 中间人攻击(CVE-2014-0224)‍‍‍‍‍‍‍‍.

面对互联网当前最危险的漏洞Heartbleed bug,你应当知道的一些安全问题

- - PingWest中文网
昨天,关于 Heartbleed漏洞的消息在网络上引发了激烈的讨论. 这个从OpenSSL项目中爆出的漏洞让攻击者可以在多种加密传输的网络数据中窃取用户信息,由于OpenSSL被广泛使用在Web服务器、邮件协议、通讯协议中,所以一时间受影响的用户数量难以估计. 在谈Heartbleed漏洞之前,我们不得不先说一下什么是OpenSSL,不过由于其和SSL有着莫大的关系而且用户平常接触到最多的也许就是SSL安全协议了,所以我们先从介绍SSL入手.

linux下安装nginx、pcre、zlib、openssl

- - CSDN博客推荐文章
1、安装nginx之前需要安装 PCRE库的安装. 最新下载地址   ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/. tar –zxvf pcre-8.21.tar.gz,解压目录为:pcre-8.21. 然后进入到 cd pcre-8.21,进行配置、编译、安装.

Google创建OpenSSL分支,宣布BoringSSL

- - Solidot
在OpenBSD创建OpenSSL分支LibreSSL两个月后,Google宣布了它创建的OpenSSL分支BoringSSL. Google安全团队的Adam Langley在个人博客上说,他们使用了超过70个OpenSSL补丁,部分被接受合并到了OpenSSL主库,但大部分没有. 随着Android、Chrome和其它项目开始需要这些补丁的子集,事情日益变得复杂,要保证所有补丁在不同代码库正常工作需要太多精力.

Heartbleed测试网站在数小时内被窃走私钥

- - Solidot
OpenSSL Heartbleed漏洞的危险程度被安全专家称为是“灾难级”,攻击者能利用该漏洞窃走受影响网站的用户密码和私钥,此前的研究发现用户明文密码确实会暴露,但窃取私钥尚未有报道. 云计算公司CloudFlare发起了一个 Heartbleed挑战赛,使用nginx Web服务器和存在漏洞的OpenSSL版本搭建了一个网站,邀请挑战者通过攻击窃取私钥.

openssl心脏出血bug的补丁修复

- - 行业应用 - ITeye博客
先到 https://www.openssl.org/source/ 这里下载 openssl-1.0.1g.tar.gz. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.