创意安天

 找回密码
 注册创意安天

增强减灾体验工具4.1用户指南【非官方中文译文•安天技术公益翻译组译注】

[复制链接]
发表于 2015-9-9 09:07 | 显示全部楼层 |阅读模式
  
增强减灾体验工具4.1用户指南

非官方中文译本 • 安天技术公益翻译组 译注

文档信息
原文名称
Enhanced Mitigation  Experience Toolkit 4.1 User Guide
原文作者
微软
原文发布日期

  
作者简介
微软股份有限公司是美国一家跨国计算机科技公司。以研发、制造、授权和提供广泛的计算机软件服务业务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office软件。
  
原文发布单位
微软
原文出处
译者
安天技术公益翻译组
校对者
安天技术公益翻译组
免责声明
• 本译文译者为安天实验室工程师,本文系出自个人兴趣在业余时间所译,本文原文来自互联网的公共方式,译者力图忠于所获得之电子版本进行翻译,但受翻译水平和技术水平所限,不能完全保证译文完全与原文含义一致,同时对所获得原文是否存在臆造、或者是否与其原始版本一致未进行可靠性验证和评价。
  
• 本译文对应原文所有观点亦不受本译文中任何打字、排版、印刷或翻译错误的影响。译者与安天实验室不对译文及原文中包含或引用的信息的真实性、准确性、可靠性、或完整性提供任何明示或暗示的保证。译者与安天实验室亦对原文和译文的任何内容不承担任何责任。翻译本文的行为不代表译者和安天实验室对原文立场持有任何立场和态度。
  
• 译者与安天实验室均与原作者与原始发布者没有联系,亦未获得相关的版权授权,鉴于译者及安天实验室出于学习参考之目的翻译本文,而无出版、发售译文等任何商业利益意图,因此亦不对任何可能因此导致的版权问题承担责任。
  
• 本文为安天内部参考文献,主要用于安天实验室内部进行外语和技术学习使用,亦向中国大陆境内的网络安全领域的研究人士进行有限分享。望尊重译者的劳动和意愿,不得以任何方式修改本译文。译者和安天实验室并未授权任何人士和第三方二次分享本译文,因此第三方对本译文的全部或者部分所做的分享、传播、报道、张贴行为,及所带来的后果与译者和安天实验室无关。本译文亦不得用于任何商业目的,基于上述问题产生的法律责任,译者与安天实验室一律不予承担。






1 简介

增强减灾体验工具(EMET)旨在帮助防止攻击者获得计算机系统的访问权限。EMET预测攻击者最常用的漏洞利用技术,并通过转移、终止、阻断和禁用相关操作和技术来保护计算机。即使安全更新和反恶意软件尚未涵盖新的未知威胁,EMET也能够保护计算机。它防止足以破坏商务和日常生活的安全威胁和隐私侵犯,从而帮助企业和所有PC用户保护自己。

