绿盟科技发布OpenSSL高危漏洞技术分析与防护方案 G20成员国美国、中国、德国受影响较大-阿里云开发者社区

开发者社区> 晚来风急> 正文

绿盟科技发布OpenSSL高危漏洞技术分析与防护方案 G20成员国美国、中国、德国受影响较大

简介:
+关注继续查看

近日,OpenSSL官方发布了版本更新,修复了多个OpenSSL漏洞,这次更新所修复的漏洞中,有两个危害等级较高的为CVE-2016-6304和CVE-2016-6305。绿盟科技对此漏洞进行了技术分析并提出了防护方案。

自2014年4月心脏滴血漏洞爆发以来,绿盟科技对OpenSSL的CVE漏洞进行密切的监控,据绿盟科技威胁情报中心(NTI)统计到的数据显示,2年来OpenSSL漏洞变化不大总体持平,总计高危漏洞13个,其中今年9月份3个高危漏洞。绿盟科技漏洞库迄今为止收录了82个重要漏洞。

OpenSSL%20trend%202years%20v3.png

OpenSSL漏洞影响范围

据据绿盟科技威胁情报中心(NTI)统计到的数据显示,全球OpenSSL主机分布如下:

NTI%20openssl.png

全球受OpenSSL漏洞影响范围如下:

openssl%20top20.png

G20成员国受OpenSSL漏洞影响范围如下:

G20%20OpenSSL%20top.png

OpenSSL漏洞影响的版本

OpenSSL Project OpenSSL < 1.1.0a

OpenSSL Project OpenSSL < 1.0.2i

OpenSSL Project OpenSSL < 1.0.1u

OpenSSL漏洞不受影响的版本

OpenSSL Project OpenSSL 1.1.0a

OpenSSL Project OpenSSL 1.0.2i

OpenSSL Project OpenSSL 1.0.1u

OpenSSL漏洞分析

这次更新所修复的漏洞中,有两个危害等级较高的为CVE-2016-6304和CVE-2016-6305。

OpenSSL高危漏洞:CVE-2016-6304

该漏洞的成因是,客户端向服务器持续发送超大的OCSP状态请求扩展,在此过程中,利用TLS扩展 “TLSEXT_TYPE_status_request”填充OCSP ids内存,由于攻击者不断请求重商,从而耗尽服务器的内存导致拒绝服务。

分析官方公布的修复代码,发现所做的修改主要是添加了对上一次握手过程的PACKET_remaining(&responder_id_list)的判断:如果大于0,则将所有OCSP_RESPIDs置空,并保存SSL_AD_INTERNAL_ERROR的状态;否则直接将所有OCSP_RESPIDs置空。代码修复情况如下图所示:

OpenSSL1-300x189.jpg

这样就避免了OCSP ids内存不断增加造成的拒绝服务。

OpenSSL高危漏洞:CVE-2016-6305

该漏洞的成因是,攻击者可以通过发送一个空记录,从而在调用SSL_peek()函数时引起拒绝服务。含有漏洞的代码如下:

if (!peek) {
SSL3_RECORD_sub_length(rr, n);
SSL3_RECORD_add_off(rr, n);

从上面的代码可以看到,如果peek为空,!peek则为真,然后进入代码段中,直接进行sub和add等运算,这样就会进入到一个死循环当中,程序不能继续执行。

漏洞修复之后的代码如下图所示:

OpenSSL2-300x165.jpg

代码会对读取的记录rr进行长度计算,如果为0,则重新读取下一个记录,从而保证程序顺利进行。

OpenSSL漏洞修复建议

官方已经发布版本更新,建议尽快升级到最新版,下载链接如下:

https://www.openssl.org/source/

如果无法升级到最新版本,为了在一定程度上缓解该威胁,则需要重新编译OpenSSL源代码,在重新编译的时候,启用“no-ocsp”编译时选项。

  1. 产品服务:使用绿盟科技的产品进行检测及防护,比如绿盟远程评估系统RSAS进行安全评估,使用绿盟Web应用防火墙WAF提供防护。
  2. 短期服务:绿盟科技工程师现场处理。确保第一时间消除网络内相关风险点,控制事件影响范围,提供事件分析报告。
  3. 中期服务:提供 3-6个月的风险监控与巡检服务。根除风险,确保事件不复发。
  4. 长期服务:基于行业业务风险解决方案(威胁情报+攻击溯源+专业安全服务)。

OpenSSL漏洞汇总描述

2016年9月22日,OpenSSL官方发布了版本更新,修复了多个漏洞:

OpenSSL漏洞01:CVE-2016-6304

提交时间:2016年8月29日

漏洞描述:OpenSSL服务器在默认配置下,一个恶意客户端可以向服务器持续发送超大的OCSP状态请求扩展,从而耗尽服务器的内存导致拒绝服务。

严重程度:高

OpenSSL漏洞02:CVE-2016-6305

提交时间:2016年9月10日

漏洞描述:攻击者可以通过发送一个空记录,从而在调用SSL_peek()函数时引起拒绝服务。

严重程度:中

OpenSSL漏洞03:CVE-2016-2183

提交时间:2016年8月16日

漏洞描述:该漏洞涉及SWEET32攻击,一种针对64位分组密码算法的生日攻击。

严重程度:低

OpenSSL漏洞04:CVE-2016-6303

提交时间:2016年8月11日

漏洞描述:该漏洞是存在于函数MDC2_Update()中的一个整数溢出,导致内存破坏,进而允许拒绝服务攻击。

严重程度:低

OpenSSL漏洞05:CVE-2016-6302

提交时间:2016年8月19日

漏洞描述:位于ssl/t1_lib.c中的函数tls_decrypt_ticket(),在确认ticket的长度时没有考虑HMAC的大小,导致内存越界读取,进而引起拒绝服务。

严重程度:低

OpenSSL漏洞06:CVE-2016-2182

提交时间:2016年8月2日

漏洞描述:位于crypto/bn/bn_print.c的函数BN_bn2dec()没有检验BN_div_word()函数的返回值,允许内存越界写入,从而引起拒绝服务。

严重程度:低

OpenSSL漏洞07:CVE-2016-2180

提交时间:2016年7月21日

漏洞描述:位于crypto/ts/ts_lib.c中的函数TS_OBJ_print_bio()存在越界写入问题,允许拒绝服务。

严重程度:低

OpenSSL漏洞08:CVE-2016-2177

提交时间:2016年5月4日

漏洞描述:在计算堆缓冲区的边界时出错,允许攻击者发起拒绝服务攻击。

严重程度:低

OpenSSL漏洞09:CVE-2016-2178

提交时间:2016年5月23日

漏洞描述:位于crypto/dsa/dsa_ossl.c中的函数dsa_sign_setup(),没有正确处理constant-time,允许攻击者通过边信道攻击获得DSA的私钥。

严重程度:低

OpenSSL漏洞10: CVE-2016-2179

提交时间:2016年6月22日

漏洞描述:在DTLS的实现中,没有正确处理未按序到达的握手消息缓存,允许攻击者同时维护多个精心构造的DTLS会话,导致拒绝服务。

严重程度:低

OpenSSL漏洞11: CVE-2016-2181

提交时间:2015年11月21日

漏洞描述:DTLS实现中的抗重放攻击部分存在缺陷,允许攻击者发起拒绝服务攻击。

严重程度:低

OpenSSL漏洞12:CVE-2016-6306

提交时间:2016年8月22日

漏洞描述:在OpenSSL的1.0.2及更早版本中,缺少对一些消息长度的校验,导致内存越界读取,在理论上允许拒绝服务攻击。

严重程度:低

OpenSSL漏洞13: CVE-2016-6307

提交时间:2016年9月18日

漏洞描述:tls_get_message_header()函数存在检查缺陷,导致攻击者可以通过精心构造的数据包,使内存过度分配,进而借此大量消耗服务器的内存导致拒绝服务。

严重程度:低

OpenSSL漏洞14:CVE-2016-6308

提交时间:2016年9月18日

漏洞描述:dtls1_preprocess_fragment()存在检查缺陷,导致服务器的内存可以过度分配,进而以前拒绝服务攻击。

严重程度:低

官方公告地址如下:https://www.openssl.org/news/secadv/20160922.txt

什么是OpenSSL?

SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输,能使用户/服务器之间的通讯数据不被攻击者窃听,并且始终对服务器进行认证和有条件的对用户进行认证。SSL协议要求建立在可靠的传输层协议(TCP)之上,实现对应用层数据的加密传输与完整性保护。

OpenSSL是一个强大的安全套接字层密码开源库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

大多数通过SSL/TLS协议加密的网站都使用了OpenSSL的开源软件包。当OpenSSL被爆出安全漏洞,影响将会涉及到所有使用OpenSSL开源包的应用。

绿盟科技声明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

绿盟科技发布OpenSSL高危漏洞技术分析与防护方案的相关文章请参看

OpenSSL安全公告高危漏洞 可以对默认配置的服务器发动DDoS攻击


原文发布时间:2017年3月24日

本文由:绿盟科技 发布,版权归属于原作者

原文链接:http://toutiao.secjia.com/nsfocus-released-openssl-high-risk-vulnerability-analysis-and-protect-solution

本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
OpenKruise v0.5.0 版本发布,支持无损的流式分批发布策略
目前在阿里巴巴内部云原生环境中,绝大部分应用都统一使用 OpenKruise 的能力做 Pod 部署、发布管理,而不少业界公司和阿里云上客户由于 K8s 原生 Deployment 等负载不能完全满足需求,也转而采用 OpenKruise 作为应用部署载体。
278 0
【新发布】SLS数据加工增值内容服务
【数据加工】是一个可托管、高可用、可扩展的数据处理服务,广泛适用于数据的规整、富化、分发、汇总、重建索引等场景。这里详细介绍如何通过数据加工实现数据的分发与汇总,从而实现统一存储管理或分类精细化查询分析,以及存储成本优化等目的。
153 0
9月29日云栖精选夜读:武装到“牙齿”!阿里云发布史上最强企业云安全架构 11层防护
未来的企业都会基于云来搭建业务的安全系统,企业云安全架构(Cloud Security Compass)就是这么一份供上云企业参考的设计蓝图—— 企业可以像“建房子”一样,依据模块搭建自己的云上安全体系。
3813 0
动态 | 从零开始快速入门深度强化学习,OpenAI 发布学习资源 Spinning Up
资源包含了易懂的深度强化学习代码示例、习题、文档和教程。
264 0
+关注
9380
文章
243
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载