攻击者会使用DNS中毒来骗取CA的信任,诱骗它们签发欺诈性的证书

德国研究人员发现了一种方式,可以骗取不同证书机构(CA)的信任,让它们签发欺诈性的SSL证书,而这可能会给SSL/TLS生态系统带来严重威胁。

在采访了弗劳恩霍夫安全信息技术研究所的其中一名研究人员Haya Shulman博士之后,The Register发布了一份报告,称此攻击可以从根本上诱骗部分CA不正确地签发SSL证书。显然,这里的威胁是指诱骗者可以为其他人的域名获取SSL证书,并用它来创建极其逼真的网站副本。事实上,这一副本如此有说服力,以至于用户的网络浏览器都会被它欺骗。

之后,攻击者会对人们进行网络钓鱼,让他们感染恶意软件,或者只是窃取他们的凭证。Shulman和她的团队已经将研究成果编制成了一份报告,而这份报告将在下月于多伦多的举行的ACM计算机与通讯安全国际会议上公布。他们并没有透露可能受到此攻击欺骗的CA的名称。

今天早上,我四处询问了一番,尽管现在我可以排除部分CA,但是我还是不知道谁受到了影响。

看过这份研究报告的The Register发表了以下摘录:

“攻击会利用DNS缓存中毒来骗取CA为域名签发欺骗性的证书,而这些域名并不归攻击者合法所有——即证书绑定攻击者的公钥,而该公钥又连接着受害域名。”

攻击是从DNS请求开始的。之后攻击者必须在来自真正的名称服务器的响应到来之前,制作一个正确的DNS响应。这个技巧事实上确保了CA正在进行尝试的DNS域名验证检查得到了执行,但是使用的是攻击者的DNS服务器,而不是与目标域名相关的那个服务器。

“此攻击依赖于把DNS响应拆分成不同的片段,然后再注入恶意的片段,以欺骗CA把证书交给攻击者。响应的第一个片段包含了有效的DNS挑战——响应字段。插入的片段可以是不法分子完成此项攻击所需的任何东西,因此他或她就能够获取这个证书。”

值得注意的是,这个技巧只适用于域名验证SSL证书(不是OV或EV),并且需要一些相当广泛的收集工作,才能取得成功。它可能只需要一台笔记本电脑,但一个业余爱好者可能很难收集到正确的信息——也就是来自目标的名称服务器的响应,而这个名称服务器“在拆分发生的地方会被抵消”。

研究人员提出了一种叫做DV++的方法。这是分布式信任概念的一个分支,许多研究人员和信息安全专家最近都开始研究起这个概念。

在分布式信任场景中,通常由中央“统一”证书颁发机构执行的功能都是去中心化的,这是一个非常流行的术语,因为所有的加密货币和区块链营销兄弟都选择了它。

大体上,这一工作原理就是这样的,而不是单个实体执行域名验证,域名所有者必须向多个利益相关者宣称所有权。

“要通过DV++验证,域名所有者必须以完全自动化的方式向大多数代理商证明他们的所有权,方法是响应代理商为域名中的资源记录发出的各种查询。”

在分布式信任模型的某些版本中,比如Milagro的,当客户到达一个网站时,身份验证检查将由三个或更多的信任机构来执行,所有的信任机构都将拥有公钥的部分片段。然后,用户的浏览器会将这些密钥片段组合成一个密钥。这可以从根本上防止根权限入侵。

分布式信任模型所代表的与当前SSL/TLS和类似密码系统所使用的公共密钥基础设施模型仅有一步之遥。这是一个有趣的讨论,它与谷歌最近宣布的弃用URL的计划相吻合。