如何应对伪造的SSL证书?

111111111111111.png

在互联网中,仍存在一个巨大的加密后门,可怕的是大部分人却并不知道。我所指的是传统的数字证书管理系统,它完全是基于信任的,但同时它又是十分脆弱的,其信任认证曾被多次打破。

数十亿的互联网用户为了确保个人数据的机密性和完整性,盲目地依赖于全球的数百个证书颁发机构。

在这篇文章中,我将解释以下问题:

当前数字证书管理系统中的结构性漏洞

证书颁发机构为什么失去了人们的信任?

证书透明度是如何弥补SSL证书系统中存在的问题的?

如何发现所有指向你域名的数字证书(合法或伪造)?

首先,你需要了解证书颁发机构及其作用:

证书颁发机构及其作用

2222222222222222222.png

证书颁发机构是一个受信任的第三方组织,负责发布和管理SSL/TLS证书。

全球有数百个受信任的证书颁发机构,他们中任何一个都有权利为你的域名颁发有效的SSL证书,尽管你可能已经从某个证书颁发机构购买了一个。

对,这就是CA系统中最大的漏洞。

SSL的信任链破裂

去年,谷歌发现赛门铁克(证书颁发机构之一)在Google不知情下为Google域名颁发了有效期一天的预签证书。

这样的事情已经不是第一次发生了,证书颁发机构的权利被滥用或者是错误地被用于发布伪造的数字证书,这样的举动使数百万互联网用户的隐私处于危险之中。

2011年3月,一名黑客入侵了Comodo公司(一个著名的证书颁发机构),偷走了七个Web域共9个数字证书,包括mail.google.com, addons.mozilla.org和login.yahoo.com等。

在同一年,荷兰的证书颁发机构DigiNotar同样遭到了黑客入侵,颁发了大量的伪造证书。

由于信任链的破裂,数百万的用户遭到了中间人攻击。

此外,爱德华·斯诺登泄露的文件透露:美国国家安全局截取和破解了大量HTTPS加密的Web会话,这也表明,某些所谓受信任的证书颁发机构可能受到了政府的控制或者得到了政府的授权。

如果政府要求某些这样的证书颁发机构颁发一些著名网站的伪造SSL证书,例如Facebook, Google or Yahoo,那该如何是好?

这并不是一个推测,而是实实在在发生过的。政府机构和一些政府所资助的黑客通过滥用受信任的证书颁发机构来获取伪造的一些知名网站的数字证书,并将其用于监视用户。

涉及到政府的一些案例

1.)2011年,DigiNotar证书颁发机构颁发的伪造数字证书被用于攻击约300000个伊朗用户的Gmail账户。

2.)2013年末,谷歌发现法国政府伪造了其域名的数字证书,并将其用于实施中间人攻击。

3333333333.jpg

3.)2014年,谷歌证实了又一事件:印度国家信息中心使用了其域名的未授权数字证书。

到了这你就能明白,那些所谓的证书颁发机构给予HTTPS加密网站的安全性有多么脆弱了吧。

你仍然盲目地信任证书颁发机构吗?

DigiNotar公司和Comodo公司的事件为我们敲响了警钟,也结束了这盲目信任证书颁发机构的时代。

问题:你如何去检查是否有指向你域名的伪造证书被发行给他人,甚至是被攻击者所利用?

答案:Certificate Transparency(证书透明度)项目,它的目标是提供一个开放的审计和监控系统,可以让任何域名所有者或者证书颁发机构确定证书是否被错误签发或者被恶意使用,从而提高 HTTPS 网站的安全性。

在2013年,谷歌发起了一个针对全行业的倡议,名为Certificate Transparency(证书透明度),

这是一个开源项目,用于记录,审计和监控证书颁发机构所颁发的数字证书。

什么是Certificate Transparency系统?

4444444444444444444.png

Certificate Transparency项目包括三部分:

1.证书日志

2.证书监视

3.证书审计

Certificate Transparency项目要求证书颁发机构公开地宣布其颁发的每一个数字证书(将其记录到证书日志中)。

证书日志提供给用户一个查找某个给定域名颁发的所有数字证书的途径。

值得注意的是,Certificate Transparency模型并没有替代传统的以证书颁发机构为基础的鉴定验证程序,它只是提供给你一个途径,让你可以确保你的证书是独一无二的。

证书日志有3个优点:

1.仅允许附加:证书记录只能被添加,而不能被删除,修改,或者追溯地将数据插入日志。

2.加密可靠:证书日志使用知名的“Merkle Tree Hashes”加密机制来防止被篡改。

3.公开审计:任何人都可以查询日志,或者验证颁发的数字证书是否已经被合理地记录在了日志之中。

在CT中,每个数字证书都包含一个证书时间戳,它可以证明数字证书在被颁发之前已经被记录到了日志之中。

谷歌,DigiCert,Symantec和一些证书颁发机构目前管理着这些公开日志。

5555555555555555.png

虽然CT不能阻止证书颁发机构颁发伪造的数字证书,但是它可以让我们更容易地发现它们。

CT将让人们可以快速地识别出被错误地或者恶意地颁发的数字证书,以此来缓解可能会出现的安全问题,例如中间人攻击。

今年早些时候,Certificate Transparency系统和监控服务帮助facebook安全团队提前检测到了多个fb.com子域的伪造证书。

另一篇文章中,我详细介绍了facebook所提供的Certificate Transparency监控服务,它可以自动而快捷地发现SSL证书的问题。

facebook已经向The Hacker News (THN) 证实,在未来几个月会把试验性的Certificate Transparency监控服务免费提供给更多的社区。

Certificate Transparency搜索工具

听起来很有趣?

Comodo已经推出了一款Certificate Transparency搜索工具,它可以列出给定域名所有颁发的证书。

或者,你也可以去试试谷歌的Certificate Transparency查询工具,它可以在目前公开的Certificate Transparency日志中查询任意一个给定的域名的所有颁发证书。

如果你发现有指向你域名的伪造证书,请立即报告给相应的证书颁发机构解决。

此条目发表在未分类分类目录。将固定链接加入收藏夹。