查看: 27694|回复: 57
收起左侧

[其他事项] Microsoft给我们提供的神器— —EMET【Enhanced Mitigation Experience Toolkit】

   关闭 [复制链接]
驭龙
发表于 2011-5-27 08:16:25 | 显示全部楼层 |阅读模式
本帖最后由 zdshsls 于 2011-6-1 19:17 编辑

现在的威胁无处不在,为了我们个人用户的安全,我个人建议大家给系统穿上Microsoft的铠甲--EMET,它是我们MSE的神器,但与NPE不同,EMET是防御型神器,相当强大的MSE配套软件。

在大区已经有高人写过EMET教程,我在这里就仅补充一下其它信息及介绍吧。


之前我并不认为EMET有多么强大,但看过这些介绍,我才知道这是我们的神器啊。

建议大家把联网的应用程序,如adobe软件(flash等等)QQ、浏览器、迅雷、游戏等等,以及系统进程,如svchost、explorer等等,添加到应用程序列表里。



=========================================================
EMET 2.1
Microsoft技术支持网站的中文介绍

什么是增强的缓解体验工具包?(EMET)
增强的缓解体验工具包 (EMET) 是一种可以帮助阻止软件中的漏洞被利用的实用程序。EMET 通过使用安全缓解技术来实现此目的。这些技术用作特殊防护和阻挡,导致利用者必须攻克障碍才能利用软件漏洞。这些安全缓解技术不保证这些漏洞不被利用。而是尽量使漏洞的利用变得尽可能困难。
在许多情况下,可以绕过 EMET 的完整功能利用可能从未开发出来。

对于 EMET 可以保护的软件是否有限制?
无论编写软件的时间和撰写人,EMET 设计用于任何软件。这包括由 Microsoft 和其他供应商开发的软件。但是,您应注意某些软件可能与 EMET 不兼容。有关此问题的详细信息,请参阅“使用 EMET 是否会出现任何风险?”部分。

使用 EMET 有何要求?
在 Windows XP 和 Windows Server 2003 操作系统上,必须安装 Microsoft .NET Framework 2.0 才能使用 EMET。对于任何其他支持的 Windows 版本没有其他特殊要求。

可以从何处下载 EMET?
若要下载 EMET,请访问以下 Microsoft 网站:
http://go.microsoft.com/fwlink/?LinkID=200220&clcid=0x409

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e127dfaf-f8f3-4cd5-8b08-115192c491cb

如何使用 EMET 保护我的软件?
安装 EMET 之后,必须配置 EMET 才能为软件提供保护。这要求您提供希望保护的可执行文件的名称和位置。为此,请使用下列方法之一:
使用图形应用程序的“配置应用程序”功能
使用命令提示符实用程序
注意:介绍如何使用这两种方法的说明位于随 EMET 一起安装的用户指南中。

如何在整个企业中部署 EMET?
如果使用的是当前版本,则在整个企业中部署的最简单方法是使用命令提示符实用程序。为此,请按照下列步骤操作:
在每个目标计算机上安装 MSI。或者,将所有已安装文件的副本放在网络共享上。
在每个目标计算机上运行命令提示符实用程序以配置 EMET。

注意:您可以使用许多不同的技术实现此操作,包括使用 System Center Configuration Manager。如果您将 EMET 放在共享上,请确保从该共享运行命令提示符实用程序。应用程序运行时,会将必要的文件复制到 Windows 目录,并且将进行任何所需的注册表更改。
我们发现此技术对于许多企业而言存在一些不便。在下一版本,我们致力于将企业环境中部署和管理 EMET 变得更为简单。

使用 EMET 是否有任何风险?
EMET 使用的安全缓解技术具有应用程序兼容性风险。某些应用程序完全依赖缓解阻止的行为。在工作环境中部署 EMET  之前使用测试方案充分测试所有目标计算机上的 EMET 非常重要。如果您遇到特定缓解的问题,您可以单独启用和禁用特定缓解。有关详细信息,请参阅随 EMET 一起安装的用户指南。

=======================================================
EMET的英文用户指南,机器翻译+部分人工修改(这翻译有一点不伦不类,大家将就看吧)

加强缓解体验工具包2.1

