标签:解析 rtu 对象 配置 gad 平台 gadget rip 使用
目前就漏洞利用对抗这一层面来说,android、ios、基于Linux的移动平台是大家关注的热门方向,与这些热点比起来Windows上的一些“老家伙”诸如IE(包括Edge,以下皆是)可能就不怎么受到关注了,但是我个人作为一个二进制的入门小白还是觉得围绕着IE的攻防对抗有很多值得学习的东西。其实主要是因为自己想了一下,为啥Windows的这些洞前辈们都搞了这么多年了,还去费心思去研究它?这里列出了想到的几点:
EMET 1.x, 2009年10月27日发布
SEHOP:防止结构化异常处理SEH被覆盖和篡改。
DEP:强制的DEP,因此栈和堆等数据段不再有执行权限。
空页面保护:预分配空页面,防止攻击者对空页面进行利用。
堆喷射保护:防止进行堆喷射(其实是把常用的堆喷射内存区域预先分配了。)
EMET 2.x,2010年9月2日发布
强制ASLR:强制执行ASLR,即使是不支持ASLR的老旧dll模块也会被强制启用ASLR。
导出表访问过滤:有的shellcode会遍历模块的导出函数,以解析如kernel32.dll, ntdll.dll和kernelbase.dll等模块导出的重要函数。EMET使用硬件断点来阻止访问这些模块导出表的任何线程,并且EMET会验证它们是否合法。
EMET 3.x,2012年5月25日发布
ROPGuard:使用ROPGuard来阻止ROP。
加载库检查:阻止通过通用命名约定(UNC)路径加载DLL文件。(ROP中会使用这种技术)
ROP缓解措施 - 内存保护检查:保护关键Windows API(如VirtualProtect),这些API可能被用于将堆栈标记为可执行。
ROP缓解措施 - 调用者检查:防止使用跳转或返回指令调用关键Windows API。
ROP缓解措施 - 堆栈翻转:检测堆栈是否已被翻转。
ROP缓解措施 - 模拟执行流程:通过操纵和跟踪堆栈寄存器,在调用关键Windows API后检测ROP Gadgets。
自底向上的ASLR:将随机化8位的熵添加到自底向上分配(包括堆,堆栈和其他内存分配)的基址。
EMET 4.x,2013年4月18日发布
深度Hook:启用此功能后,EMET不再只是挂钩上层的API函数,而是会一并挂钩那些上层API调用的底层函数。
反绕道:由于EMET在跳转(挂钩)Windows API函数的前言中放置跳转指令,所以攻击者可以制作一个返回到绕行跳转指令之后的指令的ROP。 此保护尝试停止这些旁路。
禁止重要函数调用:默认情况下,它不允许调用ntdll!LdrHotpatchRoutine以防止DEP / ASLR被绕过。 还可以配置其他功能。
证书信任(可配置证书锁定):在证书链信任验证过程中提供更多的检查和验证。 默认情况下,它仅支持Internet Explorer。
EMET 5.x,于2014年7月31日发布
攻击面减少(ASR):允许配置在某些应用程序中阻止加载模块的列表。
EAF +:与EAF类似,它提供了额外的功能来保护kernel32.dll,ntdll.dll和kernelbase.dll的导出表。 它还检测MZ / PE读取以及堆栈指针是否指向堆栈边界之外的某处或者是否与堆栈指针之间不匹配。
标签:解析 rtu 对象 配置 gad 平台 gadget rip 使用
原文地址:http://www.cnblogs.com/Ox9A82/p/6084159.html