深度剖析:Windows的安全功能无用论

ZDNet软件频道 时间:2009-11-05 作者:比特网 | 比特网 我要评论()
本文关键词:系统安全 Windows安全 Windows Vista Windows
德和索蒂罗夫所做的工作重点是利用了以前没发现的Vista操作系统的缓冲区溢出。这些缓冲区溢出模式在Windows XP操作系统中也存在。

  千万不要错过后面我对研究员亚历山大·索蒂罗夫的独家专访,关于安全方面他的观点是:“天没有塌下来,漏洞也会得到修补。”

  就象小小的石头只要有了足够的力量,也可以打破你的凯芙拉防弹头盔一样,对于所有人来说,Windows操作系统的安全已经开始全面崩溃了。在近期的拉斯维加斯举行的黑帽会议上,研究员亚历山大·索蒂罗夫和马克·都德介绍了一种新的攻击方式。他们利用Windows XP和Windows Vista操作系统不同版本的验证机制,对系统成功地进行攻击。关于这种攻击的报告内容相当丰富,包含了详细的技术介绍,并且按照黑帽的传统,提供了相关的线索和修复的代码,以供仿效。

  不幸的是,大部分阅读索蒂罗夫和都德的文章的人并没有去看技术文档。相反,他们只是阅读了摘要部分,最通行的版本是阿德里安·金斯利-休斯在Slashdot网站上发布的。但实际上,这些摘要是不准确的,会给大众带来疯狂和绝望。

  在SearchSecurity的文章中,可以看到这样的内容:

  看过索蒂罗夫和都德写的技术文档的人应该可以发现,他们的工作是一项重大突破,并且微软不可能解决有关的问题。

  我将跳过前面的分析,即SearchSecurity上文章的作者并没有阅读相关的技术文档,而只是依靠第二和第三手的资料进行分析。关于“微软什么也不能做”的讨论。也许我们应该问问索蒂罗夫和都德,在文档的最后他们为什么会这么说:

  作者期望在未来版本的Windows操作系统和第三方的浏览器插件中,这些问题将会被解决。

  将情况简化到令人震惊地步的简介是由阿德里安提出的:

  因此,当两位安全研究员(来自国际商用机器公司的马克·都德和来自VMware公司的亚历山大·索蒂罗夫)在黑帽会议上的发言让浏览器的安全状况一下子回到十年前,并且让Vista操作系统的安全机制变得没有任何用处… [原文]我很惊讶这面墙倒下要这么长的时间,但必须承认,这不是我所期望的。

  接着,在三段后,他写道,“天空并没有崩溃。”

  好了,哪个才是正确的?阿德里安的文章中没有用单引号标注的部分提供了一个线索。它没有作者对技术描述的讨论,也没有在拉斯维加斯听到他们谈话任何人的评论。相反,它与SearchSecurity文章的语气相呼应。

  如果你读过作者实际的文章,换句话说,不是煽情、疯狂和不准确的新闻,是可以获得一个完全不同的感受。这里是作者在黑帽会议上的实际发言,举例来说:

  具体来说,我们将讨论如何利用浏览器的功能来减少内存保护机制带来的影响(在某些情况下,需要完全禁止它们)。我们讨论的技术,其中一些是众所周知的,而另一些新的方法,我们在公共论坛中没有看到过。

  内存保护机制是全面多层次安全系统的一个组成部分。这种模式,微软称之为“纵深防御” ,可以保证攻击会永远被防止。如果你不相信这一点,可以听听著名安全专家和安全代码的作者微软的迈克尔·霍华德,在2006年的说法:

  这项工作有两个主要目标:首先是减少代码中的错误,其次是让代码中的错误难于被利用 … … 我们将做到最好,Windows Vista操作系统将在市场上流行多年,在这段时间中,我可以保证,新的攻击技术将被发现,并作为新的错误类型进行处理,这样的话,就可以对未来的攻击进行预防。此外,我们的工具还不完善;我们知道它们不能找到所有错误代码。基于这一点,我们必须增加其它的防范模式。

  因此,如何进行纵深防御呢?利用象缓冲区溢出、允许攻击者的代码来控制目标机之类的系统漏洞这样对开始代码的攻击应该怎么被防范。举例来说,索蒂罗夫和都德采用的就是2007年发布的ANI动态光标补丁文件中的漏洞。对这种类型的漏洞最好的防御方式是在它出现前就给予修补,至少也要在漏洞发现后尽快地进行修补。精心撰写的防病毒软件可以识别并阻止特定的攻击,还可以侦测并阻止一般的攻击。包含内存保护机制的Windows Vista操作系统可以让黑客远程运行代码变得更加困难。请注意,我说“更加困难” ,不是“不可能的” 。

  在本文开始的时间提到的这个煽情故事中,提出了一种业余的观点,即内存保护机制被设计为一个犯错的安全屏障。微软内外的安全专家都知道这一点。索蒂罗夫和都德工作中最大的成果就是破解了位址空间编排随机化(ASLR)技术。但当2006年迈克尔·霍华德开始编程地址空间布局随机化(ASLR)技术的时间,他就特别告诫过,不要把它当作一种灵丹妙药:

  Windows Vista操作系统Beta 2版本中包含了一个称之为地址空间布局随机化的新防缓冲区溢出攻击机制,不过仅是在Beta 2版本中,它属于默认的设置。现在在进行下一步说明之前,我想对地址空间布局随机化(ASLR)技术作一下说明。地址空间布局随机化(ASLR)技术不是万能的,它不能对代码进行更换,但在其它我将简单介绍的技术帮助下,它会是一个有用的防御工具,因为可以让Windows操作系统找出“不同”,这样将让恶意软件的自动化攻击变得更困难。

  […]

  地址空间布局随机化(ASLR)技术只是一个防御手段,也只是在Windows Vista操作系统Beta 2版本中属于默认设置。我认为很重要的一点就是,将其设置为默认状态是非常必要的,只有这样才能保证可以完成相关的工作。但是由于兼容性的影响,在对地址空间布局随机化(ASLR)技术进行微调之前,我们就发布了Windows Vista操作系统。

  […]

  好,现在我们就假定攻击者有足够的动机、时间、耐心和专业知识来实现攻击。

  Windows Vista操作系统提供的一个新的防御机制是系统服务保护,它包含了非常广泛的范畴,所以我将重点放在系统服务保护其中的两个部分上。第一是系统服务的要求,服务控制管理器( SCM )将只允许有特权的进程运行。这样可以减少利用代码带来的损害。当然,Windows Vista操作系统中也很有可能存在我们不知道的可以提升特权的漏洞,所以我们说的是更好的防御,而不是完全的防御。

  现代计算机的安全史就是一个时间很长的猫捉老鼠游戏,这是我在这段时间中读过的最好总结。在一个坚实的安全基础上,软件开发人员各尽其能设计系统,他们添加新的功能,使攻击者更难以找到漏洞。攻击者(不论善意还是恶意的)在系统中进行搜索,找到新的漏洞。就这样周而复始,一步步提高。

  所以,Windows 7版本就会包括所有这一切?正如迈克尔·霍华德指出的,在Windows Vista操作系统的开发周期中,地址空间布局随机化(ASLR)技术是在2006年初才加入的,是相当晚的。微软的安全团队一直在努力对地址空间布局随机化(ASLR)技术进行优化,已经耗时两年多了。他们已经放弃了将其作为单独部分的方法,而将在整体的基础上进行考虑。

  更新:Ars Technica的彼得·布莱特在这个话题中有相当精彩的回复:

  耸人听闻的销售技巧,加上只有坏新闻才是新闻的风气,在涉及到安全问题的时间,会更加突出地表现出来。危言耸听对任何人都没有帮助。很高兴在安全领域看到负责的文章。

  都德和索蒂罗夫所做的工作重点是利用了以前没发现的Vista操作系统的缓冲区溢出。这些缓冲区溢出模式在Windows XP操作系统中也存在。毕竟如果一个操作系统中没有使用地址空间布局随机化(ASLR)技术,也就没有攻击该技术的必要了。此外,这些技术是专门攻击缓冲区溢出的保护方式,象地址空间布局随机化(ASLR)、数据执行保护(DEP)和其它保护措施。所有的安全保护模式不是完全牢不可破的。它们的目的只是让恶意工具的攻击变得更加困难。

系统安全

Windows安全

Windows Vista

Windows


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134