黑帽2012:Windows 8安全功能抵御缓冲区溢出攻击

日期: 2012-07-25 作者:Michael S. Mimoso翻译:邹铮 来源:TechTarget中国 英文

近段时间以来,主要软件供应商(例如Adobe和微软)一直侧重于提高攻击者编写漏洞利用代码的成本,而不是努力减少其产品中的漏洞数量。供应商在意识到完美软件不可能实现后,开始将重心放在缓解攻击工作上,他们努力使攻击者的漏洞利用代码编写变得更耗时间且利润更低。

  在Windows 8更新的安全功能中,我们看到微软在这个方面取得了重大飞跃。即将在10月份推出的新版本操作系统中,增强的内存保护功能将能够抵御缓冲区溢出攻击,这种攻击主要导致针对应用程序或内核的特权提升攻击。

  Coverity公司的高级安全科学家兼研究员Chris Valasek和Azimuth安全公司的高级漏洞研究员Tarjei Mandt对Windows 8的早期公开发布版本(从开发者预览版到最新的发布预览版)进行了研究,特别是Windows 8的堆安全功能。在黑帽2012大会上,这两位研究人员将展示他们的研究结果。

  “从堆损坏(heap corruption)漏洞的角度来看,如果我是攻击者,我更愿意为Windows 7编写漏洞利用代码,而不是Windows 8,”Valasek表示,“微软已经走过了漫长的道路,他们为此投入了不少心思。”

  堆缓冲区溢出比基于堆栈的缓冲区溢出更难以实现。基于堆的攻击通过恶意可执行文件来超出内存空间的限额,并在根本上“欺骗”操作系统来执行该命令。通常情况下,攻击者可以远程攻击系统,并且,如果缓冲区溢出攻击成功的话,攻击者能够获取与被攻击应用程序相同的系统特权,或者能够获得对内核的根级访问权限。

  Windows 8新增功能包括更新的内存管理器、Windows堆管理器(Heap Manager)和Windows内核池分配器(Kernel Pool Allocator)。堆管理器随机分配内存空间,这让攻击者很难预测缓冲区溢出攻击应该在哪里注入恶意代码。而在以前版本的Windows系统中,内存空间分配不是随机的。Windows 8还包括AppContainers,这是为Windows应用程序确定权限的安全沙盒。Valasek表示,与Windows Vista或者Windows 7相比,Windows 8的应用程序受到更严格的控制,毕竟Windows Vista和Windows 7依赖于完整性级别(Integrity Level)来控制应用程序功能,要知道,完整性级别比AppContainers更加宽松。

  Windows 8这些更新的安全功能并不是微软第一次向操作系统内置安全保护功能。从Windows Vista开始,微软就使用地址空间布局随机化(ASLR)和数据执行保护(DEP)加强应用程序安全和内核保护。ASLR和DEP并不是默认启用的,这与Windows 8的内存保护不同。“这些缓解措施已经部署到位以解决安全问题,”Valasek表示,“它们确实让利用技术更难实现了。然而,漏洞利用是无时不在的。”

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Michael S. Mimoso
Michael S. Mimoso

TechTarget中国信息安全杂志(Information Security magazine)编辑

翻译

邹铮
邹铮

相关推荐