DEP与EMET防护最新IE漏洞攻击的技术解析

本文详细分析了Internet Explorer内存分配漏洞的技术原理,阐述了DEP和EMET如何有效阻断攻击,并提供了通过注册表配置用户自定义CSS的防护方案。文章还介绍了EMET工具的多重防护机制及其配置方法。

今天我们发布了安全公告2458511,通报了利用Internet Explorer漏洞的有限攻击事件。IE9测试版不受影响,而IE6、7、8存在风险。目前发现的攻击仅针对Windows XP系统上的IE6和7版本,IE8用户不会受到成功攻击。本文将解析漏洞原理、说明IE8风险降低的原因,并提供防护建议。

漏洞原理

IE在解析HTML时对特定CSS标签组合的内存分配不足,可能导致虚表指针最低有效字节被覆盖。攻击者通过特定模式的内存喷射(heap spray)可能实现代码执行。数据执行保护(DEP)正是防御此类堆喷射攻击的有效手段。

DEP的防护作用

当前所有攻击均被DEP阻断。IE8默认启用DEP,早期版本也可手动开启(详见公告)。由于该漏洞非典型释放后使用(use-after-free)类型,攻击者难以绕过DEP防护。现有DEP绕过技术无法直接应用,因为内存破坏属于部分虚表指针覆盖。我们预计任何绕过DEP的利用尝试都将极不稳定(导致IE崩溃),特别是在支持地址空间布局随机化(ASLR)的系统上。

增强防护措施

除启用DEP外,最佳解决方案是通过用户自定义CSS文件覆盖网站提供的CSS样式。该方法能阻止所有IE版本进入漏洞代码路径,且应用兼容性风险极低。公告中详细描述了在HKEY_CURRENT_USER注册表项中配置用户CSS的方法。

EMET的进阶防护

今年发布的EMET 2.0工具集通过多种安全缓解技术防御漏洞利用。除强制启用DEP外,EMET还包含强制性ASLR和EAT访问过滤(EAF)等防护机制。需注意安装EMET后需单独配置应用防护(详见公告和用户手册)。

致谢Fermin J. Serna对本问题和EMET工作的贡献。

  • MSRC工程团队:Andrew Roths、Jonathan Ness、Chengyun Chu
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计