【技术实现步骤摘要】
基于模拟栈和线程注入的一种ROP攻击栈溢出防护方法
本专利技术涉及ROP攻击防护
,具体涉及基于模拟栈和线程注入的一种ROP攻击栈溢出防护方法。
技术介绍
ROP(Return-orientedprogramming)是一种基于代码复用技术的新型攻击,攻击者供已有的库或可执行文件中提取指令片段、构建恶意代码。SEH(StructuredExceptionHandling)SEH("StructuredExceptionHa-ndling"),即结构化异常处理是(windows)操作系统提供给程序设计者的强有力的处理程序错误或异常的武器。SEHOP(SEHOverwriteProtection)SEHOP的全称是StructuredExcept-ionHandlerOverwriteProtection(结构化异常处理覆盖保护),SEH攻击是指通过栈溢出或者其他漏洞,使用精心构造的数据覆盖结构化异常处理链表上面的某个节点或者多个节点,从而控制EIP(控制程序执行流程)。而SEHOP则是是微软针对这种攻击提出的一种安全防护方案。在操作系统和编译器的保护下,程序的 ...
【技术保护点】
基于模拟栈和线程注入的一种ROP攻击栈溢出防护方法,其特征在于,包括以下步骤:步骤1、对目标进程注入远程线程,通过远程线程获得目标进程的指令流;步骤2、通过目标进程函数的调用特征提取算法将指令流与受信的特征数据库进行比对,获得存在异常调用的指令序列;步骤3、构建模拟栈并完成指令序列的拼接,然后在模拟栈中压入拼接的指令序列和金丝雀值,再利用函数进行模拟栈的指令调用,在函数进行返回前检测指令调用过程中金丝雀值,获得检测结果;步骤4、根据检测结果通过远程线程回调控制目标进程的启停,并由检测结果选择地输出模拟栈上ROP攻击代码和溢出点。
【技术特征摘要】
1.基于模拟栈和线程注入的一种ROP攻击栈溢出防护方法,其特征在于,包括以下步骤:步骤1、对目标进程注入远程线程,通过远程线程获得目标进程的指令流;步骤2、通过目标进程函数的调用特征提取算法将指令流与受信的特征数据库进行比对,获得存在异常调用的指令序列;步骤3、构建模拟栈并完成指令序列的拼接,然后在模拟栈中压入拼接的指令序列和金丝雀值,再利用函数进行模拟栈的指令调用,在函数进行返回前检测指令调用过程中金丝雀值,获得检测结果;步骤4、根据检测结果通过远程线程回调控制目标进程的启停,并由检测结果选择地输出模拟栈上ROP攻击代码和溢出点。2.根据权利要求1所述的基于模拟栈和线程注入的一种ROP攻击栈溢出防护方法,其特征在于,所述的步骤1,还包括以下步骤:步骤1.1、获得目标进程的句柄,用远程进程根据句柄索引出目标进程;步骤1.2、在远程进程中开辟出一段内存并根据目标进...
【专利技术属性】
技术研发人员:刘小垒,张小松,牛伟纳,周旷,户宇宙,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。