使用EMET 2.0防御Adobe Reader和Acrobat零日漏洞攻击

本文详细介绍了如何利用微软的增强缓解体验工具包(EMET)2.0版来阻止针对Adobe Reader和Acrobat的零日漏洞攻击,包括强制ASLR和EAF等内存保护技术的应用和配置方法。

漏洞利用背景

正如您可能已经知道的,目前存在一种针对Adobe Reader和Acrobat的新漏洞利用。这种特定的漏洞利用采用面向返回编程(ROP)技术来绕过数据执行保护(DEP)。

通常,地址空间布局随机化(ASLR)有助于防止成功的漏洞利用。然而,该产品附带的一个DLL(icucnv36.dll)没有启用ASLR。没有ASLR,这个DLL总是会在可预测的地址加载,并可能被漏洞利用所利用。在下面的截图中,我们使用Process Explorer来展示这种情况。

Process Explorer截图显示未启用ASLR的DLL

有关在您的产品中启用ASLR重要性的更多信息,请访问http://msdn.microsoft.com/en-us/library/bb430720.aspx。

EMET 2.0如何阻止漏洞利用

好消息是,如果您为AcroRd32.exe启用了增强缓解体验工具包2.0(EMET),它可以阻止此漏洞利用。这得益于两种不同的缓解措施:

强制ASLR:在Windows 7、Windows Vista、Windows Server 2008 R2和Windows Server 2008上,此缓解措施将强制重新定位不支持ASLR的DLL。漏洞利用随后将无法成功使用ROP,因为它期望DLL位于可预测的位置。查看下面的Process Explorer截图以了解这种情况。

Process Explorer截图显示强制ASLR效果

导出地址表访问过滤(EAF):漏洞利用也被EAF缓解措施阻止。这对于Windows XP和Windows Server 2003非常重要,因为它们不支持强制ASLR。启用此缓解措施后,EMET将检测到shellcode访问Kernel32.dll的EAT以尝试解析某些API(例如LoadLibraryA)。EMET随后将引发STATUS_STACK_BUFFER_OVERRUN未处理异常,程序将在shellcode执行任何恶意操作之前终止。

如何为Adobe Reader启用EMET

为了为Adobe Reader和Acrobat启用EMET,您需要安装EMET并以管理员身份运行以下简单命令。请注意,Adobe Reader和Acrobat的路径在您的系统中可能不同(特别是如果您不使用64位系统)。

1
C:\Program Files (x86)\EMET>emet_conf.exe –add “c:\program files (x86)\Adobe\Reader 9.0\Reader\acrord32.exe”

您所做的更改可能需要重新启动一个或多个应用程序。

我们一直与Adobe安全软件工程团队(ASSET)密切合作,推荐EMET作为缓解选项。由于此问题的时间敏感性,我们仅能对此缓解措施的功能兼容性进行粗略检查。请记住,Adobe Reader和Acrobat支持广泛的功能集,需要大量测试才能完全覆盖所有功能。因此,我们建议您也在您的环境中测试此缓解措施,以最小化对工作流程的影响。请参考Adobe在其安全公告的缓解措施部分关于EMET的指导。

EMET 2.0的新更新

此外,上周我们在此博客文章中提供了EMET 2.0版本。我们要感谢所有尝试并发送反馈的人。今天,我们发布了一个更新版本的EMET(2.0.0.1),其中包含一些错误修复。旧版本的下载已被新版本替换,可以在此处获取。

以下是新版本中的更改:

  • DEP缓解措施现在启用ATL thunk模拟以提高兼容性。
  • GUI更好地处理进程试图阻止其确定是否为该进程启用或禁用DEP的情况。以前,GUI在某些情况下会崩溃,例如与防病毒和入侵防御系统等程序一起使用时。
  • EMET现在正确保护使用8.3文件名启动的应用程序。
  • 对在Windows XP上运行的EMET进行了增强,以支持更多第三方应用程序。以前,在某些情况下,保护措施可能无法保护某些应用程序。

一如既往,我们欢迎您的反馈,并希望了解更多关于您使用EMET的经验。请随时通过switech@microsoft.com给我们发送电子邮件。

  • Fermin J. Serna and Andrew Roths

更新于2010年9月14日 - 在某些Windows XP配置中,用户遇到了几个配置为与EMET一起使用的应用程序未受到EMET保护的问题。当发生这种情况时,您将看到进程在主应用程序的“Running EMET”列下没有勾选标记。如果您遇到此问题,请下载最新版本的工具,该版本解决了此问题。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计