- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[微软详解IE10增强内存保护,携手Win8共创辉煌
微软详解IE10增强内存保护,携手Win8共创辉煌
2012-3-17 15:57:20 出处:IT之家 作者:软媒 - april one 人气:3830次 评论(11) | 【大 中 小】
作为Win8的默认浏览器,IE10浏览器将在内存保护方面引入了显著改进,防止漏洞被轻易攻破,帮助确保用户在危机四伏的Web环境中安然无恙。同时,IE10在这些改进将增加漏洞攻击的难度和开发成本,让黑客的伎俩难以得逞。
社交工程类恶意软件已经成为黑客们将恶意代码植入受害者计算机的主要方式,这在很大程度上是由于过去几年中大量浏览器漏洞陆续得到修复,大大提高了发动漏洞攻击的难度。但是,随着越来越多的用户升级到IE9并受益于SmartScreen筛选器提供的保护,黑客们对直接攻击浏览器及其插件再次萌生了兴趣。
微软Internet Explorer安全性项目经理Forbes Higman在博文中,介绍当下的威胁环境,回顾IE9中现有的保护技术,并解释为何IE10中新的内存保护技术将提供更强的安全性。
攻击Web 浏览器
黑客之所以攻击内存相关的漏洞,其目的在于将浏览器的代码执行路径偏转到黑客选择的代码。为了实现这个目的,攻击者需要满足以下两个条件。条件之一是他们必须在受害者的计算机上植入自己希望运行的代码。用于获取此类代码的技术可以分为两类。攻击者可以借助堆喷射等技术将自己的恶意代码植入内存。攻击者也可以选择借助名为返回导向编程的技术,执行已经在内存中呈现的代码。
攻击者还需要攻破一个可更改原始代码执行流的漏洞,例如,缓存区溢出漏洞。然后,他们可以将代码路径更改为“跳到”其希望执行的代码地址。
在典型的缓存区溢出攻击中,攻击者会将一个精心设计的数据集植入线程的堆栈中,造成为其分配的缓存区溢出,并覆盖其他数据结构。攻击者尝试覆盖的结构包括异常处理程序记录或函数的返回地址,以便将代码流更改为他们在内存中选择的位置。
图中显示出,当写入本地缓存区的数据量超出了其分配量时,堆栈的重要部分可能会被覆盖并导致崩溃。通过提交精心设计的数据,攻击者可以覆盖返回地址,将代码执行流更改为任意内存位置。
其他攻击类型包括释放后使用漏洞,在这种攻击类型中,攻击者会诱导应用程序访问一个内存已释放并用于其他用途的对象。
保护浏览器
内存保护技术为阻止攻击者实现其目标提供了第一道防线。这些技术旨在提高漏洞攻击的难度,降低其成功率,并在某些情况下完全禁绝其可能性。内存保护技术的目标是在攻击者成功攻破漏洞并运行其代码前,安全地终止遭到攻击的浏览器进程。在许多情况下,保护技术可以为供应商争取一定的时间,帮助他们在黑客攻破漏洞并造成损害前,成功开发并散布相应的修复程序。
Internet Explorer 采用的内存缓解技术已经历过多次改进,以便对抗日新月异的攻击技术。许多防护技术(例如,/GS 编译器标记)已经在之前的多个 Internet Explorer 版本中采用,同时也历经了多个版本的更新和增强。另外一些防护技术(例如,稍后将介绍的 ForceASLR)是 IE10 的新增功能,需要依靠新的操作系统功能。
编译时间缓解
软件开发人员可以使用编译器缓解技术,并且这也应作为最佳开发实践的一部分采用。在 Internet Explorer 的开发过程中,Internet Explorer 团队将这些缓解技术包含进了我们的安全开发生命周期要求。我们建议软件开发人员采用包含这些编译时间缓解技术实现的自定义 SDL 流程。
/GS 标记最初在 Visual Studio .NET 2002 中引入,并已在所有受支持的 IE 版本中采用。这是一种可以在应用程序的堆栈中添缓存区溢出检测功能的编译器技术。这种技术会在运行时向应用程序的堆栈边界添加称为“金丝雀”的安全密钥。举例来说,对于针对返回地址的缓存区溢出攻击,其覆盖对象将变为堆栈缓存区和返回地址间植入的金丝雀。这也为进程提供了一种检测溢出的手段。在发生溢出时,系统将抛出异常,以便系统可以在攻击者的代码运行前安全地终止进程。
图中显示了系统如何将安全密钥植入本地变量和返回地址之间。在函数返回之前,系统会将密钥的 teh 与原始值进行比较。如果二者不匹配,系统将抛出错误并安全地终止该进程。
这一基本的保护概念在每个新的 Visual Studio 版本中都获得了增强。Internet Explorer 9 及后续版本中采用了必威体育精装版的增强 /GS,其中包含经过大幅改进的启发式方法,以保护包括非指针数组和纯数据结构在内的更多函数。此外,增强的优化杜绝了不必要的检查,降低了防护的性能开销。
/SAFESEH 标记是一种链接器选项,该标记可通过某种机制将应用程序的注册异常处理程序存储到可靠内存位置的查找表中。
文档评论(0)