1。简介
加强减灾经验的工具包(EMET)旨在
帮助防止入侵者访问您的系统的黑客。
软件漏洞和弱点已成为日常生活
生活中的一部分。几乎每一个产品必须加以处理和
因此,用户面对的是一个安全更新流。
对于用户谁袭击之前得到的最新更新已
应用或攻击之前,谁得到更新用的,
其结果可能是灾难性的:恶意软件,有价证券投资收益损失等
安全减灾技术的设计,使其更
攻击者很难利用的漏洞在给定一
一块软件。EMET允许用户管理这些技术
在他们的系统,并提供一些独特的好处:

1。没有源代码需要:到现在为止,现有的几个
缓解措施(如数据执行保护)的需要
应用程序必须手动选择并重新编译。EMET
通过允许用户在不改变这种应用选择
重新编译。这是特别方便的部署缓解
软件这是以前写的缓解措施是
在源代码可用,不可用。

2。高配置:EMET提供更高程度的
缓解粒度,允许单独应用于
每个进程的基础。没有必要让整个产品
或应用程序套件。这是一个有益的情况下
过程是不与特定的缓解兼容
技术。当发生这种情况,用户可以简单地把那
缓解关闭该进程。

3。帮助硬化遗留应用程序:这并不少见有
硬依赖旧传统的软件无法轻易
重写,需要慢慢地被淘汰。不幸的是,这
可以很容易带来安全风险,因为传统的软件是臭名昭著
因安全漏洞。而真正的解决办法
这是迁移远离传统的软件,可以帮助EMET
管理风险,而这是导致其更难发生
黑客利用了传统的软件漏洞。

4。易用性:该系统可广泛的缓解政策
看到和EMET的图形用户界面进行配置。有
没有必要寻找和破译或运行注册表项
平台相关的实用程序。随着EMET你可以调整设置
有一个一致的界面不管底层
平台。

5。持续改善:EMET是一个活的工具,旨在为
更新新技术的出现缓解。这
为用户提供了一个机会,尝试切割并从中受益
边缘缓解。对于EMET释放周期也没有联系
任何产品。EMET更新可以尽快作出新动态
缓解准备
该工具包包括几个伪旨在缓解技术
在破坏当前利用技术。这些伪
缓解不健全不足以阻止未来的开发
技术,但可以帮助防止用户受到损害
许多目前使用中的漏洞。的缓解措施也
设计,使他们可以很容易地更新攻击开始
使用新开发的技术。

1.1。能力
EMET2.1允许用户同时配置系统策略
缓解以及对每个配置缓解
可执行文件的基础。第一个选项允许用户设置
系统默认支持mitigaitons,比如选择
一个人是否应启用启用所有进程中,只有
那些选择退出的,完全禁用等第二
选项??允许用户启用一EMET支持对缓解
任意可执行文件。任何人能支持缓解
idependently被打开和关闭任何可执行文件驻留在
系统。配置的可执行文件下一次运行时,
指定的缓解措施将适用于它。结合这两种
选项??为用户提供了高度的控制
系统上可用的缓解,以及他们如何习惯。
注意:在继续之前,请一定注意,一些安全
缓解技术可能会中断应用程序。重要的是
彻底测试所有目标使用方案EMET前
转出到生产环境。

1.2。支持缓解
当前版本支持六种不同缓解
技术。一个培训视频涵盖了许多缓解
可以在这里找到:http://technet.microsoft.com/en-
us/security/ff859539.aspx。本节的其余部分将
不同的缓解措施,并概述了他们的保护
提供。
结构异常处理程序覆盖保护(SEHOP)
这可以防止对目前最常用的技术
在Windows开发堆栈溢出。这缓解了
随自Windows Vista SP1的Windows。近年来,随着
Windows 7中,能够将其打开和关闭是每个进程
补充说。随着EMET,我们提供的任何功能的Windows 7
平台后,虽然Windows XP操作系统。欲了解更多信息,采取
看看SEHOP概况及Window 7 SEHOP变化的博客帖子。
如果没有地方EMET攻击者可以覆盖,用
控制值,异常处理程序的指针记录
堆栈。一旦发生异常时,操作系统将走
异常记录每一个链,并呼吁所有的异常处理程序
记录。由于攻击者控制的一个记录,操作系统
跳转到攻击者想要的任何地方,使攻击者
控制执行流。参见图一图一
这一点。

