首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Flame利用什么密码漏洞使其代码由Microsoft签名?

Flame利用什么密码漏洞使其代码由Microsoft签名?
EN

Security用户
提问于 2012-06-04 05:02:29
回答 4查看 3.4K关注 0票数 45

今天,微软发布了一项安全警告,称“火焰”恶意软件利用了微软终端服务器授权服务( Microsoft终端服务器许可证服务)使用的加密算法中的一个弱点,从而获得了部分代码签名,因此它似乎来自微软。

下面是微软的内容:

我们通过分析发现,恶意软件的某些组件已由证书签名,这些证书允许软件显示为Microsoft生产的。我们发现一个较旧的密码算法可以被利用,然后被用来对代码进行签名,就好像它来自微软。具体来说,我们的终端服务器许可服务允许客户在其企业中授权远程桌面服务,它使用了这一较旧的算法,并提供了能够对代码进行签名的证书,从而允许对代码进行签名,就好像它来自Microsoft。

另见这篇来自微软的博文

那么,Microsoft终端服务授权服务所使用的可利用密码算法是什么?被Flame利用的密码弱点是什么?我们能从这次事件中吸取什么教训吗?

EN

回答 4

Security用户

回答已采纳

发布于 2012-06-05 21:28:15

这里有两个漏洞:

  • 无限制的代码签名。Microsoft使终端服务的用户能够获得链接到Microsoft根的签名证书。他们无意中允许使用此证书对代码进行签名。因此,用户可以签署任何他们喜欢的代码,并使它看起来像是得到了微软的批准。呀!非常糟糕。此漏洞可在Windows Vista之前的系统(例如Windows XP)上攻击。但是,由于Vista中引入了新的强化措施,因此此漏洞不再可用于在Windows或更高版本上单独进行代码签名。
  • 碰撞攻击。使用MD5链中的证书之一。众所周知,MD5容易受到碰撞攻击,并且我们知道如何使用这些攻击来利用任何使用MD5的证书颁发机构。这使得攻击者能够获得他们选择的任何代码签名,其方式使它看起来像是得到了微软的批准。(详情见@Hendrik的答案。)这也是非常糟糕的。此漏洞使他们能够绕过Vista相关的硬化。因此,这两个漏洞的结合使得攻击者能够成功地攻击所有Windows操作系统:他们能够获得他们的恶意代码签名,看起来它来自Windows。

这是两个单独的(但相关的)漏洞。火焰将两者结合使用,使Flame能够成功地攻击所有Windows平台。这些弱点已经存在多年了。有人可以很容易地利用前一个漏洞,尽管它只会成功地对抗前Vista平台。

供进一步阅读的资源:

  • 一篇精彩的博客文章,更详细地解释了这一切:http://rmhrisk.wpengine.com/?p=52
  • 微软:Flame恶意软件将密码冲突攻击与终端服务器许可服务证书结合起来,对代码进行签名,就好像它来自微软。但是,在不执行冲突的情况下进行代码签名也是可能的。
  • 微软还写到:默认情况下,攻击者的证书不能在Windows或更新版本的Windows上工作。他们必须执行碰撞攻击才能伪造对Windows或更新版本的Windows上的代码签名有效的证书。在Windows之前的系统上,如果没有MD5哈希冲突,攻击是可能的.
  • 碰撞攻击显然涉及到对MD5的一种新的碰撞攻击的发展,不同于以前在开放研究文献中所知道的攻击。见Ars的reporting (密码突破显示火焰是由世界一流的科学家设计的)和马克·史蒂文斯的分析
票数 2
EN

Security用户

发布于 2012-06-04 11:58:12

更新:微软发布了一份报告,它确认了这篇文章中的猜测,并给出了一个很好的细节。

证书用途

证书可用于多种用途。例如,它可以用作个人或网络服务器的身份证明。它可以用于代码链接或签署其他证书。

在这种情况下,用于签名许可证信息的证书能够对代码进行签名。

这可能就像微软不检查他们签署的客户证书的目的标志一样简单:

具体来说,当企业客户请求终端服务激活许可证时,Microsoft响应请求而颁发的证书允许进行代码签名。

MD5碰撞攻击

对旧算法的引用可能意味着在签名过程中发生了碰撞攻击:在CCC 2008上有一个名为MD5的讨论,它被认为是今天有害的--创建了一个流氓CA证书。

  • 网站
  • 幻灯片
  • 视频

在这篇文章中,研究人员解释了如何用相同的散列生成两个证书。

生成了一个无害的认证请求,并将其提交给了CA。CA对其签名并生成https-server的有效证书。

但是,该证书具有与另一个生成的证书相同的散列,该证书的目的是CA-证书。因此,无害证书的CA签名对于危险证书也是有效的。

这些研究利用MD5中的一个弱点来产生碰撞。为了使攻击有效,他们必须预测CA将写入证书的信息。

经验教训?

  • Microsoft已经检查Windows Update的代码签名证书的根是否为Microsoft。因此,不能使用其他胭脂CA签署的证书。
  • 不要忘记遗留代码和服务
  • 如果有足够的动机,即使是不切实际的理论弱点,也会被发掘出来。(演讲的最初标题是“做理论上的可能”)。

更新

微软已经确认这两个问题(仅一个问题就足以利用):

Flame恶意软件将密码冲突攻击与终端服务器许可服务证书结合起来,对代码进行签名,就好像它来自微软。但是,在不执行冲突的情况下进行代码签名也是可能的。

更新2

微软公布了详细信息

  • 不正确检查证书用途的漏洞仅影响旧版本的Windows。
  • 使用了碰撞攻击操作证书扩展,从而也欺骗了当前版本的Windows。

更新3

最初的md5碰撞攻击的研究者发表了攻击者使用已知的MD5选择前缀攻击的新变体.,这意味着他们对密码学有很深的了解。

票数 25
EN

Security用户

发布于 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),我可能会更多地研究它,尽管它本质上是用来浏览的,不幸的是,在这里也帮不上忙。绝大多数用户不知道如何在浏览器中检查证书,也不知道它是如何工作的,更不用说查看驱动程序证书了。我想这是另一个例子,说明真正了解您(或您的用户)正在运行、正在做什么以及什么是正常流量的重要性。建立一个策略,允许已知的、良好的流量,并拒绝任何不明确允许的东西(互联网)有助于减少攻击的表面和能力。

票数 12
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/15617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档