Drown跨协议攻击TLS漏洞分析
北京时间 2016年3月2日,OpenSSL官方发布了新的安全公告。公告中提及修复了一个高危漏洞——DROWN跨协议攻击TLS漏洞。百度云安全威胁管理团队联合百度安全应急响应中心第一时间对事件触发应急响应和全网感知,深度分析了漏洞的危害和影响范围。
经分析,攻击者利用该漏洞可突破目前广泛使用的依赖SSL和TLS安全加密体系,互联网中有大约1100万站点或者服务受到此漏洞影响。
一、Drown跨协议攻击TLS漏洞分析
- 漏洞危害
攻击者通过中间人攻击等手段截获和解密用户和服务器之间的加密通信,包括但不限于用户名和密码、信用卡号、电子邮件、即时消息,以及敏感文件。在一些常见的场景,攻击者还可以冒充一个安全的网站拦截或篡改用户看到的内容。
- 攻击原理
DROWN漏洞主要利用SSLv2协议的脆弱性对TLS协议进行攻击。ssl证书申请
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(session keys)解密ServerVerify中部分消息,如果解密成功,则是明文,不成功则是随机填充的队列。
3)重放相同的RSA密文请求时,根据判断解密的值是否相同知道上一次是否解密成功。
整理以上思路,总结出一个大致的攻击流程:
1)攻击者使用中间人攻击手段获取1000左右 TLS的握手包
2)攻击者根据特性讲ClientKeyExcchange生成大量的PKCS#1 v1.5加密的ClientMasterKey消息,向服务端不断发起SSLv2 Export_40的连接,最终生成一个有效的SSLv2 RSA密文。
3)利用padding oracle的攻击方式解密密文。
4)攻击者SSLv2 RSA明文 转换成TLS的明文,再进行其他恶意行为
3.检测方式
通过原理可以知道,只要服务端支持SSLv2 弱强度加密组件就容易受到影响。
可通过发起SSLv2 的连接包,从返回的banner里面判断是否支持
SSL_RC2_CBC_128_CBC_EXPORT40_WITH_MD5
SSL_RC4_128_EXPORT40_WITH_MD5
SSL_DES_64_CBC_WITH_MD5
等弱强度算法
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;
Drown跨协议攻击TLS漏洞分析相关推荐
- Windows Server中的 WINS 服务器远程内存损坏漏洞分析
本文讲的是Windows Server中的 WINS 服务器远程内存损坏漏洞分析, 漏洞概要 在2016年12月,FortiGuard Labs发现并报告了Microsoft Windows Serv ...
- SSL/TLS 协议简介与实例分析
作者:drinkey 以前读RFC时总结的一篇文章,主要介绍了SSL/TLS协议的相关知识,包括协议本身以及简单的密码学概念,以及用实例解析了HTTP over SSL的协商过程,在最后简要列出了SS ...
- 常见的几种SSL/TLS漏洞及攻击方式
原文阅读:https://www.infinisign.com/fa... 迄今为止,SSL/TLS已经阻止了基于SSL的无数次的网络攻击,本文介绍了SSL/TLS常见的几种漏洞以及过往的攻击方式,针 ...
- TLS/SSL漏洞分析与检测
1.5.1 Export 加密算法 Export是一种老旧的弱加密算法,是被美国法律标示为可出口的加密算法,其限制对称加密最大强度位数为40位,限制密钥交换强度为最大512位. 1.5.2 Downg ...
- Weblogic12c T3 协议安全漏洞分析【CVE-2020-14645 CVE-2020-2883 CVE-2020-14645】
给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 关注公众号:b1gpig信息安全,文章推送不错过 ## 前言 WebLogic是美国Oracle公司出品的一个application server ...
- 【漏洞修复】SSL/TLS协议信息泄露漏洞(CVE-2016-2183)
漏洞修复-SSL/TLS协议信息泄露漏洞(CVE-2016-2183)[原理扫描] @Time : 2022/10/20 09:30 @Author : 852782749@qq.com 开始编辑- ...
- SSH协议弱加密算法漏洞的利用及复现(中间人攻击)
SSH协议弱加密算法漏洞的利用及复现(中间人攻击) SSH协议弱加密算法漏洞的利用及复现(中间人攻击) 很多服务器或者交换机是存在SSH协议弱加密算法漏洞的,但是该漏洞如何利用呢?最近研究了下此漏洞的 ...
- CVE-2020-1938 幽灵猫( GhostCat ) Tomcat-Ajp协议 任意文件读取/JSP文件包含漏洞分析
title: CVE-2020-1938 幽灵猫( GhostCat ) Tomcat-Ajp协议 任意文件读取/JSP文件包含漏洞分析 date: 2021-05-19 01:07:08 categ ...
- 【组件攻击链】XStream组件高危漏洞分析与利用
组件介绍 XStream是Java类库,用来将对象序列化成XML(JSON)或反序列化为对象.XStream在运行时使用Java反射机制对要进行序列化的对象树的结构进行探索,并不需要对对象作出修改.X ...
最新文章
- 为什么很难创造出新的处理器?
- 【计算广告】不懂这些专业术语别说你懂广告
- object-c编程tips-timer
- WPF中的路由事件(转)
- python 语音播放_基于Python编写的语音播放软件
- 微信小程序开发实战基础一、页面跳转,底部导航栏,分享,加载图片标签,列表
- 在线直接绘制倾斜45度的“火山图”
- Linux sed命令实例详解
- 做DNS子域委派配置
- win10 安装visual studio 2015遇到的坑
- usb驱动自安装程序的制作
- 如何利用回调模式去解决问题
- 用GDB调试程序(11)──查看运行时数据(2)-转
- python中的and_我想问下python中 逻辑与:“”和“and”的区别
- 无交换机实现集群网络互联
- Linux时间子系统
- JDK 1.6 API 中文版
- 自制能自动加载所需RAID驱动的Windows PE系统来安装服务器系统
- 必读的 Java 学习资料分享! 1
- 人脸识别系统 讲解以及环境搭建(Java 附源码)