图1:一个异常处理程序劫持
随着地方EMET之前,OS调用任何异常处理程序,
这将验证异常记录链。这涉及到
如果最后检查异常包含预定义之一。如果
链已损坏,EMET将终止该进程不
任何调用处理程序。图2说明了这个看起来
喜欢。

图2:EMET停止异常处理程序劫持
动态分析数据执行保护(DEP)
环保局已开始提供Windows XP操作系统。然而,目前的
配置选项不允许应用程序可以选择在上
个别编译,除非他们是一个特殊的标志。
EMET允许没有该标志也被编译的应用程序
选择。如需DEP是什么以及它如何工作,获取信息
在第一部分和第二部分我们两个部分的SRD上的博客帖子2看看。
如果没有地方EMET,攻击者可以尝试利用一
跳转到shellcode的弱点在一个内存位置
攻击者控制的数据,如驻留在堆或栈。由于
这些区域被标记为可执行的恶意代码将被
能够运行。

图3:运行由攻击者控制的位置的shellcode
谈到EMET将启用DEP的一个过程。一旦发生这种情况,
堆栈和堆将被视为非可执行文件和任何标记
试图从这些地区执行恶意代码将被
否认在处理器级别。

图4:从运行的DEP阻止的shellcode
Heapspray分配
当一个漏洞运行时,它往往不能确定的地址
在其居住的shellcode必须服用控制猜
指令指针。为了增加成功的几率,最
现在使用heapspray利用技术把自己的副本
的shellcode在尽可能多的内存位置。图5显示了
这说明一个什么样子的受害者的过程。

图5:使用一heapspray利用
随着地方EMET一些常用的网页是预分配。
侵入控制这些网页上(然后跳依赖
到他们)会失败。

图6:阻断攻击,使用heapspray
请注意,这是一个伪旨在打破当前缓解
利用技术。它的目的不是要打破未来攻击
以及。随着利用技术的不断发展,因此将EMET。
空页分配
这是类似的技术来Heap Spray分配,但
为了防止潜在的用户空取值问题
模式。目前没有已知的方法可以利用它们,从而
这是深入缓解技术防御。
强制性地址空间布局随机化(ASLR)
ASLR技术随机化模块加载的地方,以帮助解决
在可预见的防止从攻击者利用数据
位置。这里的问题是,所有模块都使用
编译时间标志,选择到这一点。
如果没有地方EMET,攻击者可以利用一个优势
这些DLL的映射,可以预见的使用,以便他们
虽然绕过DEP的一个已知的技术,称为面向返回
编程(人事登记)。

图7:一个模块被装载在可预见的位置
随着地方EMET,我们强制模块被加载在随机
对于目标进程的地址,无论它是旗帜
编译的。功业使用和可预见的早产儿视网膜病变依托
映射将失败。

图8:一个模块被载入被迫在随机地址
导出地址表访问过滤(EAF)
为了做一些“有用”,一般需要的shellcode
调用Windows的API。但是,为了调用一个API,shellcode的
必须先找到在这个API已经加载地址。要做到
这个shellcode的绝大多数遍历出口
地址表中所有已加载模块,模块,展望
包含有用的API。这通常涉及到的KERNEL32.DLL或
ntdll.dll中。一旦一个有趣的模块被发现,
shellcode可以算出的地址,在这个API
模块所在。
这种过滤器,以减轻出口地址表访问
(吃),允许或不允许的读/写的访问
调用代码。随着地方EMET,今天的大部分的shellcode
被阻止时,试图查找其所需的API
有效载荷。
请注意,这是一个伪旨在打破当前缓解
利用技术。它的目的不是要打破未来攻击
以及。随着利用技术的不断发展,因此将EMET。
自下而上的随机
此缓解随机化(8熵位)的基址
自下而上的分配(包括堆,栈,和其他
内存分配),使这一次EMET缓解,但不
以往分配。

1.3。支持的操作系统
EMET2.1支援下列作业系统和服务
包级别:

系统设置
此外,在64位系统,一些特定应用
缓解时,只适用于32位进程运行。
有关详情,请参阅下表。 32位缓解
64位进程过程
应用程序设置

2。图形用户界面
对交互的首选方法,通过它EMET
图形用户界面(GUI)。您可以启动这一计划
通过开始菜单图标,安装过程中EMET装箱。
在本节中,我们将引导您的各种窗口
这个接口。

2.1。主窗口
当EMET推出以下GUI是将提交给
用户。

