[English]

最后更新: 2016年10月26日,14:00:00 星期一 +0800

CVE-2016-8610: "SSL红色警戒"漏洞
OpenSSL SSL3_AL_WARNING 未定义告警远程拒绝服务 (CVE-2016-8610)

概述

在OpenSSL针对SSL/TLS协议握手过程的实现中,允许客户端重复发送打包的 "SSL3_RT_ALERT" -> "SSL3_AL_WARNING" 类型明文未定义警告包,且OpenSSL在实现中遇到未定义警告包时仍选择忽略并继续处理接下来的通信内容(如果有的话)。攻击者可以容易的利用该缺陷在一个消息中打包大量未定义类型警告包,使服务或进程陷入无意义的循环,从而导致占用掉服务或进程100%的CPU使用率。
来自RedHat产品安全团队的Huzaifa Sidhpurwala发现同样的问题也存在于gnutls软件中。

对策

从供应商获得软件更新。参考下面链接。

补丁地址:

https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=af58be768ebb690f78530f796e92b8ae5c9a4401

问题

A. 攻击者可通过多个连接重复发送大量重叠警告包(这里重叠警告包指一条消息中包含多个警告)导致服务器拒绝服务。

Q. 漏洞利用影响范围?

A. 该漏洞影响了大部分的OpenSSL版本,任何使用受影响 OpenSSL 版本库的服务都有可能受到影响,其中使用OpenSSL的Nginx可以很容易被拒绝服务攻击(比如: 本地环回地址,或在不考虑业务压力下的千兆带宽环境)。

Q. 哪些版本受影响?

A. 影响版本:

不受影响:

Q. 如何避免被攻击?

A. 升级到最新版本。

Q. 我需要注销私钥或证书吗?

A. 不需要。攻击者不能窃取到私钥。

Q. 是由于 SSL/TLS 规范缺陷造成的吗?

A. 不确定。

Q. 哪些协议版本受影响?

A. 所有版本 (SSL3.0, TLS1.0, TLS1.1, TLS1.2) 都受影响。

Q. 哪些加密算法受影响?

A. 所有加密算法都受影响(此问题与算法无关)。

Q. 如何发现被攻击了?

A. 很难说。

Q. 你们怎么发现这个漏洞的?

A. 此漏洞由来自360 Gear Team的 石磊 (360信息安全部)在阅读 OpenSSL 源码时发现。
来自RedHat产品安全团队的Huzaifa Sidhpurwala发现同样的问题也存在于gnutls软件中。

Q. 你们是如何处理此漏洞的?

A. 我们发现漏洞后报给了 OpenSSL 官方和 RedHat 产品安全团队,进行协同式披露。

参考

可以在CC0协议下使用此图标。下载SVG格式图标

致谢

修改记录