首页 -> 安全研究

安全研究

紧急通告
绿盟科技紧急通告(Alert2016-03)

NSFOCUS安全小组(security@nsfocus.com)
http://www.nsfocus.com

SSL 2.0 DROWN攻击信息泄露漏洞

发布日期:2016-03-02

CVE ID:CVE-2016-0800

受影响的软件及系统:
====================

  OpenSSL < 1.0.1s
  OpenSSL < 1.0.2g


未受影响的软件及系统:
======================
  OpenSSL 1.01s
  OpenSSL 1.02g


综述:
======
SSL 2.0协议被发现存在一个安全漏洞,攻击者可以对加密数据进行破解,从而获取HTTP
cookie等敏感信息。


分析:
======
SSL2.0是已过时且不安全的协议,目前已被TLS 1.0,TLS 1.1,TLS 1.2替代,因为兼
容性原因,很多TLS实现依然兼容SSL2.0。

OpenSSL的当前版本默认支持SSL 2.0。近日几位大学的研究人员发现了一种新的攻击方
式,允许攻击者解密已经加密的TLS会话数据。这种攻击被命名为DROWN(Decrypting RSA
with Obsolete and Weakened eNcryption),即"用过时的弱加密解密RSA"。DROWN攻击
是Bleichenbacher padding oracle攻击的一个新形式,可以利用SSL 2.0协议上的漏洞去
攻击更现代的TLS协议实现。

攻击者发起这种攻击首先需要截获受害客户端和服务器之间的数百个TLS连接的数据,在通常
情况下至少需要900多个连接的数据。攻击者然后要同服务器建立大量SSL 2.0连接,再将已
截获连接中的RSA密文进行修改,作为握手数据发送给服务器。攻击者根据服务器的响应来判
断是否被修改的密文已被服务器正确解密了,通过这种方式,攻击者就可以获得用于某个TLS
会话的会话密钥,从而解密该连接的TLS会话数据。

在大多数情况下,DROWN攻击利用SSL 2.0协议中与export-grade加密有关的一个漏洞来
进行攻击,需要发起大概40000多个探测请求,进行2^50次方比较计算,才能从900多个TLS
连接中破解一个连接。研究者的数据显示,如果利用Amazon EC2的云计算服务,并使用优化
过的GPU运算程序,一次完整破解过程大概需要8个小时,耗资440美金。

如果利用OpenSSL自身实现上的另一个漏洞CVE-2016-0703(此漏洞OpenSSL已经在2015年3月
修复),攻击者花费的代价将大大减少,只需发起17000多个探测连接,就可以从260多个
TLS连接中破解其中一个连接, 破解计算的时间也可缩减至1分钟以内。这有可能使攻击者
发起实时的中间人攻击。

如果某个服务允许SSL 2.0连接,就受到此问题影响。如果一个服务(如HTTPS)禁用了SSL
2.0连接,但它的私钥也被其他允许SSL 2.0连接的服务(如SMTP/POP/IMAP等)使用,攻击
者仍然可以利用其他服务来攻击HTTPS。

此漏洞主要影响服务端,但并不能直接造成对服务器系统的入侵。攻击者攻击成功将可以解密
某个TLS会话的数据,如果该会话中包含敏感信息,例如口令或者会话cookie, 攻击者可以进
一步入侵相关服务应用。

解决方法:
==========
如果不能及时安装补丁,建议采用如下防护措施:

* 禁用SSL 2.0协议。

      
  常见WEB服务端禁用方法:

  Apache 2.x:
  
  在mod_ssl配置文件中使用如下命令禁用SSLv2和SSLv3:
  SSLProtocol All -SSLv2 -SSLv3
  重启Apache

  Nginx:
  
  在配置文件中使用:
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  重启Nginx

  IIS:
  
  IIS 7.0 及以上版本默认禁用SSL 2.0。如果手工启用了该支持,则需再将其关闭。
  
  注意:如果系统中还有其他服务例如SMTP/POP/IMAP等也允许SSL 2.0连接,并且和
  WEB服务器使用了同样的私钥,也需要在这些服务中禁用SSL 2.0。

厂商状态:
==========
OpenSSL已经在下列版本中修复了此漏洞:

  OpenSSL 1.01s
  OpenSSL 1.02g

请在下列网页下载最新版本:  
https://www.openssl.org/source/

目前主流Linux厂商已经提供了相应升级包,请及时升级到最新版本。

Debian:

Debian已经在OpenSSL 1.0.0c-2中禁用了SSL 2.0,因此当前的支持版本并不受此漏洞
影响,但由于OpenSSL仍然存在很多其他漏洞,建议升级到当前最新版本。
https://www.debian.org/security/2016/dsa-3500

RedHat:

https://access.redhat.com/security/cve/CVE-2016-0800  

Ubuntu:

Ubuntu目前支持版本编译时已经禁用了SSL 2.0,因此不受此问题影响:
http://people.canonical.com/~ubuntu-security/cve/2016/CVE-2016-0800.html
但由于OpenSSL仍然存在很多其他漏洞,建议升级到当前最新版本:
http://www.ubuntu.com/usn/usn-2914-1/

附加信息:
==========
1. https://www.openssl.org/news/secadv/20160301.txt
2. https://drownattack.com/
3. http://www.nsfocus.net/index.php?act=alert&do=view&aid=164

声 明
==========

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

关于绿盟科技
============

绿盟科技(NSFOCUS Co., Ltd.)是中国网络安全领域的领导企业,致力于网络和系统安全问题的研究、高端网络安全产品的研发、销售与网络安全服务,在入侵检测/保护、远程评估、 DDoS攻击防护等方面提供具有国际竞争能力的先进产品,是国内最具安全服务经验的专业公司。有关绿盟科技的详情请参见: http://www.nsfocus.com

© 2017 绿盟科技