虽然这最初的窗口用户将能够显示
不同的系统状态的缓解措施,以及是否有
正在运行的进程已经选择加入EMET。请注意:
正在运行的进程列表只更新每隔30秒。
要获得最新需求信息,点击旁边的按钮
“正在运行的进程”。
用户也可以点击这两个按钮中的任何配置
系统mitiations或选择在一个应用程序的EMET
支持缓解。
刷新正在运行的进程列表
配置系统缓解
配置应用程序特定的缓解

2.2。配置系统缓解
用户可以配置两个不同的系统范围缓解
方法。要么他们可以选择两个配置文件之一(“最高
安全设置“和”推荐的安??全设置“)或设置
配置单独的缓解。
请注意一些配置的变化,需要重新启动
操作系统。EMET的GUI提供了这个通知时,
它发生。

2.3。为应用程序配置缓解
用户可以配置特定的应用程序选入
由EMET支持的缓解措施。此外,缓解
可以单独启用或禁用每个应用
基础。
例如,用户将能够配置Iexplore.exe的选择拒绝
在所有EMET的缓解,并在同一时间,选入
firefox.exe只SEHOP及强制性ASLR技术。
用户将能够添加和删除列表中的应用
点击相应的按钮。在添加
应用,用户将得到提示经常打开文件
有一次对话和选择的一个是会得到加入到这个
名单。然后,用户将能够配置它。
重要的是要注意,选入名单路径依赖。一
用户必须选择为每个可执行文件的完整路径是
配置EMET。配售超过一可执行文件名称鼠标
会导致出现一个提示,显示完整路径
可执行文件。
EMET将只在选定的地方,后的配置
你点击OK按钮,重新启动后,新
添加/配置的应用程序(s)。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 3人气 +3 收起 理由
FreeEquFraT + 1 学习学习
あ掵㊣峫淰℡ + 1 很给力!
kangzhen + 1 +1

查看全部评分

驭龙
 楼主| 发表于 2011-5-27 08:28:13 | 显示全部楼层
本帖最后由 zdshsls 于 2011-6-28 10:32 编辑

德文EMET文章
Es ist l?ngst kein Geheimnis mehr, dass die meisten Malware-Infektionen durch den Missbrauch von Bugs in Anwendungen – und nicht l?nger dem Betriebssystem – von statten gehen. Wer also die Schwachstellen in seinen Applikationen minimiert, verringert die Angriffsfl?che – was wiederum leichter klingt, als es de facto umzusetzen ist. Unser monatlicher Patch-Tag ist der beste Beweis hierfür :)

Aber es gibt auch einige Tools, die Entwicklern beim Abwehren g?ngiger Attacken helfen k?nnen. Eines dieser Hilfsmittel ist das Enhanced Mitigation Experience Toolkit V 2.0 (EMET) von Microsoft. Das kostenlose Programm ist für alle Windows-Programme gedacht und ben?tigt, anders als andere Tools, keinen Zugriff auf den Sourcecode - die ausführbare Datei genügt.

EMET kann insgesamt sieben zus?tzliche Sicherheitstechniken auf Applikationen anwenden - selbst, wenn Entwickler diese gar nicht vorgesehen haben. Dazu geh?ren beispielsweise die Unterstützung für Data Executive Prevention (DEP), Structured Exception Handling Overwrite Protection (SEHOP) oder NullPage. SEHOP überprüft beispielsweise den Programmablauf. Sobald eine Ablaufkette ein Problem aufzeigt, wird der Prozess beendet - so wird verhindert, dass sich ein b?sartiges Programm den Fehler zu Nutze macht, um unerlaubt auf einen Speicherbereich zugreifen zu k?nnen. DEP ist seit Windows XP Bestandteil von Windows, Programme müssen aber mit einem speziellen Flag kompiliert werden - EMET kann den Prozess auch ohne dieses Flag schützen.

Nach der Installation l?sst sich EMET wahlweise über die GUI oder die Kommandozeile starten. Zu überwachende Anwendungen werden über die Schaltfl?che ?Configure Apps“ hinzugefügt. Zudem l?sst sich hier w?hlen, welche Techniken EMET auf das jeweilige Programm anwenden soll.

