幽灵学院 - 菜鸟起航从这里开始!

幽灵学院 - 中国最权威的网络安全门户网站!

当前位置: > 黑客技术 > 漏洞分析 >

Drown跨协议攻击TLS漏洞分析

北京时间 2016年3月2日,OpenSSL官方发布了新的安全公告。公告中提及修复了一个高危漏洞——DROWN跨协议攻击TLS漏洞。百度云安全威胁管理团队联合百度安全应急响应中心第一时间对事件触发应急响应和全网感知,深度分析了漏洞的危害和影响范围。经分析,攻

北京时间 2016年3月2日,OpenSSL官方发布了新的安全公告。公告中提及修复了一个高危漏洞——DROWN跨协议攻击TLS漏洞。百度云安全威胁管理团队联合百度安全应急响应中心第一时间对事件触发应急响应和全网感知,深度分析了漏洞的危害和影响范围。经分析,攻击者利用该漏洞可突破目前广泛使用的依赖SSL和TLS安全加密体系,互联网中有大约1100万站点或者服务受到此漏洞影响。

一、Drown跨协议攻击TLS漏洞分析 1. 漏洞危害

攻击者通过中间人攻击等手段截获和解密用户和服务器之间的加密通信,包括但不限于用户名和密码、信用卡号、电子邮件、即时消息,以及敏感文件。在一些常见的场景,攻击者还可以冒充一个安全的网站拦截或篡改用户看到的内容。

2. 攻击原理

DROWN漏洞主要利用SSLv2协议的脆弱性对TLS协议进行攻击。

SSLv2协议是90年代推出的安全协议,由于存在大量的安全问题,被后来的TLS协议给替代。目前主流的浏览器等客户端已经禁用了SSLv2协议。OpenSSL官方在2010年的0.9.8n和1.0.0的版本中也移除了对SSLv2的支持。但是在OpenSSL的服务端的实现并没有严格遵守官方的标准,若配置不当依然可以强制使用Export加密套件(包括密钥交换,加密算法,HMAC等的组合),附SSLv2加密套件(22,24为对外出口的弱加密方式,只有40位加密强度)

North American Edition (U.S. and Canada)

Short name Long name Description

27 SSL_DES_192_EDE3_CBC_WITH_MD5 Triple-DES (168 bit)

21 SSL_RC4_128_WITH_MD5 RC4 (128 bit)

23 SSL_RC2_CBC_128_CBC_WITH_MD5 RC2 (128 bit)

26 SSL_DES_64_CBC_WITH_MD5 DES (56 bit)

22 SSL_RC4_128_EXPORT40_WITH_MD5 RC4 (40 bit)

24 SSL_RC2_CBC_128_CBC_EXPORT40_WITH_MD5 RC2 (40 bit)

SSLv2协议存在的以下特性,使其非常容易受到Padding Oracle的攻击。

1)支持SSLv2协议的服务器在收到一个ClientMasterKey消息时,会立即发送ServerVerify确认信息,不校验客户端是否明文。

2)使用Export 40位加密时,master_key中只有5个字节以RSA加密

master_key= mkclear||mksecret,攻击者可通过服务端返回的server_write_key(sessionkeys)解密ServerVerify中部分消息,如果解密成功,则是明文,不成功则是随机填充的队列。

3)重放相同的RSA密文请求时,根据判断解密的值是否相同知道上一次是否解密成功。

32DF2110-D931-4358-8F57-0E3A8FBBA7DD

整理以上思路,总结出一个大致的攻击流程:

1)攻击者使用中间人攻击手段获取1000左右 TLS的握手包

2)攻击者根据特性讲ClientKeyExcchange生成大量的PKCS#1 v1.5加密的ClientMasterKey消息,向服务端不断发起SSLv2 Export_40的连接,最终生成一个有效的SSLv2 RSA密文。

3)利用padding oracle的攻击方式解密密文。

4)攻击者SSLv2 RSA明文 转换成TLS的明文,再进行其他恶意行为

三.检测方式

通过原理可以知道,只要服务端支持SSLv2弱强度加密组件就容易受到影响。

可通过发起SSLv2 的连接包,从返回的banner里面判断是否支持

SSL_RC2_CBC_128_CBC_EXPORT40_WITH_MD5

SSL_RC4_128_EXPORT40_WITH_MD5

SSL_DES_64_CBC_WITH_MD5

等弱强度算法

在线检测

https://test.drownattack.com/?site=www.yahoo.com

使用nmap 检测

nmap -p 443 —script=sslv2

如下表示存在

PORT STATE SERVICE
443/tcp open https
| sslv2:
| SSLv2 supported
| ciphers:
| SSL2_DES_192_EDE3_CBC_WITH_MD5
| SSL2_IDEA_128_CBC_WITH_MD5
| SSL2_RC2_CBC_128_CBC_WITH_MD5
| SSL2_RC4_128_WITH_MD5
| SSL2_DES_64_CBC_WITH_MD5
| SSL2_RC2_CBC_128_CBC_WITH_MD5

|_ SSL2_RC4_128_EXPORT40_WITH_MD5

附其他检测脚本

https://github.com/nimia/public_drown_scanner/blob/master/scanner.py

二、 Drown跨协议漏洞影响面分析

1. 全球影响面

从百度掌握的大数据来看,初步估计受影响的主机达500万,其中全球以美国、欧洲受影响最大,中国也有十余万主机面临威胁

2. 国内影响面

单独从国内来看,北上广为重灾区,占全国受影响主机3成以上:

PastedGraphic-1

4

D

三、Drown跨协议漏洞处理建议

可见国内情况也不乐观,建议大家及时升级openssl,并禁用sslv2版本协议。

在CentOS、Redhat系统,可以通过如下命令升级:

# yum update openssl

ubuntu等版本可以通过如下命令升级:

# apt-get upgrade openssl

通过如下配置禁用apache的SSLv2:

SSLProtocol all -SSLv2

通过如下配置限制nginx中只使用TLS协议:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

(责任编辑:幽灵学院)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码: 点击我更换图片
栏目列表
推荐内容
1700055555@qq.com 工作日:9:00-21:00
周 六:9:00-18:00
  扫一扫关注幽灵学院