重要的互联网基础工具OpenSSL在Heartbleed“心脏出血”漏洞发生不久后,于2014年6月5日再次修正了一个可以导致中间人攻击的新漏洞“CCS”(CVE-2014-0224)。
概要
OpenSSL的ChangeCipherSpec处理流程的不当,可能导致加密通讯的信息泄露,或通信过程中插入中间人的可能。
此漏洞同时影响服务器和客户端两边,并且能够可靠重复,非常易于制作成自动化的攻击程序,必须妥善应对。
这个漏洞是日本Lepidum公司的Masashi Kikuchi发现的。
存在与修正
没有侥幸,此漏洞存在于所有版本。
包含:
- OpenSSL 1.0.1 - 1.0.1g
- OpenSSL 1.0.0 - 1.0.0l
- OpenSSL 0.9.8y,以及之前的所有版本
2014年6月5日,OpenSSL专门为所有三个版本分支,发布了以下修正版,专门应对这一漏洞:
- OpenSSL 1.0.1h
- OpenSSL 1.0.0m
- OpenSSL 0.9.8za
参照:Heartbleed漏洞的仅存在于1.0.1分支的1.0.1 - 1.0.1f,通过发布1.0.1g得到修正。
目前已知Ubuntu、Debian、FreeBSD、CentOS、Red Hat 5、Red Hat 6、Amazon Linux AMI已经发布安全补丁修正此问题。
常见问题
可行的攻击类型?
客户端与服务器均有漏洞且服务器低于1.0.1:通信内容直接的泄露与篡改。服务器有漏洞:伪造客户端身份攻击。
是否需要重新生成密钥或证书?
这个漏洞无法通过通信本身去盗取证书。但如果经由OpenSSL的SSL/TLS加密发送过证书正文,则由于正文属于通信内容,所以有被窃听的可能,就需要考虑重新生成的必要性。
这是SSL/TLS协议的缺陷吗?
不是。这是OpenSSL的实现问题。
影响的协议?
SSL3.0, TLS1.0, TLS1.1, TLS1.2 全部。
影响的加密算法?
和加密算法无关。(无论采用何种算法均受影响)
可以发现攻击者吗?
不可能。这个攻击没有痕迹。
IDS/IPS可以发现吗?
通过IDS/IPS检测不合法的消息顺序可以检测到攻击。
参考资料
- CVE-1024-0224: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224
- OpenSSL 05-Jun-2014 Security Advisory: https://www.openssl.org/news/secadv_20140605.txt
- Linux发行版的修正公告:Ubuntu、Debian、FreeBSD、CentOS、Red Hat 5、Red Hat 6、Amazon Linux AMI