Warum sind die vom EMET geprüften Sicherheitsfunktionen nicht standardm??ig aktiv und Teil des Sourcecodes? Einige der Funktionen verursachen unter Umst?nden Probleme. Zudem bedeutet die Funktion nicht automatisch, dass die jeweilige Anwendung komplett gegen Attacken geschützt wird. Allerdings wird es deutlich schwerer, Schwachstellen in installierten Programmen auszunutzen, um Malware zu installieren. Dieser Blog-Eintrag erkl?rt beispielsweise, wie sich eine Zero-Day-Attacke auf Adobe Acrobat Reader mit Hilfe von EMET verhindern l?sst. Adobe setzt zwar normalerweise auf Address Space Layout Randomization (ASLR), für eine spezielle DLL ist dieser Schutz aber nicht aktiviert - EMET rüstet die Funktion nach und schützt so vor dem Angriff.

Google翻译

这不是什么秘密,从应用程序中的漏洞最多人滥用的恶意软件感染 - 去交 - 不再操作系统。 因此,如果您最大限度地减少其应用的漏洞,减少了攻击面 - 这听起来容易,从而比它实际上是在执行。 我们的月度补丁日是最好的证据是:)

但也有一些工具,开发人员可以击退攻击是常见的。 一个这样的工具是 加强缓解体验工具包2.0版(EMET) 从Microsoft。 免费的方案是专为所有的Windows程序和需要,不像其他工具无法访问源代码-可执行文件就足够了。

EMET可以申请另外七个应用程序的安全技术 - 即使这些开发商都没有提供。 例子包括数据执行保护(DEP),结构化异常处理覆盖保护(SEHOP)或零页的支持。 SEHOP审查,例如,程序流。 一旦一个序列呈现出,在此过程完成的问题 - 这将防止恶意程序利用的错误,以便利用非法访问一个存储区域可以。 自Windows XP的DEP的Windows的一部分编制,方案的需要,但有一个特殊的标志 - EMET可以保护,即使没有这个标志的进程。

安装完毕后,可以开始EMET要么与GUI或命令行。 要控制应用程序可以通过添加“配置应用程序。 也可以选择在这里,技术EMET应适用于特定的程序。

为什么是EMET考验的安全功能无法启用默认源代码和部分? 一些职能的也会造成问题。 此外,该函数并不自动意味着该应用程序是完全免受攻击。 但是,它更难以利用的方案漏洞安装到安装恶意软件。 这个博客条目 解释,例如如何通过使用Acrobat Reader零日攻击,使Adobe防止EMET。 土坯一般必将地址空间布局随机化(ASLR),一个特殊的DLL的保护没有被激活-EMET升级到攻击保护功能和反对。

=====================================================
EMET英文用户指南,由“一晴空”会员翻译,51L
EMET 2.1
1.说明
EMET工具包被设计用于防止黑客进入你的系统,软件的易受攻击和漏洞已经成为日常生活的一部分,几乎每个厂商都会对付它们(漏洞),因此,用户面临一连串的安全更新,用户在得到最新更新之前受到攻击或者甚至在一个可用更新发布之前受到攻击,结果将是灾难性的:恶意软件,有价证券等。安全减灾技术都是为了增大攻击者在一个特定软件中利用漏洞来攻击的难度.EMET允许用户管理这些技术,在他们的系统上提供几个独特的好处(微软真谦虚,呵呵)。
1.没有任何源代码(?啥意思)直到现在,几个可用的减缓隐患的方法(如DEP)要求一个应用程序由人工选择和重新编译.EMET改变了这种方式,通过允许用户改变对应用软件的选择而无需重新编译.这是特别有用的部署(在写软件有隐患前和当源代码不可用时。)
2.高度可配置性
EMET提供更高的等级通过允许(隐患)粒度要单独应用每一个过程的基础。没有必要使整个产品或组的应用。在这种情况下,这是有用的过程(不兼容一个特定的缓解技术)。当这种情况出现时,用户可以简单地转换以缓解这个过程。
3.帮助增强legacy程序:这是典型的硬软件依赖老技术而不易改写现象,需要被逐渐淘汰。不幸的是,这种可以很容易地构成安全威胁作为legacy软件是臭名昭著的有安全漏洞。而真正解决的办法就是远离legacy软件,EMET能帮助管理风险(当风险发生时),使黑客在攻击legacy软件漏洞(弱点)时的难度加大.
4.简单易用:策略(隐患)系统范围与EMET可看的和配置的图形用户界面。有不需要定位和解读的注册表项或平台相关工具。在EMET的引导下你可以调整设置不管一个一致的接口与潜在的平台。
5.持续改进:EMET是一个灵活的工具,设计更新使新缓解技术变得可用。这为用户提供了一个机会来测试和受益于排除隐患。EMET也不拘泥于任何产品。可动态更新令EMET一旦发现新的(隐患),这个工具包包括几个伪缓解的技术目标(使用当前利用技术)。打乱这些不具有较强的隐患,不停止的未来开发技术,但是可以帮助用户受到危害的许多情况使用。也为了使他们可以很容易地更新产品,为攻击者设计(防御)使用新开发的技术。


