今天,微软发布了一项安全警告,称“火焰”恶意软件利用了微软终端服务器授权服务( Microsoft终端服务器许可证服务)使用的加密算法中的一个弱点,从而获得了部分代码签名,因此它似乎来自微软。
下面是微软的内容:
我们通过分析发现,恶意软件的某些组件已由证书签名,这些证书允许软件显示为Microsoft生产的。我们发现一个较旧的密码算法可以被利用,然后被用来对代码进行签名,就好像它来自微软。具体来说,我们的终端服务器许可服务允许客户在其企业中授权远程桌面服务,它使用了这一较旧的算法,并提供了能够对代码进行签名的证书,从而允许对代码进行签名,就好像它来自Microsoft。
另见这篇来自微软的博文。
那么,Microsoft终端服务授权服务所使用的可利用密码算法是什么?被Flame利用的密码弱点是什么?我们能从这次事件中吸取什么教训吗?
发布于 2012-06-05 21:28:15
这里有两个漏洞:
这是两个单独的(但相关的)漏洞。火焰将两者结合使用,使Flame能够成功地攻击所有Windows平台。这些弱点已经存在多年了。有人可以很容易地利用前一个漏洞,尽管它只会成功地对抗前Vista平台。
供进一步阅读的资源:
发布于 2012-06-04 11:58:12
更新:微软发布了一份报告,它确认了这篇文章中的猜测,并给出了一个很好的细节。
证书可用于多种用途。例如,它可以用作个人或网络服务器的身份证明。它可以用于代码链接或签署其他证书。
在这种情况下,用于签名许可证信息的证书能够对代码进行签名。
这可能就像微软不检查他们签署的客户证书的目的标志一样简单:
具体来说,当企业客户请求终端服务激活许可证时,Microsoft响应请求而颁发的证书允许进行代码签名。
对旧算法的引用可能意味着在签名过程中发生了碰撞攻击:在CCC 2008上有一个名为MD5的讨论,它被认为是今天有害的--创建了一个流氓CA证书。
在这篇文章中,研究人员解释了如何用相同的散列生成两个证书。
生成了一个无害的认证请求,并将其提交给了CA。CA对其签名并生成https-server的有效证书。
但是,该证书具有与另一个生成的证书相同的散列,该证书的目的是CA-证书。因此,无害证书的CA签名对于危险证书也是有效的。
这些研究利用MD5中的一个弱点来产生碰撞。为了使攻击有效,他们必须预测CA将写入证书的信息。
微软已经确认这两个问题(仅一个问题就足以利用):
Flame恶意软件将密码冲突攻击与终端服务器许可服务证书结合起来,对代码进行签名,就好像它来自微软。但是,在不执行冲突的情况下进行代码签名也是可能的。
微软公布了详细信息:
最初的md5碰撞攻击的研究者发表了攻击者使用已知的MD5选择前缀攻击的新变体.,这意味着他们对密码学有很深的了解。
发布于 2012-06-04 09:28:11
很好的问题:)不确定是否有明显的答案。
我不认为这是一种被破坏的算法,而是一份被盗的证书。
我想其中一个教训是CA模型被破坏了,但是您可能已经知道了。因此,它看起来像一个真正的“微软”证书是用来签署火焰。SANS发布了以下内容-- https://isc.sans.edu/diary.html?storyid=13366。目前似乎没有人知道它是如何被窃取的等等,或者是谁干的,但是美国政府(许多人最初怀疑)是否真的偷了微软的证书,谁知道呢?
我喜欢你提供的链接,微软说-
此外,大多数防病毒产品将检测并删除此恶意软件。
我认为火焰事件进一步证明了AV行业是完全反动的,非常多的营销驱动和不再有效(甚至Mikko说这是一个失败的连线在周末- http://www.wired.com/threatlevel/2012/06/internet-security-fail/ )。
Hyponnen发布了一张照片,说明在撤销之前,在Windows 7中使用的失窃证书将是什么样子-- http://t.co/M7phmvAu。
一个比我更了解证书等的人(莫西·马林斯派克)去年在这个话题上写了一篇很棒的文章-- http://blog.thoughtcrime.org/ssl-and-the-future-of-authenticity。我一直在玩会聚(http://convergence.io),我可能会更多地研究它,尽管它本质上是用来浏览的,不幸的是,在这里也帮不上忙。绝大多数用户不知道如何在浏览器中检查证书,也不知道它是如何工作的,更不用说查看驱动程序证书了。我想这是另一个例子,说明真正了解您(或您的用户)正在运行、正在做什么以及什么是正常流量的重要性。建立一个策略,允许已知的、良好的流量,并拒绝任何不明确允许的东西(互联网)有助于减少攻击的表面和能力。
https://security.stackexchange.com/questions/15617
复制相似问题