企业应该如何防范HTTPS伪造证书?

  最近未经授权的HTTPS证书成为热门新闻话题,其中有些证书还是来自已熟知/理应可信的供应商的根存储。那么,企业应该如何防范这些伪造证书?

  Michael Cobb:互联网的安全性在很大程度上依赖于对证书颁发机构(CA)的信任,CA颁发数字证书以供Web服务器用于识别自己和加密服务器及用户之间的流量。这些证书可以防止攻击者伪造网站或者窃听发送到和发送自网站的通信。

  不幸的是,这种信任正在被破坏,因为一系列针对CA(例如DigiNotar和Comodo)的攻击以及ANSSI情况中的糟糕做法—这导致颁发欺诈性或未经授权数字证书。伪造证书允许攻击者窥视Web服务器和浏览器之间发送的信息,即使这种连接似乎很安全。他们还可以用来欺骗内容以及执行网络钓鱼或中间人攻击。在最近的事件中,在CA印度国家信息中心(NIC)的证书发布过程受到攻击后,对很多谷歌的域名发出了未经授权数字证书。

  NIC持有几个中间CA证书受印度政府的核准控制局(India CCA)信任。这些India CCA证书包含在微软Root Store中,因此Windows中运行的很多应用程序都信任该证书,包括IE浏览器和谷歌的Chrome浏览器。Mac OS X、iOS和Android操作系统中的根存储并不包含印度CCA的证书,所以并没有受到影响。Firefox也没有受到影响,因为它使用的是自己的根存储,其中不包含这些证书。

  谷歌通过发布CRLSet迅速阻止了Chrome中的未经授权的证书。印度CCA随后撤销了所有NIC中间证书,并且进行了又一次CRLSet更新来包含这个撤销。同时,由于谷歌网站利用公共密钥pinning机制,Windows中的Chrome不会让谷歌网站接受这些伪造证书。pinning是一种HTTP协议,允许Web管理员指示浏览器在给定的时间内记住或者“pin”到Web服务器的数字证书,从而减少了在这个pin时间内可以验证该域名的机构数量。

  目前有几个举措正试图改进对CA及其颁发证书的信任。这些包括谷歌的Certificate Transparency计划和DNS-based Authentication of Named Entities(DANE)。然而,到目前为止这些项目并没有广泛的部署。

  浏览器的信任决策是基于根存储中信任根,因此企业保护其用户免受恶意证书的危害的最好办法是,确保浏览器保持更新了最新的证书信任列表。打开浏览器中的证书吊销检查并不能够很有效地确定证书是否仍然有效,并会显著减慢页面加载时间。更好的选择是使用防火墙来深层扫描SSL加密流量,以嗅出假证书或恶意代码。安全团队还应该监控安全新闻feeds,并且在还没有可用更新而对网络的风险被认为不可接受时,应该从根存储手动删除不受信任证书。在整个企业网络撤销根和清除本地缓存CTL的指令可以通过组策略来发布。

 

上一篇:智能无惧挑战 山石网科轰动RSA2015

下一篇:2015年企业如何避免索尼式的安全悲剧?