1.此次事件回顾

Google 官方博客称,3月20日他们发现埃及的中级 CA MCS Holdings 发行了多个 Google 域名的假证书,而 MCS Holdings 的中级证书则由中国的CNNIC发行,CNNIC 作为根CA被几乎所有操作系统和浏览器信任。Google 联系了CNNIC,CNNIC 在3月22日回应称,MCS 本应该只向它注册的域名发行证书。在此案例中,CNNIC 向 MCS 发行了一个无约束的中级证书,MCS 将其安装在一个防火墙设备上充当中间人代理,用于执行SSL 中间人攻击(SSL MITM)。

cnnic


2.CNNIC 是什么

CNNIC ,中国互联网络信息中心,由中央网络安全和信息化领导小组办公室、国家互联网信息办公室领导。CNNIC Root CA 证书包含在所有主要操作系统的受信任的根证书存储区中,所以其颁发的证书被几乎所有浏览器和操作系统所信任。包括 Windows、OS X、Linux 等系统。CNNIC 根证书所签发的证书是完全“合法”的。


3.为什么要建议吊销 CNNIC 根证书

删除证书的主要原因是避免“中间人攻击”。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。在许多情况下这是很简单的。

简单的描述,拥有这个根 CA 证书的机构可以签发任何一个目标攻击网站的 SSL 证书。攻击者可以用这张签发的证书劫持你的所有网络数据,你不会有得到任何受到攻击的提示,因为证书是合法的,浏览器不会发出任何警示。

吊销CNNIC证书是一种风险规避,如果你所访问的网站里不使用CNNIC证书,对其进行屏蔽并不会带来任何问题,但是政府行为可能会要求 CNNIC 对未授权的网站进行证书签署然后用于劫持。

3.1什么是中间人攻击

中间人攻击(Man-in-the-middle attack),维基百科——中间人攻击,是指攻击者与通讯的两端分别建立独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。

3.2中间人攻击的案例

2013 年 1 月 26 日晚 GitHub 遭到 SSL 中间人攻击。

2014 年 10 月 2 日至 10 月 6 日,微软账号(login.live.com)在中国大陆地区遭受大面积SSL中间人攻击。

2014 年 10 月 19 日,国内 iCloud 服务器遭遇中间人攻击。

2014 年 10 月 20 日,雅虎在中国大陆地区再次受到 SSL 中间人攻击。

2015 年 1 月 21 日,微软证实其 Outlook 电子邮件服务被中国黑客作为攻击目标,遭到中间人攻击,微软用户仅在中国受到影响。

2015 年 3 月 23 日,谷歌发现 CNNIC 颁发了多个针对谷歌域名的用于中间人攻击的证书。


4.如何吊销 CNNIC 根证书

通过手动的方式一个一个删除 CNNIC 证书比较麻烦,对此特别感谢 @chengr28 同学制作的批处理工具。你可以在此下载这个工具。然后解压缩。

Windows 系统使用方法

分别以 普通权限 和以 管理员权限 分别运行一次位于 RevokeChinaCerts_Online.bat 并根据提示进行操作,输入2,回车。操作完毕建议清空所有浏览器数据和系统缓存,并重启网络连接。

Mac OS X系统使用方法

使用 sudo命令以 ROOT 权限运行位于解压出来的文件夹里的Mac 目录里的 RevokeChinaCerts.shRevokeChinaCerts_All.sh 即可


5.如何检查证书是否吊销成功

在进行吊销证书操作之后,你可以尝试用浏览器访问此网站https://www.cnnic.cn/来检查,如果显示证书错误,则表明已经吊销成功。


6.注意事项

部分安全软件的 HTTPS 扫描功能可能会利用中间人攻击的方法自己签发 CA 证书对加密内容进行扫描,此类功能会直接导致本工具完全失效,强烈建议关闭此类功能或者将其彻底卸载!

吊销 CNNIC 证书之后所有使用此证书的网站将无法访问,例如 12306官网。望悉知这个风险。


7.参考资料

1.【Revoking Trust in one CNNIC Intermediate Certificate

2.【Bug 542689 - Please remove CNNIC CA root certificate from NSS

3.【RevokeChinaCerts

4.【China Internet Network Information Center —— Wikipedia

5.【如何吊销 CNNIC 根证书

Comments
Write a Comment