Microsoft Corporation
Enhanced Mitigation Experience Toolkit 2.1

1. Introduction
The enhanced Mitigation Experience Toolkit (EMET) is designed to
help prevent hackers from gaining access to your system.
Software vulnerabilities and exploits have become an everyday
part of life. Virtually every product has to deal with them and
consequently, users are faced with a stream of security updates.
For users who get attacked before the latest updates have been
applied or who get attacked before an update is even available,
the results can be devastating: malware, loss of PII, etc.
Security mitigation technologies are designed to make it more
difficult for an attacker to exploit vulnerabilities in a given
piece of software. EMET allows users to manage these technologies
on their system and provides several unique benefits:

1. No source code needed: Until now, several of the available
mitigations (such as Data Execution Prevention) have required for
an application to be manually opted in and recompiled. EMET
changes this by allowing a user to opt in applications without
recompilation. This is especially handy for deploying mitigations
on software that was written before the mitigations were
available and when source code is not available.

2. Highly configurable: EMET provides a higher degree of
granularity by allowing mitigations to be individually applied on
a per process basis. There is no need to enable an entire product
or suite of applications. This is helpful in situations where a
process is not compatible with a particular mitigation
technology. When that happens, a user can simply turn that
mitigation off for that process.

3. Helps harden legacy applications: It’s not uncommon to have a
hard dependency on old legacy software that cannot easily be
rewritten and needs to be phased out slowly. Unfortunately, this
can easily pose a security risk as legacy software is notorious
for having security vulnerabilities. While the real solution to
this is migrating away from the legacy software, EMET can help
manage the risk while this is occurring by making it harder to
hackers to exploit vulnerabilities in the legacy software.

4. Ease of use: The policy for system wide mitigations can be
seen and configured with EMET's graphical user interface. There
is no need to locate up and decipher registry keys or run
platform dependent utilities. With EMET you can adjust setting
with a single consistent interface regardless of the underlying
platform.

5. Ongoing improvement: EMET is a living tool designed to be
updated as new mitigation technologies become available. This
provides a chance for users to try out and benefit from cutting
edge mitigations. The release cycle for EMET is also not tied to
any product. EMET updates can be made dynamically as soon as new
mitigations are ready
The toolkit includes several pseudo mitigation technologies aimed
at disrupting current exploit techniques. These pseudo
mitigations are not robust enough to stop future exploit
techniques, but can help prevent users from being compromised by
many of the exploits currently in use. The mitigations are also
designed so that they can be easily updated as attackers start
using new exploit techniques.

1.1. Capabilities
EMET 2.1 allows users to both configure the system policy for
mitigations as well as to configure mitigations on a per
executable basis. The first option allows the user to set the
defaults for system supported mitigaitons; for instance choosing
whether one should be enabled for all processes, enabled for only
those that chose to opt in, disabled entirely etc. The second
option allows the user to enable an EMET supported mitigation on
an arbitrary executable. Any one of the supported mitigations can
idependently be turned on and off for any executable residing on
the system. Next time one of the configured executables runs, the
specified mitigations will be applied to it. Combining these two
options gives the user a high degree of control over the
mitigations available on a system and how they get used.
NOTE: Before continuing, please be aware that some security
mitigation technologies may break applications. It is important
to thoroughly test EMET in all target use scenarios before
rolling it out to a production environment.

