SSL/TLS Suffers 'Bar Mitzvah Attack'漏洞检测方法及修复建议
0x01 前言
愚人节即将到来,SSL再次因Bar Mitzvah Attack漏洞弄的大家不得安宁。
在新加坡举行的Black Hat亚洲安全会议上,Imperva公司的安全总监Itsik Mantin详细介绍如何使用该攻击原理, 该漏洞是由功能较弱而且已经过时的RC4加密算法中一个长达13年的问题所导致的. 通过RC4的不变性弱密钥,允许攻击者在特地情况下还原加密信息中的纯文本,可能就会暴露帐户密码,信用卡数据,或其他敏感信息。不像以前SSL攻击手法,仅仅只需要被动嗅探和监听SSL/TLS连接就可以进行攻击. Itsik Mantin介绍说如果要劫持会话可能还是要用到中间人攻击。
该漏洞的产生原因是由于不变性弱点,是在RC4加密算法中的一个L型关键图形,其中一旦它存在于一个RC4密钥,保存的状态会排列完整直到整个初始化过程结束.这个完整的部分包括排列的至少显着位当由PRGA算法处理,确定了据称伪随机输出流的最低有效位沿着数据流的一个长长前缀。这些偏流的字节的明文字节的异或运算,就会导致重大泄漏明文字节内容.
在握手协议中,RC4加密密钥对于上行和下行通信中生成。在记录协议中,上游密钥用于加密客户机到服务器的通信,而下游密钥用于服务器到客户端的通信进行加密。要注意的是,加密是有重要的状态,使用第一密钥流用于加密第一个字节的消息,随后的密钥流字节加密下一条消息等。鉴于不变性弱点是只表示在第一个100字节的密钥流,它只能仅用于第一个100字节受的保护的上行流量和第一个100字节的受保护下行流量。由于SSL握手是在每个方向上的第一加密消息完成消息(SSL的典型的使用36个字节),大约64个字节的明文数据留给攻击者。
这种流动描述详细请见下图。
目前虽然DebianUbuntuRedHat等主流发行版本均未出正式修复补丁,万幸的是攻击POC也未正式公布出来,所以大家可以先参考临时修复方案进行修复。
0x02 影响版本范围
Web容器开启了SSL/TLS访问方式,并未屏蔽RC4加密算法的.
0x03 本地检测是否存在该漏洞
https远程检查方法(看一个网站是脆弱的RC4弱密钥攻击,你可以使用OpenSSL命令):
openssl s_client -connect adobe.com:443 -cipher RC4
如果看到连接握手成功,可以看到证书信息则说明存在该风险漏洞
如果你看到"alert handshake failure"这句话就说明该网站是安全的.
0x04在线监测是否存在该漏洞
也可以利用 SSL Server Test -- 安全测试工具 去测试下你的 HTTPS 是否存在风险.
https://www.ssllabs.com/ssltest/index.html
0x05临时修复方案
1.禁止apache服务器使用RC4加密算法
vi /etc/httpd/conf.d/ssl.conf
修改为如下配置
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!RC4
需要重启apache服务
/etc/init.d/httpd restart
访问查看效果:
2.关于nginx加密算法
1.0.5及以后版本,默认SSL密码算法是HIGH:!aNULL:!MD5
0.7.65、0.8.20及以后版本,默认SSL密码算法是HIGH:!ADH:!MD5
0.8.19版本,默认SSL密码算法是ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM
0.7.64、0.8.18及以前版本,
默认SSL密码算法是ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
低版本的nginx或没注释的可以直接修改域名下ssl相关配置为
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA
256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA
256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES
256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA
256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:
ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GC
M-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_prefer_server_ciphers on;
需要nginx重新加载服务
/etc/init.d/nginx reload
访问查看效果:
或者是在线检测是否修复完成:
0x06浏览器手工屏蔽方案
默认当apache开启RC4优先加密算法时,Chrome浏览器访问结果如下:
Windows 用户:
1)完全关闭 Chrome 浏览器和Mozilla Firefox浏览器
2)复制一个平时打开 Chrome 浏览器(Mozilla Firefox浏览器)的快捷方式
3)在新的快捷方式上右键点击,进入属性
4)在「目标」后面的空格中字段的末尾输入以下命令
--cipher-suite-blacklist=0x0004,0x0005,0xc011,0xc007
0x0004 对应 RSA-RC4128-MD5,
0x0005 对应 RSA-RC4128-SHA,
0xc011 对应 ECDHE-RSA-RC4128-SHA,
而最后的 0xc007 对应 ECDHE-ECDSA-RC4128-SHA。
这样就可以將 RC4 禁用掉。
Mac OS X 用户:
1)完全关闭 Chrome 浏览器
2)找到本机自带的终端(Terminal)
3)输入以下命令:/Applications/Google Chrome.app/Contents/MacOS/Google Chrome --cipher-suite-blacklist=0x0004,0x0005,0xc011,0xc007
Linux 用户:
1)完全关闭 Chrome 浏览器
2)在终端中输入以下命令:google-chrome --cipher-suite-blacklist=0x0004,0x0005,0xc011,0xc007
0x07 参考来源
http://en.wikipedia.org/wiki/Bar_mitzvah_attack
http://www.darkreading.com/attacks-breaches/ssl-tls-suffers-bar-mitzvah-attack-/d/d-id/1319633
http://www.theregister.co.uk/2015/03/27/bar_mitzvah_crypto_attack/
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号
随时掌握互联网精彩
随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 奋力打开改革发展新天地 7921913
- 2 中国黄金原董事长家搜出大量黄金 7915381
- 3 空调英文不会男生盯着考场空调看 7869591
- 4 “冷资源”里的“热经济” 7749385
- 5 被铁路售票员的手速惊到了 7604712
- 6 网红赤木刚宪爆改赵露思 7551402
- 7 特朗普想拿下世界第一大岛 7491854
- 8 山姆代购在厕所分装蛋糕 7377259
- 9 女演员陈丽君回应获最佳男主角奖 7244074
- 10 刘强东提前发年终奖 7197047