深入解析安全公告2757760的Fix It解决方案及IE漏洞缓解措施

本文详细解析了微软安全公告2757760中的IE浏览器use-after-free漏洞,介绍了通过应用兼容性填充程序(Fix It)的临时解决方案,分析了当前攻击态势及EMET缓解工具的有效防护措施,为系统安全防护提供技术指导。

关于漏洞的详细信息

该漏洞是MSHTML模块中存在的use-after-free问题,影响Internet Explorer 6、7、8和9版本。Internet Explorer 10不受影响。要触发此类内存损坏,攻击会调用"execCommand()“方法选择网页内容,同时为"onselect"事件分配函数处理程序,该处理程序将从内存中删除对象并立即尝试解引用已释放的对象。这种行为在内存中产生的不一致性可能允许攻击者控制已释放对象VTABLE中的函数指针,最终执行任意代码。

通过应用程序兼容性填充程序解决漏洞

今天我们发布了Microsoft"Fix It"解决方案(一个MSI包)作为新的临时解决方法。它使用Windows应用程序兼容性工具包,在每次Internet Explorer加载DLL时对内存中的MSHTML.DLL进行微小更改。通过在CMshtmlEd!Exec中插入缺失的AddRef调用(类似于计划周五实施的实际代码修复)来解决use-after-free漏洞。

需要注意的是,只有在应用了最新安全更新的情况下,此临时解决方案才能保护Internet Explorer。当应用下一个影响MSHTML的安全更新时,应用兼容性填充程序将自动弃用,不再进行内存更改。这是因为针对特定DLL版本的外科手术式内存修复方法。MSI包中的.SDB文件包含DLL版本列表,每个版本都有特定的偏移量和汇编指令。

安装临时解决方案请点击:http://go.microsoft.com/?linkid=9817706 卸载请点击:http://go.microsoft.com/?linkid=9817705

当前攻击态势分析

我们分析了试图利用此漏洞的针对性攻击样本。所有观察到的真实攻击仅针对32位版本的Internet Explorer,并依赖第三方浏览器插件在内存中执行有效的堆喷射和/或绕过Windows Vista和7的内置缓解措施(如DEP和ASLR)。在当前情况下,通过现有攻击在Windows Vista和7上成功利用的可能性很大程度上取决于目标计算机上这些插件的存在。

使用EMET缓解措施

增强缓解体验工具包(EMET)为Internet Explorer提供了一组很好的额外缓解措施,可以阻止许多野外攻击。为Internet Explorer启用HeapSpray、MandatoryASLR和EAF缓解措施将使可靠利用此漏洞变得更加复杂。测试EMET 3.5技术预览版的用户还可以使用能够破坏基于ROP的攻击的新缓解措施集,这也是当前情况下的推荐设置。

如果您遇到认为EMET无法有效缓解的攻击样本,请通过switech@microsoft.com与我们分享。

结论

我们建议您根据环境做出风险评估决策,选择安装基于Fix It应用兼容性填充程序的临时解决方案,或准备在周五发布全面安全更新时进行部署。如果您已在环境中部署EMET,请确保至少为Internet Explorer启用MandatoryASLR缓解措施,通过阻止当前攻击并为攻击开发增加额外成本因素来提高攻击门槛。

我们将继续监控情况和攻击态势的发展。

致谢

感谢Elias Bachaalany、Cristian Craioveanu、Matt Miller和Suha Can的辛勤工作,使Fix It临时解决方案能够在如此短的时间内交付,并为保护客户安全付出的无尽工作时间。

  • Elia Florio, MSRC工程团队
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计