1.2. Supported mitigations
The current version supports six different mitigation
technologies. A training video covering many of the mitigations
is available here: http://technet.microsoft.com/en-
us/security/ff859539.aspx. The remainder of this section will
outline the different mitigations and the protections they
provide.
Structure Exception Handler Overwrite Protection (SEHOP)
This protects against currently the most common technique for
exploiting stack overflows in Windows. This mitigation has
shipped with Windows since Windows Vista SP1. Recently with
Windows 7, the ability to turn it on and off per process was
added. With EMET, we provide the Windows 7 capabilities on any
platform back though Windows XP. For more information, take a
look at the SEHOP Overview and Window 7 SEHOP Changes blog posts.
Without EMET in place an attacker can overwrite, with a
controlled value, the handler pointer of an exception record on
the stack. Once an exception happens, the OS will walk the
exception record chain and call all the handler on each exception
record. Since the attacker controls one of the records, the OS
will jump to wherever the attacker wants, giving the attacker
control the flow of execution. See figure 1 for an illustration
of this.
Figure 1: An exception handler hijack
With EMET in place, before the OS calls any exception handlers,
it will validate the exception record chain. This involves
checking if the final exception contains a predefined one. If the
chain is corrupted, EMET will terminate the process without
calling any of the handlers. Figure 2 illustrates what this looks
like.
Figure 2: EMET stopping an exception handler hijack
Dynamice Data Execution Prevention (DEP)
DEP has been available since Windows XP. However, current
configuration options don’t allow applications to be opted in on
an individual basis unless they are compiled with a special flag.
EMET allows applications compiled without that flag to also be
opted. For more information on what DEP is and how it works, take
a look at Part 1 and Part 2 of our two-part SRD blog post on it.
Without EMET in place, an attacker can attempt to exploit a
vulnerability by jumping to shellcode at a memory location where
attacker controlled data resides such as the heap or stack. Since
these regions are marked as executable the malicious code will be
able to run.
Figure 3: Running shellcode from attacker controlled locations
Turning EMET on will enable DEP for a process. Once this happens,
the stack and heap will be marked as non-executable and any
attempt to execute malicious code from these regions will be
denied at the processor level.
Figure 4: DEP blocking shellcode from running
Heapspray Allocations
When an exploit runs, it often cannot be sure of the address
where its shellcode resides and must guess when taking control of
the instruction pointer. To increase the odds of success, most
exploits now use heapspray techniques to place copies of their
shellcode at as many memory locations as possible. Figure 5 shows
an illustration of what this looks like in a victim process.
Figure 5: Using heapspray in an exploit
With EMET in place some commonly used pages are pre-allocated.
Exploits that rely on controlling these pages (and then jumping
into them) will fail.
Figure 6: Blocking an attack that uses heapspray
Please note this is a pseudo mitigation designed to break current
exploit techniques. It is not designed to break future exploits
as well. As exploit techniques continue to evolve, so will EMET.
Null page allocation
This is similar technology to the heap spray allocation, but
designed to prevent potential null dereference issues in user
mode. Currently there are no known ways to exploit them and thus
this is a defense in depth mitigation technology.
Mandatory Address Space Layout Randomization (ASLR)
ASLR randomizes the addresses where modules are loaded to help
prevent an attacker from leveraging data at predictable
locations. The problem with this is that all modules have to use
a compile time flag to opt into this.
Without EMET in place, attackers can take advantage of a
predictable mapping of those dlls and could use them in order to
bypass DEP though a known technique called return oriented
programming (ROP).
Figure 7: A module being loaded at a predictable location
With EMET in place, we force modules to be loaded at randomized
addresses for a target process regardless of the flags it was
compiled with. Exploits using ROP and relying on predictable
mappings will fail.
Figure 8: A module being forced to load at a random address
Export Address Table Access Filtering (EAF)
In order to do something “useful”, shellcode generally needs to
call Windows APIs. However, in order to call an API, shellcode
must first find the address where that API has been loaded. To do
this the vast majority of shellcode iterates through the export
address table of all loaded modules, looking for modules that
contain useful APIs. Typically this involves kernel32.dll or
ntdll.dll. Once an interesting module has been found, the
shellcode can then figure out the address where an API in that
module resides.
This mitigation filters accesses to the Export Address Table
(EAT), allowing or disallowing the read/write access based on the
calling code. With EMET in place, most of today’s shellcode will
be blocked when it tries to lookup the APIs needed for its
payload.
Please note this is a pseudo mitigation designed to break current
exploit techniques. It is not designed to break future exploits
as well. As exploit techniques continue to evolve, so will EMET.
Bottom-up randomization
This mitigation randomizes (8 bits of entropy) the base address
of bottom-up allocations (including heaps, stacks, and other
memory allocations) once EMET has enabled this mitigation but not
for previous allocations.

