Microsoft Enhanced Mitigation Experience Toolkit Hook函数安全限制绕过漏
信息来源:Yu Yang 发表日期:2013-04-15 15:26:00
EMET是微软出品的一个系统安全增强软件。通过综合多种安全机制,使针对被保护进程的缓冲区溢出等类型的漏洞攻击难以成功。但EMET在实现上存在隐患,导致对抗ROP的防护措施实际上反而更有利于实施ROP攻击。
EMET从2.1版到最新的4.0 Beta版,都内置了类似微软Detours的Hook引擎,并在固定地址0x6fff0000处分配了一块0x10000大小的具有可执行属性的内存。
从EMET 3.5 Tech Preview版开始,EMET通过Hook相关函数等方式增加了对ROP的防护。但进行Inline Hook时所用的跳转代码被存放在固定地址的0x6fff0000的内存块中
(除非分配前已经被占据)。在这块内存中保存了很多被Hook的函数的实际地址,而且偏移是固定的。
也就是说,EMET在Hook系统API以对抗ROP的同时,实际上同时提供了更便于ROP的地址,这些地址甚至不受系统ASLR的影响而始终固定。攻击者可以利用EMET提供的这些固定地址直接进行ROP攻击而无需考虑ASLR的影响。
BUGTRAQ-ID:64022
CVE-ID:2013-6791
受影响系统:
Microsoft EMET 4.0 Beta
Microsoft EMET 3.5 Tech Preview
未受影响系统:
Microsoft EMET 4.0
解决办法:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 暂时禁用EMET。
厂商补丁:
Microsoft
---------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://technet.microsoft.com/security/bulletin/
http://blogs.technet.com/b/srd/archive/2013/06/17/emet-4-0-now-available-for-download.aspx