基于模拟栈和线程注入的一种ROP攻击栈溢出防护方法技术

技术编号:16346399 阅读:61 留言:0更新日期:2017-10-03 22:29
本发明专利技术公开基于模拟栈和线程注入的一种ROP攻击栈溢出防护方法,涉及ROP攻击防护技术领域,解决了现有技术由于程序加载位置固定导致不具有指令的ROP恶意代码能够绕过栈溢出防护技术问题,以及解决了在利用模拟栈监控目标进程时所使用的远程线程注入造成目标进程中出现栈溢出的技术问题。本发明专利技术包括利用线程注入到目标进程(要保护的进程),开辟一个模拟栈空间,监控模拟目标进程的指令流程,通过获取ROP攻击的call和ret指令间的有效代码串连,在模拟栈上执行,再使用传统的溢出防护机制,从而达到检测ROP攻击的目的。

【技术实现步骤摘要】
基于模拟栈和线程注入的一种ROP攻击栈溢出防护方法
本专利技术涉及ROP攻击防护
,具体涉及基于模拟栈和线程注入的一种ROP攻击栈溢出防护方法。
技术介绍
ROP(Return-orientedprogramming)是一种基于代码复用技术的新型攻击,攻击者供已有的库或可执行文件中提取指令片段、构建恶意代码。SEH(StructuredExceptionHandling)SEH("StructuredExceptionHa-ndling"),即结构化异常处理是(windows)操作系统提供给程序设计者的强有力的处理程序错误或异常的武器。SEHOP(SEHOverwriteProtection)SEHOP的全称是StructuredExcept-ionHandlerOverwriteProtection(结构化异常处理覆盖保护),SEH攻击是指通过栈溢出或者其他漏洞,使用精心构造的数据覆盖结构化异常处理链表上面的某个节点或者多个节点,从而控制EIP(控制程序执行流程)。而SEHOP则是是微软针对这种攻击提出的一种安全防护方案。在操作系统和编译器的保护下,程序的栈是不可运行的、栈的本文档来自技高网...
基于模拟栈和线程注入的一种ROP攻击栈溢出防护方法

【技术保护点】
基于模拟栈和线程注入的一种ROP攻击栈溢出防护方法,其特征在于,包括以下步骤:步骤1、对目标进程注入远程线程,通过远程线程获得目标进程的指令流;步骤2、通过目标进程函数的调用特征提取算法将指令流与受信的特征数据库进行比对,获得存在异常调用的指令序列;步骤3、构建模拟栈并完成指令序列的拼接,然后在模拟栈中压入拼接的指令序列和金丝雀值,再利用函数进行模拟栈的指令调用,在函数进行返回前检测指令调用过程中金丝雀值,获得检测结果;步骤4、根据检测结果通过远程线程回调控制目标进程的启停,并由检测结果选择地输出模拟栈上ROP攻击代码和溢出点。

【技术特征摘要】
1.基于模拟栈和线程注入的一种ROP攻击栈溢出防护方法,其特征在于,包括以下步骤:步骤1、对目标进程注入远程线程,通过远程线程获得目标进程的指令流;步骤2、通过目标进程函数的调用特征提取算法将指令流与受信的特征数据库进行比对,获得存在异常调用的指令序列;步骤3、构建模拟栈并完成指令序列的拼接,然后在模拟栈中压入拼接的指令序列和金丝雀值,再利用函数进行模拟栈的指令调用,在函数进行返回前检测指令调用过程中金丝雀值,获得检测结果;步骤4、根据检测结果通过远程线程回调控制目标进程的启停,并由检测结果选择地输出模拟栈上ROP攻击代码和溢出点。2.根据权利要求1所述的基于模拟栈和线程注入的一种ROP攻击栈溢出防护方法,其特征在于,所述的步骤1,还包括以下步骤:步骤1.1、获得目标进程的句柄,用远程进程根据句柄索引出目标进程;步骤1.2、在远程进程中开辟出一段内存并根据目标进...

【专利技术属性】
技术研发人员:刘小垒张小松牛伟纳周旷户宇宙
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1