论文部分内容阅读
近年来,APT(高级可持续威胁)攻击事件与日俱增,APT攻击者使用高级的漏洞利用技术来躲避操作系统安全机制,对目标进行持续性的渗透。Windows系统是如今人们使用最普及的系统,其自身的防御能力决定了整个系统的安全性,因此,研究Windows系统的防御机制原理,并寻找其缺陷与突破方法对于防范APT攻击有着重要的意义。本文从SEH攻击和ROP攻击两个层面结合漏洞利用技术找到突破Windows不同安全机制的方法,具体如下:(1)针对SEH安全机制的防御,本文使用逆向分析的方式寻找可利用的弱点。首先在Windows系统下对SEH机制进行逆向分析,使用动态追踪技术,从程序流程与数据结构两个层面获取SEH机制的关键函数功能流程,寻找SEH机制中潜在的安全因素,并给出SEH漏洞利用技术的典型框架。之后对SafeSEH与SEHOP安全机制的原理进行研究,找到其缺陷与突破的方法,并在第三方软件上挖掘出SEH漏洞,成功绕过了SafeSEH与SEHOP安全机制的防御。(2)针对DEP+ASLR+PSS联合机制的防御,本文在借鉴原JIT-ROP攻击方法基础上对其加以改进,提出了伪造PSS的JIT-ROP攻击方法。改进地方主要有三点:第一,采用离线搜索gadget方式改善了原JIT-ROP攻击方法中内存开销过大的缺陷,并在内存指令解析中采用字典树结构搜索gadget,增加了可用gadget的个数。第二,使用ROP链与恶意代码组合方式解决原方法中ROP链过长的问题。第三,提出伪造PSS的方法绕过PSS机制对ret指令的保护策略。将内存泄漏的信息与PSS插桩指令特征进行比较,利用字符串匹配的方式寻找嵌入指令中PSS的偏移量。最后结合具体漏洞给出了具体实施方案以及攻击代码,实验表明,该方法成功绕过了DEP+ASLR+PSS联合机制的防御。