1.3. Supported operating systems
EMET 2.1 supports the following operating systems and service
pack levels:
Client Operating Systems
Windows XP service pack 3 and above
Windows Vista service pack 1 and above
Windows 7 all service packs
Server Operation Systems
Windows Server 2003 service pack 1 and above
Windows Server 2008 all service packs
Windows Server 2008 R2 all service packs
Please note that not all mitigations are supported on each
operating system. . Mitigation XP Server 2003 Vista Server 2008
Win7 Server 2008 R2
System Settings
Additionally, on 64 bit systems, some application specific
mitigations are only applicable when running on 32 bit processes.
For details, refer to the following table. Mitigation 32 bit
Processes 64 bit Processes
Application Settings
DEP
Supported by EMET
Already Mandatory without EMET
SEHOP
Supported by EMET
Not Applicable
NULL Page
Supported by EMET
Supported by EMET
Heap Spray
Supported by EMET
Supported by EMET
Mandatory ASLR
Supported by EMET
Supported by EMET
EAF
Supported by EMET
Supported by EMET
Bottom-up
Supported by EMET
Supported by EMET

2. The graphical user interface
The preferred method of interacting with EMET it through the
graphical user interface (GUI). You can launch this program
through the start menu icon crating during the EMET installation.
In this section we will walk you through the various windows of
this interface.

2.1. The main window
When EMET is launched the following GUI is be presented to the
user.
Though this initial window a user will be able to display the
status of the different system mitigations and whether or not any
of the running processes have been opted-in to EMET. Please note
the list of running processes is only updated every 30 seconds.
To get updated information on demand, click the button next to
“Running Processes”.
A user can also click on either of the two buttons to configure
system mitiations or to opt-in an application to the EMET
supported mitigations.
Refresh the list of running processes
Configure system mitigations
Configure application specific mitigations

2.2. Configuring system mitigations
Users can configure system wide mitigations in two different
ways. Either they can select one of the two profiles (“Maximum
Security Settings” and “Recommended Security Settings”) or set
the mitigation configuration individually.
Please note some configuration changes will require rebooting the
operating system. EMET’s GUI provides notification of this when
it happens.

2.3. Configuring mitigations for applications
Users will be able to configure specific applications to opt-in
to the mitigations supported by EMET. Additionally, mitigations
can be individually enabled or disabled on a per application
basis.
For instance, a user will be able configure iexplore.exe to opt-
in to all EMET’s mitigation and, at the same time, opt-in
firefox.exe only for SEHOP and Mandatory ASLR.
Users will be able to Add and Remove applications from the list
by clicking the corresponding buttons. When adding an
application, a user will get prompted with the regular open file
dialog and once having selected one it will get added to this
list. Then, user will be able to configure it.
It is important to note that the opt-in list is path dependent. A
user must opt in the full path for each executable to be
configured with EMET. Placing the mouse over an executable name
will cause a tooltip to appear, showing the full path to the
executable.
EMET will only be in place with the selected configuration after
you click the Ok button and after you restart the newly
added/configured application(s).
kbsjok
发表于 2011-5-27 08:43:46 | 显示全部楼层
这么多呀!
sb321
发表于 2011-5-27 09:03:03 | 显示全部楼层
看得头晕了
zilch
发表于 2011-5-27 10:05:49 | 显示全部楼层
微软也有神器啊。
shz6110592
发表于 2011-5-27 10:39:56 | 显示全部楼层
学习了
狼不言
发表于 2011-5-27 11:20:10 | 显示全部楼层
会推送不?
驭龙
 楼主| 发表于 2011-5-27 11:22:22 | 显示全部楼层
狼不言 发表于 2011-5-27 11:20
会推送不?

由于EMET可能会跟某些程序出现不兼容,所以微软不会推送
狼不言
发表于 2011-5-27 11:24:46 | 显示全部楼层
zdshsls 发表于 2011-5-27 11:22
由于EMET可能会跟某些程序出现不兼容,所以微软不会推送

哦,感谢解答
石宝玉
发表于 2011-5-27 12:09:08 | 显示全部楼层
您辛苦了啊
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-3-29 13:03 , Processed in 0.141314 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

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