软件漏洞和漏洞利用已经成为人们日常生活的一部分。几乎每一个产品都要应对这些问题,因此用户面临大量的安全更新。对于那些还未安装最新更新而遭受攻击,或者因为安全更新尚未发布(如零日攻击而遭受攻击的用户来说,其结果可能是灾难性的:恶意软件感染、个人可识别信息 (PII)丢失、业务数据丢失等。

安全减灾技术旨在使攻击者更难利用特定软件的漏洞。EMET使客户能够充分利用这些安全减灾技术,该技术提供了多种独特的优势:

不需要源代码:有几个可用的减灾措施(如数据执行保护)都需要手动选择加入和重新编译应用程序。EMET允许用户选择性启用应用程序而无需重新编译,从而改变了这一点。这对于EMET出现之前编写的软件(即当源代码不可用时)来说,这是特别有用的。

  高度可配置性:EMET允许减灾工具单独应用于每个进程,从而提供了更高程度的细粒度。没有必要启用整个产品或应用程序套件。当进程和特定的减灾技术不兼容时,这是有帮助的。当发生这种情况时,用户可以简单地把该进程的减灾程序关闭。

  帮助防御遗留程序: 对遗留软件的依赖性并不少见。这些遗留程序不能轻易被改写,需要慢慢淘汰。不幸的是,这很容易造成安全风险,因为众所周知遗留软件通常有安全漏洞。真正的解决方案是卸载遗留软件, EMET能够使攻击者更难利用遗留软件的漏洞,从而帮助用户管理风险。

  上网时帮助验证SSL证书信任:证书颁发机构的事件使得攻击者得以创建欺骗性SSL证书来执行中间人攻击,这类事件越来越普遍。EMET提供了一套锁定规则,能够向根证书颁发机构验证特定域的SSL证书 (可配置的证书锁定)。

  易于使用:系统范围的减灾策略可以用EMET的图形用户界面、命令行工具或Group Policy进行观察和配置。没必要定位并破译注册表项,或运行依赖于平台的应用程序。部署EMET后,就可以不考虑基础平台而,只通过界面来调整设置。

  持续改进:EMET是一个实时工具,旨在新的减灾技术出现时随时更新。这提供了一个尝试的机会,并能够受益于顶级的减灾技术。EMET的发布周期也不与任何产品进行捆绑。只要新的减灾措施出现,EMET就可以动态更新。

该工具包包括几个伪减灾技术,旨在扰乱目前的漏洞利用技术。这些伪减灾技术不足以抵御未来的攻击技术,但可以帮助防御目前正在使用的许多漏洞利用技术。当攻击者开始使用新的攻击技术时,该减灾工具也能够容易地更新。


1.1 功能

EMET既能够在系统层面配置减灾措施,也能够在可执行程序的层面配置减灾措施。此外, EMET能够将SSL证书与一组可配置的“锁定”规则进行对比,以验证证书并检测欺诈性证书。

  系统减灾

策略允许用户设置系统减灾措施的默认值,例如选择为所有进程启用、只为选择性启用的进程启用、或完全禁用。

  可执行程序的减灾措施

允许用户在应用程序中启用EMET减灾措施。任何减灾措施都可以在系统上的任何应用程序中独立开启和关闭。下一次配置的应用程序运行时,指定的减灾措施将被应用到此程序。结合这两个选择,用户可以高度控制系统上可用的减灾措施以及如何使用减灾措施。

  证书信任

功能允许配置一组锁定规则来验证数字签名证书(SSL 证书)。这些规则旨在将特定域的SSL证书与颁发该证书的根证书颁发机构(Root CA)相结合。当EMET检测到特定域SSL证书的变化时,它会上报这一异常现象,认为这是持续的中间人攻击的潜在症状。

EMET减灾模块不作为服务运行或像调试器一样连接到应用程序。相反,为了在应用程序中启用减灾措施,EMET利用了Windows的基础设施应用程序兼容性框架(Application CompatibilityFramework)。该基础设施和相应的工具概述可参见该博客[1]

请注意:一些安全减灾技术可能与某些应用程序存在兼容性问题。在将EMET转到生产环境之前彻底测试其在所有目标应用场景中的兼容性是很重要的。

1.2 减灾措施
EMET支持多种减灾技术。在本节中,我们将概述不同的减灾措施和它们所提供的保护。

1.2.1 结构化异常处理覆盖保护(SEHOP)

该技术可以防御目前Windows系统中最常用的堆栈溢出漏洞利用攻击。从Windows Vista SP1开始,该减灾技术就应用到了Windows系统中。随着Windows 7和更高版本的Windows系统出现,该技术也增加了针对每个进程开启和关闭的能力。EMET向Windows XP以来的各种系统版本提供了相同的功能。欲知详细信息,请参见SEHOP概述Windows 7 SEHOP变化博客。

如果没有部署EMET,攻击者可以用控制值覆写堆栈上的异常记录的处理程序指针。一旦发生异常,操作系统就会读取异常记录链,并调用每个异常记录中的所有处理。由于攻击者控制其中一个记录,所以操作系统会跳转到攻击者想要的地方,然后攻击者就能够控制执行流程,参见图1。




1.png
图1:异常处理程序劫持


部署EMET的情况下,在操作系统调用任何异常处理程序之前,EMET会验证异常记录链。这包括检查最终的异常是否包含预定义的异常。如果记录链被破坏,EMET将终止该进程而不会调用任何处理程序,如图2所示。

2.png

图 2:EMET终止异常处理程序劫持

1.2.2 数据执行保护(DEP)

从Windows XP开始,DEP就已面世。然而,目前的配置选项不允许应用程序选择性启用,除非它们用特殊的标签编译。 EMET允许未使用该标签编译的应用程序选择行加入。欲了解DE及其工作原理,请参阅SRD博客文章的1部分2部分

如果没有部署EMET,攻击者可以在其控制数据的内存位置(堆或栈)跳转到shellcode,从而利用漏洞。由于这些区域被标记为可执行,因此恶意代码可以运行。

3.png

图 3:从攻击者控制的位置运行shellcode

打开EMET将允许DEP针对特定进程启用。一旦发生这种情况,堆和栈将被标记为不可执行,任何从这些区域执行企图都会被在处理器级别被拒绝。


4.png

图4:DEP拦截shellcode的运行

1.2.3 堆喷射分配

当一个漏洞运行时,当其获得指令指针的控制权后,它往往不能确定其shellcode的地址而必须进行猜测。为了增加成功的几率,大多数漏洞利用现在使用heapspray技术将其shellcode的副本放置于尽可能多的内存位置。图5显示了受害进程。


5.png

图 5:在漏洞利用中使用heapspray

部署EMET后,一些常用的页面被预先分配。依赖于控制这些页面(然后跳转至它们)的漏洞利用将会失败。

6.png

图 6:阻断使用heapspray的攻击

请注意,这是一个伪减灾措施,旨在阻断目前的漏洞利用技术。其目的不是防御未来的漏洞利用攻击。随着攻击技术的不断发展,EMET也会不断进步。

1.2.4 空页面分配

该技术与堆喷雾分配类似,但是旨在防止在用户模式下潜在的空逆向引用问题。目前,还没有已知的方法来利用它们,因此这是一种深度减灾技术。

1.2.5 强制性地址空间布局随机化(ASLR)

ASLR将被加载模块(防止攻击者利用可预测位置的数据)的地址随机化。这样做的问题是,所有模块都需要使用一个编译时间标签。

如果没有部署EMET,攻击者可以利用这些DLL的可预测映射。即使用户使用了返回导向编程(ROP)技术,攻击者也可以利用DLL的可预测映射来绕过DEP。

7.png

图 7:模块被加载到可预测的位置

部署EMET的情况下,我们强制针对目标进程的模块加载到随机地址,而不必考虑它在编译时使用的标签。使用ROP和依靠可预测映射的攻击将会失败。


8.png
图 8: 模块被强制加载到随机地址
1.2.6 导出地址表访问过滤(EAF)

为了做一些“有用”的事情,shellcode一般需要调用Windows API。然而,为了调用API,shellcode必须先找到API被加载的地址。为了做到这一点,绝大多数shellcode迭代所有加载模块的导出地址表,寻找包含有用API的模块。通常,这养的模块是kernel32.dll或ntdll.dll。一旦发现有趣的模块,shellcode就可以推断出API在该模块中所在的地址。

该减灾过滤器访问导出地址表(EAT), 允许或禁止基于调用代码的读/写访问。部署EMET的情况下,当今大多数的shellcode试图查找其有效载荷所需的API时都会被拦截。

该减灾技术可能与一些软件存在兼容问题,如调试器、行为类似调试器的软件、或者使用反调试技术的软件。这样的例子包括保护机制、DRM和解压器。

请注意,这是一个伪减灾措施,旨在阻断目前的漏洞利用技术。其目的不是防御未来的漏洞利用攻击。随着攻击技术的不断发展,EMET也会不断进步。

1.2.7 自下而上的随机化

一旦EMET启用此减灾技术,此技术就会将自下而上的分配(包括堆、栈和其他内存分配)的基地址随机化(8位熵),但该技术不适用于以前的分配。

1.2.8 ROP减灾措施

EMET 3.5技术预览版推出了几款试验性反返回导向编程(ROP)减灾措施,旨在阻止任何依赖于这种技术的攻击。ROP是一种漏洞利用技术,能够在减灾措施(如数据执行保护)存在的情况便于代码的执行。为了做到这一点,ROP技术使用应用程序中已经存在的代码片段。在EMET4.1中,这些减灾技术已得到增强,许多兼容性和性能问题已经得到解决。

请注意,ROP减灾措施仅适用于32位进程。在该版本的EMET中,64位进程不受ROP技术的保护。

以下是ROP减灾技术的详细描述:

  加载库检查: EMET会监控所有到LoadLibrary API的调用并阻止通过UNC路径(即\\ evilsite\ bad.dll)加载库。如果一个程序从UNC路径或远程服务器合法地加载DLL,则可以禁用该选项。

  内存保护检查: EMET禁止堆栈区可执行。这类活动通常是由shellcode或ROP小工具使用的。

  Caller检查:EMET将确保当调用一个关键函数时,是通过一个调用指令而非“RET”调用。这是一个非常有用的减灾措施,防御了许多ROP小工具。此减灾技术可能与某些程序不兼容。

  模拟执行流程:此功能试图检测ROP小工具对关键函数调用的跟踪。类似“调用检查”,该功能可能与某些程序不兼容。

  StackPivot:该减灾措施用于检测堆栈是否已经改变。它与大多数程序兼容。

1.2.9 高级减灾措施

MET提供适用于所有配置软件的减灾方法。该版本推出的额外减灾措施只面向ROP减灾技术。当ROP措施启用或禁用时,它们会影响所有程序(至少在EMET中配置有一个ROP减灾措施)。下面是对这些高级减灾措施的总结:

深度钩挂: EMET会保护关键API和顶层关键API使用的较低级别的API。例如, EMET不仅钩挂和保护kernel32!VirtualAlloc,还保护相关的较低级别函数如kernelbase!VirtualAlloc和ntdll!NtAllocateVirtualMemory。

反detours:有些攻击企图通过执行被钩挂的函数头来规避钩挂,然后跳转到函数头之后的函数部分。如果启用了“反detours”选项,使用这种技术常见shellcode就没有效了。

禁用函数:启用此选项,列表中的额外API被使用时会被阻断。在该版本中,只有ntdll!LdrHotPatchRoutine被配置来防御滥用此API的攻击。

1.3 证书信任(可配置证书锁定)

EMET在证书信任链验证过程增加了额外的检查机制,其目标是检测通过加密通道的中间人攻击。每当浏览HTTPS网站、通过InternetExplorer向SSL证书建立证书链信任时, EMET将通过相应的锁定规则来验证终端实体的SSL证书和签发该证书的Root CA。根据特定域的配置规则,EMET会检测颁发特定SSL证书的Root CA是否出现变化。需要注意的是,EMET只检测异常,但不会阻断连接。 EMET将SSL证书名称(包括替代名称)与锁定规则中的网站名称进行匹配。如果找到匹配的证书, EMET验证此根证书的颁发机构是否是用户选择的RootCA之一。可以通过从Windows Trusted Root Certification Authorities商店导入受信Root CA的证书来创建受信列表。一旦导入,可以创建匹配SSL证书名称和Root CA证书的锁定规则。也可以添加每个锁定规则的异常情况。由于这些异常情况的存在,可能使用较少限制的规则,这样即使锁定规则不匹配时也可以接受SSL证书。异常情况是与Root CA证书的一些性质有关的,例如密钥大小、散列算法、发行方国家和公钥组成部分。

1.4 上报

EMET具有上报功能,这是通过一个附加组件EMET Agent实现的,它取代了EMET3中的EMET Notifier并增强了相关功能。一旦安装了EMET,这个新组件就会设置为随Windows启动。它会以EMET图标的形式显示在系统托盘区的任务栏中,可以在任何时间隐藏或配置为运行永久隐藏运行(通过Group Policy) 。执行以下任务时,EMET Agent是一个必需的组件:

在Windows事件日志中写入事件

EMET事件通过事件源(称为EMET)记录。这些日志可以在应用程序日志中找到。有3种不同级别的日志:信息、警告和错误。信息用于记录平常的操作,如EMET Agent启动。警告用于记录EMET设置改变或异常规则对SSL证书信任的验证。错误用于记录不受信任的SSL证书被检测盗或者EMET利用其减灾措施之一阻断了攻击(这意味着可能出现主动攻击)。与EMET上报有关的可能EventID在下表中呈现。用户应该也知道,有些减灾措施(当它们被配置为系统减灾措施并由操作系统本地提供时)可能不完全被EMET记录。

表 1:EMET3.0/4.0和4.1使用的EventID格式
9.png

(*)[S]是用于识别发送日志事件的子系统的数字(可能值:0-4

表 2:EMET 4.1使用的可能EventID
10.png

表 3:可用于事件记录EMET减灾措施
11.png

(*)当配置为系统减灾措施时,可能不会总被EMET记录

  通过任务栏通知区域中的提示框展示重要事件:严重程度与写入Windows事件日志的错误消息类似,当EMET通过减灾措施之一阻断攻击或检测到不受信SSL证书时,会向用户显示一条消息,告知用户被终止的应用程序、使用的减灾措施、或当前HTTPS连接中不受信SSL证书的详细信息。


12.png
图 9:EMET Agent通知

  执行证书信任验证任务: 只有当EMET Agent处于活跃状态并运行时,SSL证书、、Root CA证书和锁定规则才能执行验证。

  向预警方案发送上报: EMET提供了“预警方案”上报功能。当检测到漏洞利用企图并由EMET 阻断后,一组相关的攻击信息将通过标准的Windows错误上报渠道发送给微软。这些信息将帮助微软获得到零日漏洞的相关信息,并促进该问题变严重之前得到解决。如果该漏洞与第三方供应商的软件有关,微软将通过微软漏洞研究计划与受影响的供应商协作,以解决该问题。该预警方案上报功能也将把有关微软在线服务有关的可疑SSL证书信息上报微软。欲了解上报微软的数据类型的更多信息,请参阅“Privacy Statement.rtf”文件,可通过EMETGUI中的“帮助”功能区获取,也可通过http://aka.ms/emet41ps 获取。

请注意:EMET的上报功能仅适用于桌面程序。Modern程序不能利用该功能。

1.5 支持的操作系统和软件要求

1.5.1 支持的操作系统和应用程序

EMET4.1支持下列操作系统和服务包级别:

客户端操作系统:

   Windows XP SP3或以上
   Windows Vista SP1及以上
   Windows 7的所有SP
   Windows 8

服务器操作系统:

   Windows Server 2003 SP1及以上
   Windows Server 2008的所有SP
   Windows Server2008 R2的所有SP
  Windows Server 2012

请注意,并非操作系统都支持所有减灾措施。

表 4:系统减灾措施兼容性矩阵
13.png

14.png

此外,在64位系统中,有些减灾措施至适用于32位进程。详细信息请参阅下表。
表 5:应用程序减灾措施兼容性矩阵

15.png

EMET可以安装在虚拟机器上使用,但不支持虚拟化的应用程序,如微软的App-V或VMware ThinApp™。
该证书信任功能仅适用于IE浏览器,但它可以以试验性设置的形式为其他浏览器进行配置。关于这个功能适用于InternetExplorer的哪些版本,请参阅下表:

表 6:证书信任的应用程序兼容性

16.png



1.5.2 软件要求

EMET 4.1要求Microsoft.NET Framework 4。此外,为了使EMET在Windows 8和Windows Server 2012中适当运行,必须安装Microsoft KB 2790907 – Compatibility update is availablefor Windows 8 and Windows Server 2012

2 EMET配置

EMET必须在安装后进行配置,从而启用安全减灾措施。要配置EMET,必须指定以下设置:

- 应该启用哪些系统减灾措施。

- 哪些应用程序需要保护,用什么减灾措施保护。

- 采用哪些SSL / TLS证书锁定规则。

系统和应用程序减灾措施都可以通过EMET图形用户界面或EMET命令行工具来配置。针对SSL / TLS连接的证书信任功能只能通过EMET图形用户界面进行配置。参见本指南的第2.2和2.3节来了解如何使用这些工具来进行配置。

也可以使用Group Policy来配置系统和应用程序的减灾措施 。第3.2节介绍了Group Policy支持。

配置EMET的另一种方法是使用Protection Profiles。EMET 4.1的安装进程将用Popular Software Profile和Certificate Trust Profile来配置EMET。欲了解Protection Profiles包含的内容,请参考第2.1节。

配置EMET的另一种方法是使用配置向导。在安装结束时,配置向导将推荐一套适用的设置。当选择手动配置时,可以忽略配置向导。有关配置向导的详细信息,请参阅第2.2.1节。

EMET配置保存于注册表子项HKLM\SOFTWARE\Microsoft\EMETand some limited user-specific settings are saved also inHKCU\SOFTWARE\Microsoft\EMET。

2.1 EMET Protection Profiles

EMET带有两个默认的程序ProtectionProfile和一个证书信任ProtectionProfile。Protection Profiles是包含预配置EMET设置(针对常见的微软和第三方应用程序)的XML文件。在EMET安装目录中,这些文件位于Deployment\Protection Profiles文件夹。它们可以被启用、修改或用于创建新的保护配置文件。

EMET所包含的配置文件:

  Recommended Software.xml:为支持的微软Internet Explorer、写字板、微软Office组件、Adobe Acrobat8-11、Adobe Reader 8-11、Oracle Java6和7启用减灾措施。

  Popular Software.xml:为常见的应用程序,包括微软 Internet Explorer和微软Office组件启用减灾措施。

  CertTrust.xml:为微软帐户、微软Office365、Skype的登录服务;以及其他流行在线服务(如Twitter、Facebook和雅虎)的登陆启用证书锁定规则。

请注意:EMET Protection Profiles已通过优化配置更新,同时考虑到了一些软件的有限兼容性问题。EMET的证书信任规则都配置了特定的有效日期,即在被保护的SSL证书到期之前,每天都会有一条规则失效。

我们看下Popular Software.xml的一些规则。
16(1).png

上述规则很简单。它告诉EMET用默认的减灾设定保护IE浏览器。默认情况下,在保护配置文件中,所有减灾措施都会被启用。这点可以通过编辑配置文件中的DefaultConfig节点进行更改。总之,这条规则要求EMET为Internet Explorer启用所有减灾措施。
16(2).png



有了这个规则,我们为Windows Media Player启用所有的减灾措施(强制性ASLR、EAF和SEHOP除外)。另一个重要的信息是路径,例如“*\Windows MediaPlayer\wmplayer.exe”。该路径是EMET用来为应用程序注册减灾措施的,它需要匹配目标应用程序的路径,只有这样减灾措施才会有效。

到应用程序的完整路径名必须是指定的。也可以使用通配符,如*或?。另一种选择是只使用可执行文件的名称而不使用路径,如wmplayer.exe。

请注意,通配符只在路径部分有效,在可执行映像名称本身中是无效的。例如“wmplayer.exe”或“*\ wmplayer.exe”是有效的路径,而“* player. exe”或“* wmplayer.exe”则无效。这是由于Windows系统中应用程序兼容性框架的限制,而EMET依赖于这种兼容性。

保护文件被很好的注释。阅读这些文件可以更好地了解这项功能。ProtectionProfiles可以通过EMET的图形用户界面、EMET命令行工具或Group Policy来启用。

2.2 EMET图形用户界面

与EMET交互的一种方法是通过图形用户界面(GUI)。它可以通过EMET安装过程中创建的开始菜单/窗口图标来启动。本节将介绍GUI的各种窗口和部分。
当EMET的GUI启动后,将出现下列窗口。


17.png

图 10:EMET图形用户界面的主窗口

EMET的GUI被分成三个部分。从顶部至底部依次是:

功能区

文件:该组允许“导入”(Ctrl+ Shift + I)或“导出”(Ctrl + Shift +E)EMET的配置,并允许运行EMET配置向导(Ctrl + Shift + W)。请参考第2.2.1节--配置向导来了解更多信息。

配置:该组允许通过点击“应用程序”(CTRL + SHIFT + A)来访问“应用程序配置”窗口,通过点击“信任”(Ctrl + Shift + T)来访问“证书信任配置”窗口。请参见第2.2.3节—为应用程序配置减灾措施和第2.2.4节--配置证书信任(锁定规则)来了解更多信息。

系统设置:该组允许为系统申请一个QuickProfile,以及为EMET GUI 选择皮肤。请参见第2.2.2节--配置系统范围的设置和第2.2.6节--配置外观来了解更多信息。

上报:该组允许切换上报选项。请参见第2.2.5节--配置上报来了解更多信息。

帮助: 该组允许访问帮助资源,如支持论坛和用户指南(Ctrl + Shift + F1),以及访问EMET隐私声明。

系统状态:该部分显示系统减灾措施(DEP、SEHOP和ASLR)和证书信任功能的当前状态。这些设定值可以在该部分直接更改。

正在运行的进程: 该部分显示当前运行的应用程序,以及被EMET保护的应用程序。应用程序列表每30秒刷新一次,并且可以通过点击“刷新”按钮手动刷新。此外,在键盘​​组合CTRL + F可用于搜索列表中的特定应用程序。

2.2.1 配置向导

该配置向导将在EMET安装结束时显示。如果初次安装EMET,它将允许应用推荐设置或手动配置EMET。若从以前版本的EMET升级,则将显示保留现有设置的选项。
配置向导将自动检测系统是否已经有一些EMET设置,并将提供相应的不同选择。


我们强烈建议您采用推荐设置,之后根据需要切换EMET配置。

2.2.1.1 升级之前版本的EMET其他配置减灾

可以对EMET减灾措施配置其他设置。这些设置可从“应用程序配置”窗口更改。

“默认操作”功能区定义了当发现漏洞利用时EMET会采取的操作:

   终止攻击: EMET会上报攻击企图并终止进程。

   只进行审核: EMET会上报攻击企图,但不会终止进程。这种模式并不适用于所有的减灾措施,因为当一些减灾措施被检测到攻击时,该进程已经处于无法恢复的状态了。

支持审核模式的减灾措施是:

   EAF

   ROP减灾: LoadLib、MemProt、Caller、StackPivot 、SimExecFlow

   SEHOP仅支持Windows XP和Vista

2.2.4 配置证书信任(锁定规则)

在桌面模式下运行时,此功能仅适用于Internet Explorer。它不适用于Windows 8中的Modern Internet Explorer应用程序。要启用此功能,“证书信任(锁定)”必须启用,如第2.2.2节所述;iexplore.exe进程必须添加到受保护的应用程序列表中,如第2.2.3节所述。不需要启用其它减灾措施。

可以通过点击EMET GUI主窗口的“配置”功能区中的“信任”(Ctrl + Shift + T)按钮来配置SSL / TLS证书锁定规则。从“证书信任配置”窗口中,可以添加或列举受保护的网站(其SSL证书的名称),并为每个网站分配一个现有规则。点击“添加/删除”功能区中的“添加网站”(Ctrl + Add)按钮后,键入SSL证书中所示的网站的完全合格域名(请注意:通配符或其他符号是不能接受的,名称必须是唯一的)。
18.png
图 11:login.live.com的证书信任链

下一步是为网站分配一个“锁定规则”。如果没有规则,请点击“锁定规则”选项卡,会出现可用规则列表的窗口。

在这个窗口中可以定义可分配给网站的证书锁定规则。要生成一个新的规则,请点击“添加/删除”功能区中的“增加规则”(Ctrl + Add)按钮,并至少用适当的值填写表中的前三个参数:

   名称:是唯一的规则标识符,之后可从“受保护的网站”选项卡访问。

   证书:将打开一个窗口,该窗口允许从用户证书商店(certmgr.msc)的受信根证书颁发机构文件夹中定义并导入一组受信证书颁发机构。可以从这个名单中选择一个或多个受信根证书颁发机构。如果受信根证书颁发机构不存在于列表中,将需要提前导入。

   规则有效期:将建立规则的到期时间。当规则过期后,它将被忽略。EMET Agent会写入一个日志事件来通知该规则已过期。

也可以定义四个额外的检查,以允许验证异常,即网站和其锁定规则不匹配(如果定义的可选检查满足,则非锁定根CA将被视为有效):

   最小密钥: 如果Root CA证书的密钥等于或大于选定值,即使Root CA与定义的不同,证书也将被视为有效。

   允许的国家:如果Root CA证书的发行国家与字段中指定的一致,即使Root CA与定义的不同,证书也将被视为有效。

   阻止的哈希:如果Root CA证书的哈希算法不是出自该字段,即使Root CA与定义的不同,证书也将被视为有效。

   公钥匹配:当选择此选项时,EMET将只验证锁定规则中Root CA的公钥组件,而不匹配名称和序列号。

请注意:这些可选的检查旨在防止误报,并为符合特定标准的Root CA启用一些自动的异常处理;锁定规则的最严格的配置禁用所有可选检查(N/A或不检查)。当非锁定Root CA通过上述前三个异常情况之一验证后,EMET Agent不会显示警告,但会记录该事件并跟踪这个特殊的验证。

一旦定义了规则,请点击“受保护的网站”选项卡,并将该规则分配给所需的网站。一个网站只能有一个锁定规则,而一个锁定规则可以分配给多个网站。

“受保护的网站”和“锁定规则”项可以通过点击表中需要删除项、然后点击“添加/ 删除功能区的“删除网站”或“删除规则”(Ctrl + Substract)来删除。锁定规则只能在不被任何网页使用的情况下被删除。对特定“受保护的网站”的保护可以通过取消选中“激活”列来暂时停用。

配置完成后,如果浏览网站时一条规则被触发,EMET将检测SSL证书与配置规则不匹配,并根据上报设置(预警上报机制不适用于该证书信任功能)进行响应。

EMET的图形用户界面(EMET_GUI.exe)提供配置“证书信任”项的界面。但是,也可以利用EMET_GUI或EMET_CONF导入以前导出的锁定规则配置。通过Group Policy的配置不支持此功能。

如何创建证书信任锁定规则?请参见安全研究和防御博客的帖子。

2.2.5 配置上报

可以配置EMET的上报提醒。当EMET检测到攻击企图或违反锁定规则的SSL证书后,EMET Agent将执行一个操作。这个操作可以被定义为写入Windows事件日志、显示警告、或两者兼而有之。该预警方案仅适用于攻击检测,且不适用于WindowsXP。


可以配置当直接从EMET GUI主窗口检测到攻击时EMET采取的操作。该“上报”功能区包含三个项目:Windows事件日志、托盘图标和预警。

   如果“Windows事件日志”被选中,EMET将写入Windows事件日志。

   如果“托盘图标”被选中, EMET Agent将弹出一个窗口来警告用户,窗口包含攻击的详细信息。

   如果“预警”被选中,EMET会生成与攻击有关的信息,包括内存转储和用来检测和阻止攻击的减灾措施类型,并通过标准的Microsoft错误上报渠道将此信息上报到微软。当预警被激活后,用户将有机会在发送给微软之前审查信息。

请注意:请参阅第4 章--高级选项,以便更好地了解自定义“托盘图标”消息的高级配置。

2.2.6 配置外观

EMET可以配置EMET GUI的外观,以及EMET GUI和EMET Agent的各种图形组件的外观。EMET的主题可以通过EMET GUI的主窗口更改,点击“系统设置”功能区的“皮肤”按钮。

2.2.7 可访问性

EMET的图形用户界面提供了可访问性功能,使之能够与Windows提供的访问功能更加兼容:

   全键盘导航功能支持

   高对比度支持

   针对不同的文字大小,比默认值高200%的全面支持

   部分说明支持

2.3 EMET的命令行工具

配置EMET的一种替代方法是使用EMET_Conf.exe。此命令行工具可以在安装EMET的位置找到。

不带任何参数运行EMET命令行工具将显示一个屏幕,屏幕中包括目前所有针对应用程序和系统的特定减灾措施。

以下是EMET命令行工具支持的与配置有关的选项。

添加应用程序到EMET
19(1).png

<path to executable>可以是完整路径名。也可以使用通配符,即*或?。

另一种选择是只使用可执行文件名,不带路径,如wmplayer.exe。

请注意,通配符只在路径部分有效,在可执行映像名称本身中是无效的。例如“wmplayer.exe”或“*\ wmplayer.exe”是有效的路径,而“* player. exe”或“* wmplayer.exe”则无效。这是由于Windows系统中应用程序兼容性框架的限制,而EMET依赖于这种兼容性。

-- force选项用于向为目前未安装在系统上的应用程序配置EMET。

用法示例:


19(2).png

EMET已启用的应用程序列表

19(7).png

显示所有的EMET应用程序减灾设置,首先显示本地配置的设置(EMET_GUI或EMET_CONF),其次显示通过Group Policy配置的设置。

EMET已启用的系统减灾列表

19(3).png


显示所有的EMET应用程序减灾设置,首先显示本地配置的设置(EMET_GUI或EMET_CONF),其次显示通过Group Policy配置的设置。

EMET已启用的应用程序列表
19(4).png

显示所有的EMET应用程序减灾设置,首先显示本地配置的设置(EMET_GUI或EMET_CONF),其次显示通过Group Policy配置的设置。  

证书信任配置列表
19(5).png

<path to executable>可以是一个完整的路径,使用通配符的路径,或仅仅是可执行文件的名称。它应该匹配用于向EMET添加应用程序的<path to executable>。

从EMET中删除所有应用程序

19(6).png

这将删除所有EMET应用程序减灾设置。请注意,这不会删除通过Group Policy配置的应用程序的减灾设置。

删除所有证书信任配置




这将从EMET中删除所有的证书信任配置

删除所有EMET配置
19(8).png
这将删除所有EMET应用程序减灾设置和证书信任配置。

它等同于同时运行“--delete_apps”和“-- delete_certtrust”

修改系统减灾
19(9).png

--force选项将减灾措施设定为不安全状态。更多信息请参阅第4 章--高级选项。默认情况下,不安全选项是是不会通过命令行工具或用户界面显示的。

从XML文件导入/导出应用程序设置
19(10).png

导入以前导出的设置。该命令也可以用于导入和启用Protection Profile或证书信任功能的整个配置,如EMET_Conf --import “Deployment\Protection Profiles\PopularSoftware.xml”。

19(11).png
将当前配置导出到指定的xml文件。

配置上报设置
19(12).png
此开关配置上报发生的方式。可以使用此命令进行切换的设置如下:

  事件日志:该关键词将开启或关闭Windows系统事件的攻击记录。

  托盘图标:该关键词将开启或关闭用户视觉通知。

  遥测:该关键词将开启或关闭预警方案系统。

以下是如何使用此命令的一个例子:
19(13).png

配置攻击设置
19(14).png


此开关配置当攻击发生时EMET应该如何行动:

  审核:不终止进程,只记录攻击企图

  终止:当检测到攻击企图后终止程序

3 部署EMET

企业可以利用其现有的管理基础结构来大规模地部署和配置EMET。在本节中,我们来谈谈如何使用系统中心配置管理器和Group Policy在企业网络中部署和管理EMET 。

3.1 微软系统中心配置管理器

EMET很容易集成到微软系统中心配置管理器,并用于部署和配置的目的。

3.1.1 创建程序将EMET部署到客户端

部署EMET的第一步是下载EMET 4.1 MSI。一旦获得了MSI软件包,必须遵循以下步骤。在本例中,我们将参照在ConfigurationManager 2012中创建应用程序的方法,也可以使用ConfigurationManager 2007来完成包、程序和广告的创建。

1.      从“软件库|应用管理|应用程序”中选择创建应用程序。

2.      保持默认类型为Windows安装程序(本地),然后浏览源UNC路径,寻找先前下载了(*)EMET设置MST文件。

3.      该应用程序的详细信息将自动从MSI导出,MSI产品代码也会同时导出 (在导入信息页上)。

4.      在主要信息页面,可以向该应用程序添加任何额外的信息,预先安装命令将在安装程序旁边显示。编辑安装行来读取msiexec /i "EMET Setup.msi" /qn /norestart。

5.      更改安装行为,安装系统。

6.      完成向导。

7.      从刚刚创建的应用程序中选择部署。

8.      浏览各个目标。

9.      在内容页中,选择分布点。

10.   在部署设置页面,选择预定的安装设置(很可能是必须的,除非这只是一个测试部署)。

11.   配置计划的部署、用户体验和警报,然后完成向导。

12.   将EMET部署到所有目标客户端的过程已经开始。其进展可以通过监控|部署来监控。

3.1.2 创建软件包和程序来配置EMET

EMET部署完成后必须进行配置,以保护应用程序。如果没有配置EMET,基本客户端不会单独采取任何保护应用程序的措施。在这里,我们将创建上报EMET的客户端,并针对那些具有配置包的客户端。

3.1.3 创建EMET配置目标集合

1.      从“资产及合规性|设备集合”中选择创建设备集合。

2.      命名设备集合(安装EMET的客户端),并选择有限集合。

3.      在成员资格规则页面,点击添加规则,并选择一个查询规则。

4.      命名查询,并选择编辑查询语句。

5.      在标准选项卡上,单击黄色星。

6.      在条件属性中,保留类型为简单值,然后选择。

7.      选择安装的应用程序为属性类。

8.      选择显示名称为属性。

9.      点击确定后,点击值按钮。

10.   从值列表中选择EMET。请注意:至少一个系统必须向EMET客户端上报其硬件清单,以便完成安装。如果该数值不在列表中,只需键入该值。

11.   完成查询规则后,选择评价该集合的频率。我们将针EMET配置,所以需要尽可能多地对其进行评估。此外,必须牢记,只有当来自客户端(EMET已安装)的清单信息被发送到服务器后,该集合才会被填充。默认情况下,清单的发送时间间隔为7天。

3.1.4 创建EMET配置软件包和程序

1.      将下列4个文件放置于将被用作源EMET配置包的源目录中。这些文件可以从EMET(EMET已经安装在系统上)客户端的源目录中收集。注意:如果所有的文件都没有,则EMET配置将不起作用。

a.      Popular Software.XML(applications folder\EMET\Deployment\Protection Profiles

b.      EMET_Conf.exe (applications folder \EMET )

c.       HelperLib.dll (applications folder \EMET)

d.      MitigationInterface.dll (applications folder \EMET)

e.      PKIPinningSubsystem.dll (applications folder \EMET)

f.       SdbHelper.dll (applications folder \EMET)

2.      从“软件库|软件包”中选择创建软件包。

3.      命名软件包,并选择包含源文件的软件包。提供步骤1中介绍的四个文件的路径。

4.      选择标准程序。

5.      命名程序,将命令行设置为EMET_Conf.exe--import “Popular Software.xml”。请注意:这仅仅是一个例子,使用由EMET团队提供的“PopularSoftware”保护配置文件。可以修改这个配置文件或使用EMET所提供的其他保护配置文件之一。要导入的文件需要被引用并包含在EMET配置包中。

6.      将程序设置为隐藏运行以及用户是否登录。

7.      完成向导。

8.      完成软件包和程序后,选择部署。

9.      将刚刚创建的集合作为目标集合,并用所需配置完成向导。

(*)的更多信息和可下载的配置管理包可以在配置管理团队博客中找到

3.2 GroupPolicy

EMET自带GroupPolicy支持。当安装EMET后,EMET.admx和EMET.adml文件也安装到“Deployment\GroupPolicy Files”文件夹。这些文件必须被复制到\\Windows\PolicyDefinitions和\Windows\PolicyDefinitions\en-US文件夹。一旦完成,EMET系统和应用程序的减灾设置可以通过Group Policy来配置。

EMET公开了三组策略。下面对每组策略进行介绍。更多信息可参考每个策略的策略编辑器。

1.      系统减灾措施:命名的系统ASLR、DEP系统和系统SEHOP,这些策略用于配置系统减灾措施。请注意,修改系统减灾设置可能需要重启才能生效。

2.      默认保护:有三种:Internet Explorer、推荐的软件和常用软件。ProtectionProfiles是预配置EMET设置,面向普通家庭和企业软件。采用这些策略来启用它们。

3.       应用程序配置:这导致了自由形式的编辑器(其中可以配置不属于默认的保护内容的应用程序)。句法形式是:应用程序可执行文件名,后面是不需要启用的可选减灾措施列表。如果没有指定减灾措施,则所有EMET应用程序减灾措施都将被启用。

4.      默认操作和减灾设置:这些设置都涉及到了ROP减灾措施(如第1.2.9节所述)和检测到攻击时默认操作(只审核或终止)的高级设置。

5.      EMET Agent可见性:此设置允许在任务栏托盘区自动隐藏EMET Agent图标。

6.      EMET Agent自定义消息: 此项目允许自定义EMET检测到攻击时显示的警报消息。托盘图标上报设置必须打开,以显示此消息。

7.      上报:此项目允许切换Windows事件日志、任务栏图标以及预警方案的上报配置。

一旦EMET GroupPolicy被启用,它们将被写入到注册表HKLM\SOFTWARE\Policies\Microsoft\EMET。为了使它们在EMET中有效,必须执行以下命令:

19(15).png

请注意,当应用Group Policy时,在 Group Policy写入注册表之前往往会有短暂的延迟。

该命令可以单独运行,例如,在系统启动时、登录时或者随计划任务运行。

要查看Group Policy控制的EMET设置,请使用EMET命令行工具运行以下命令。

19(16).png

需要注意的是通过Group Policy配置的设置优先于使用EMET GUI或EMET命令行工具本地配置的设置。此外,Group Policy控制的设置只能通过GroupPolicy修改或删除。例如,运行的

19(17).png

只会清除通过EMETGUI或EMET_Conf定义的减灾设置和SSL证书锁定规则。通过GPO定义的减缓设置和SSL证书锁定规则将是完整的。

3.3 其他选项

如果使用不依赖于系统中心配置管理器或Group Polic的管理解决方案,建议利用第2.1节中介绍的Protection Profiles功能。

4 高级选项

4.1.1.1
启用不安全的配置

默认情况下, EMET隐藏被认为不安全的配置选项。这些选项在常用的场景下已经被证实会导致系统不稳定。也可以通过重写注册表项来配置这些选项。重写之后, EMET会显示不安全的选项,用户只要选择其中之一时也会发出警告。

该重写可以在注册表HKEY_LOCAL_MACHINE \ SOFTWARE \MICROSOFT \ EMET中找到。如果该表项不存在,则运行EMETGUI并刷新注册表。注册表项里有一个名为EnableUnsafeSettings的DWORD值。默认情况下它的值为0 。通过将该值设置为1并重新启动EMET的图形用户界面,就可以选择不安全的选项了。

EMET目前有一个不安全的选项:系统ASLR的“始终开启”设置。根据操作系统的配置,设置系统ASLR为“始终开启”会使操作系统启动时出现崩溃。修复这一问题需要在安全模式下启动系统,将系统ASLR设置为“选择性启用”(推荐)或“禁用”。

4.1.1.2 为上报配置自定义消息

当检测到攻击时,可以配置自定义消息并进行上报。对于EMET来说,该设置可以通过Group Policy或通过创建注册表项进行配置。

在注册表单元HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ EMET中创建一个新的“字符串值”,命名为TrayIconMsg 。如果EMET检测到并终止了攻击,这个指定的字符串将显示给用户而非向其显示默认的通知。

4.1.1.3 为第三方浏览器配置证书信任功能

高级用户可以配置第三方浏览器,从而受益于证书信任功能提供的减灾措施。该浏览器需要使用WindowsCryptoAPI并支持CAPI扩展。此外,第三方浏览器必须被添加到受保护应用程序(即使没有任何减灾措施)列表中 。最后,第三方浏览器的可执行文件名必须附加到注册表配置单元HKEY_LOCAL_MACHINE\ SOFTWARE \ MICROSOFT \ EMET 中的注册表值“EMET_CE”中,用“;”隔开,例如“iexplore.exe; thirdpartybrowser.exe”。

请注意:此场景是不支持的,属于试验性场景。从技术上说,将微软CryptoAPI用于SSL信任链验证的任何程序都可以写入该注册表值,使其可与EMET的证书信任功能协作。


5 减灾注意事项

配置EMET的各种减灾措施时,需要考虑几点注意事项。在下面的章节中,我们讨论了系统设置和应用程序设置的注意事项。

5.1 系统设置

DEP

1.为DEP配置系统设置改变了Windows的引导选项。对于使用BitLocker的系统来说,这将导致BitLocker检测到“系统引导信息已更改”,并需要输入恢复密钥进行重启。强烈建议在使用BitLocker的系统上配置DEP设置之前,先配置好恢复密钥。

2.并非所有的系统(包括虚拟机)都支持DEP。然而,即使EMET运行于不支持它的机器上,此选项将仍然是可用的。在这些系统上设置该选项不会有任何效果。需要注意配置DEP时的系统局限性。

SEHOP

1.在Windows 7和更高版本中,SEHOP(系统和应用程序)是由操作系统实现的。出于这个原因,当此减灾措施启用和被检测到时, EMET将无法及时通知用户检测到了SEHOP。相反,操作系统将终止该进程,并将该事件写入应用程序事件日志。

ASLR

2.ASLR有一个不安全的设置选项称为“始终开启”。此设置将强制不特别支持它的二进制文件进行地址空间随机化。由于存在导致系统不稳定的风险,所以此设置在默认情况下不可见。

在我们的测试中,我们遇到了一些问题,即在一个常用应用场景中将ASLR设置为“始终开启”将导致系统开机过程中出现蓝屏。发生这种情况的原因是某些第三方视频驱动程序的地址空间被随机化了。这些驱动程序并不支持这种随机化,因此会崩溃,从而导致整个系统崩溃。解决该问题需要在安全模式下启动,并将系统ASLR设置为“选择性启用”或“禁用” 。

更多有关如何开启不安全ASLR设置的问题,请参阅第4章--高级选项。


5.2 应用程序设置

DEP

1.并非所有的系统(包括虚拟机)都支持DEP。然而,即使EMET运行于不支持它的机器上,此选项将仍然是可用的。在这些系统上设置该选项不会有任何效果。需要注意配置DEP时的系统局限性。

SEHOP

1.在WindowsVista和以上版本中的各种应用并不与EMET的SEHOP兼容,在这种情况下,最好是禁用EMET的SEHOP并使用系统减灾措施的SEHOP。将系统减灾SEHOP配置为选择性关闭。

空页
堆喷雾
自下而上的随机化


EAF

1.用/调试启动选项配置的系统在运行EAF程序时需要连接调试器。如果/调试启动选项被启用且调试器未连接,这时如果EAF程序启动,则系统将停止响应。这是因为EAF减灾措施依赖于调试寄存器。如果Windows已经被配置为使用内核调试器, 则几个内存地址中的一个被访问后,Windows将尝试通知调试器。之后,Windows将等待来自调试器的响应。如果调试器不响应,系统会停止响应。

2.一些虚拟机不支持调试寄存器(因而也不支持EAF)。然而,即使EMET运行于不支持它的机器上,此选项将仍然是可用的。在这些系统上设置该选项不会有任何效果。需要注意配置EAF时的系统局限性。

3.EAF减灾措施不应用于:使用压缩器的受保护的程序和库、由反调试代码的DRM或软件、调试器和安全软件,如杀毒软件、沙箱、防火墙等。



强制性ASLR

1.只有当核心进程的地址空间和静态依赖建立后,EMET的减灾措施才会变得活跃。强制性ASLR并不强制地址空间随机化。强制性ASLR的重点是保护动态链接模块,如插件。

2.Windows XP和Windows Server 2003不支持随机化。由于强制行ASLR不保护核心进程或静态导入(参见上述第1点),所以它们将永远位于可预见的地址。因此,强制性ASLR无法对这些平台提供任何有意义的保护,所以被禁用。对于哪些平台支持减灾措施,请参阅第1.5节--支持的操作系统和软件要求。

加载库检查
内存保护检查
Caller 检查
模拟执行流程
Stack pivot


6 常见问题解答

6.1 生命周期策略

  EMET 4.1的生命周期策略是怎样的?
EMET 4.1遵循与EMET 4.0相同的生命周期策略。在下一版本的EMET (EMET 5)发布之前,它将运行12个月。

  是否仍然支持旧版本(即EMET1.x)?
由于发布了EMET 4.1, 我们不再支持EMET 1.x或EMET 2.x。直到2014年6月(即EMET 4.0发布12个月),我们将继续支持EMET 3.0 。

6.2 EMET 3.0的问题

  EMET 3.0的配置是否与EMET 4.1兼容?
是的,EMET 3.0设置和导出设置文件与EMET 4.1兼容。

  我已经EMET安装了EMET 3.0,安装新版本前是否需要将其卸载?
安装EMET 4.1之前,您不需要卸载EMET 3.0。EMET 4.1对EMET 3.0的安全设置进行了升级。

6.3 主要减灾问题

  在Process Explorer中,即使EMET配置为可使用某程序,该进程的ASLR列仍然是空白的。

EMET不利用ASLR的操作系统实现。即使被开启,它也不会出现于Process Explorer,这是因为Process Explorer只查询ASLR的操作系统实现。

6.4 减灾措施的故障排除

  我已经修改了DEP系统设置并进行了重启。BitLocker要求提供恢复密钥。这是为什么,该如何处理?

修改DEP的系统设置改变了操作系统的引导选项。BitLocker无法防止攻击者篡改这些选项,而是监视它们的变化。当它们更改时,BitLocker会要求提供恢复密钥,以确保所做的更改是合法的。

为了防止BitLocker不断要求您提供恢复密钥,您需要暂停BitLocker,应用更改并重启计算机。重启后,您可以恢复BitLocker。这将导致BitLocker记录新的启动选项。

  如果导出地址过滤(EAF)减灾启用,我的系统会挂起。

这通常出现于当系统运行在调试模式(/调试引导选项)时。EAF减灾措施(包括调试寄存器和单步事件)的性质引发了挂起,这是因为系统继续执行程序前等待调试器的响应。

为了防止这种情况发生,您可以执行下列操作之一:

a)删除/调试引导选项并重启系统

b)连接调试器,并用它响应系统。

  我配置EMET来保护应用程序后,程序启动时总是崩溃。

这通常是因为应用程序与EMET的某个减灾措施不兼容。找出该减灾措施的方法是将所有的减灾措施一个一个地启用和禁用,直到您的应用程序能够正常启动。一旦确定了问题减灾措施,您可以将其禁用,仍然启用其他减灾措施。

请注意问题中粗体字“总是”。如果应用程序来自您认为可信的厂商,且不管用户输入什么内容,100%出现崩溃,那么更可能是应用程序的兼容性问题。

不适出现的崩溃、基于外部输入出现的崩溃(例如用读卡器打开特定文件时)、或可能来自不受信来源的应用程序崩溃需要区别对待。对于这些应用程序,在找出崩溃的根本原因之前,不应该刻意禁用EMET减灾措施,以避免出现安全事故。

  启用EAF后,一个应用程序总是崩溃。

这个问题与前一个类似,有些应用程序可能无法与EAF兼容。这通常是由应用程序正在实施保护知识产权的防御造成的。我们有时会在视频播放器、转换器、VOIP程序等中看到这种方法。如果您发现EMET的EAF启用时,您的应用程序100%会崩溃,那么您可以将EAF禁用,同时启用其他减灾措施。

6.5 主要问题

  尝试启动图形用户界面时出现错误“应用程序正常初始化失败”。怎样解决?

图形用户界面要求系统上安装.NET 4.0。如果您从另一台机器复制二进制文件后出现了此错误,请尝试在本地计算机上运行安装程序。它将引导您下载.NET 4.0。

  EMET是否运行于64位应用程序?它安装在32位程序文件目录中。

是的,EMET支持64位应用程序。安装程序能够运行于64位和32位系统。这方面的一个副作用是,二进制文件都放在32位的目录下。

但是,请注意,可能会有一些减灾措施不适用于64位应用程序。参见第1.5节-- 支持的操作系统和软件要求。

  我安装了旧版本的EMET,如何升级到EMET4.1

我们建议您先通过Windows控制面板卸载旧版本的EMET,然后手动删除HKLM\Software\Microsoft\EMET 和 HKLM\Software\Policies\Microsoft\EMET密钥,之后运行EMET 4.1安装程序。

  怎样才能知道我的应用程序是否与EMET兼容?

测试只针对包含在Protection Profiles中的应用程序。对于任何其他应用程序,建议在上载环境中彻底进行测试,然后在该系统中部署这些应用程序的EMET保护措施。

  请问保护应用程序时插件会得到保护么?

是的,减灾措施适用于加载到EMET保护进程的插件,例如ActiveX控件或其他第三方加载项。

  我的反病毒程序警告EMET的GUI

EMET的GUI查询所有的进程以获得它们的DEP状态。我们知道,在很少的情况下,当杀毒软件在自己进程中该查询行为时,会标记该行为。

EMET并不试图执行任何有害的行为, 您可以允许其继续运作。

7 支持信息

EMET 4.1目前的支持渠道是TechNet论坛http://go.microsoft.com/fwlink/?LinkID=213962

具有高级或专业技术支持的客户可以利用这些渠道获得EMET 4.1的支持信息。

用户可以发送电子邮件至emet_feedback@microsoft.com 提出反馈和建议。请不要发送邮件提出支持请求,请使用TechNet论坛或官方的支持渠道来代替。

A. 附录:EMET的兼容性

考虑EMET的兼容性是部署过程的重要组成部分。在这种情况下,兼容性是指“能够在启用所有EMET减灾措施时运行程序,且不造成任何功能损失”。

EMET不会执行任何有害行为, 也避免执行导致不兼容的操作。这意味着,大多数应用程序将与之兼容。但是我们强烈建议您在部署EMET之前测试程序的兼容性。

在EMET的情况下,兼容性测试在所有微软和第三方应用程序中进行。这些应用程序和确定的兼容性问题可参见下表。

请注意,当没有指定版本时,通常指最新版本。

Y:兼容/ N:不兼容
表 7:常见软件兼容性矩阵
19.jpg
20.jpg
21.jpg

(1)仅适用于Windows7/Server2008 R2和更高版本。该SEHOP适用于Windows XP/ Server 2003,而WindowsVista/ Server 2008与此软件不兼容。

当发现不兼容之后,下一步是确定哪些减灾措施导致了不兼容。这可以通过启用所有EMET减灾措施,同时运行程序,重现该问题来进行确定。之后应该一个一个地删除相关的减灾措施,直到问题不再出现。一旦测试过程中发现了有问题的减灾措施,我们建议您仍然部署没问题的减灾措施,以充分利用EMET的保护功能。

请随时通过第7章中的联系方式告知我们您遇到的任何不兼容问题。


英文原文报告下载: Enhanced Mitigation Experience Toolkit 4.1 User Guide.pdf (1.8 MB, 下载次数: 22)
安天公益翻译(非官方中文译本): 增强减灾体验工具4.1用户指南[非官方中文译本 &amp;#8226; 安天实验室译].pdf (2.47 MB, 下载次数: 35)
您需要登录后才可以回帖 登录 | 注册创意安天

本版积分规则

小黑屋|手机版|Archiver|创意安天 ( 京ICP备09068574,ICP证100468号。 )

GMT+8, 2024-4-26 20:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表