UDN-企业互联网技术人气社区

板块导航

浏览  : 2721
回复  : 1

转OpenSSL曝重大漏洞,致用户网购支付密码泄露及原理解决方法

[复制链接]
弦动的头像 楼主

OpenSSL4月8日爆出严重安全漏洞。利用该漏洞,黑客坐在自己家里电脑前,就可以实时获取到很多https开头网址的用户登录账号密码,包括大批网银、知名购物网站、电子邮件等。360互联网安全中心8日发布紧急预警,提醒各大互联网服务商尽快修复该漏洞。

据了解,OpenSSL是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,目前正在各大网银、在线支付、电商网站、门户网站、电子邮件等重要网站上广泛使用。

360安全专家石晓虹博士告诉记者,OpenSSL此漏洞在黑客社区中被命名为“心脏出血”漏洞,堪称网络核弹,网银、网购、网上支付、邮箱等众多网站受其影响。无论用户电脑多么安全,只要网站使用了存在漏洞的OpenSSL版本,用户登录该网站时就可能被黑客实时监控到登录账号和密码。

石晓虹提醒广大互联网服务商,尽快将OpenSSL升级至1.0.1g进行修复。同时建议广大网友,在此漏洞得到修复前,暂时不要在受到漏洞影响的网站上登录账号。

      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正式版发布后,含有漏洞版本的库被广泛使用,因此影响范围极大。如果有攻击者在此时间之内利用这一漏洞侦听获取了许多密钥等信息,可以用来发起进一步的其他攻击。所以,各设备和服务厂商最安全的做法,是假设自己的服务器、设备与服务已经被攻击,采取相应的措施如更新密钥,并通知用户。


相关帖子

弦动的头像 楼主
发表于 2014-4-8 23:15:12 | 显示全部楼层
使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部