[发明专利]一种基于RET指令与JMP指令的ROP攻击检测方法有效
申请号: | 201510498408.0 | 申请日: | 2015-08-14 |
公开(公告)号: | CN105138903B | 公开(公告)日: | 2018-07-10 |
发明(设计)人: | 张小松;王颖;牛伟纳;陈瑞东;王东;俞工淳;漆艳梅;樊添 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F21/52 | 分类号: | G06F21/52 |
代理公司: | 成都弘毅天承知识产权代理有限公司 51230 | 代理人: | 杨保刚 |
地址: | 611731 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指令 攻击检测 攻击 攻击特征 循环队列 匹配 判定 本质性特征 插桩工具 目标程序 全面检测 软件安全 深度隐藏 输出结果 通用性差 一次匹配 误判率 指令流 检测 数学 验证 跟踪 | ||
1.一种基于RET指令与JMP指令的ROP攻击检测方法,其特征在于,
包括创建循环队列;
利用二进制插桩工具启用目标程序;
跟踪目标程序并进行指令匹配;
加载对应指令的检测模块以及检测模块生成疑似ROP攻击指令;
将疑似ROP攻击指令加入循环队列并判断其是否超出阀值;
疑似ROP攻击指令包括基于异常事件的RET指令和/或JMP指令;疑似ROP攻击指令包括基于异常事件的RET指令和/或JMP指令,异常事件包括在RET指令执行跳转后,目标地址单元的上一单元格内不是CALL指令;
此循环队列容量为10个指令,用于存放满足特征的指令;队列初始为空,设置int类型标志位location用于记录当前队尾地址;当需要存放的指令大于10时,新插入的指令将按照插入顺序由早到晚覆盖之前的指令,使得循环队列中维护的都是最新运行的指令,以保证ROP攻击检测的准确性。
2.根据权利要求1所述的一种基于RET指令与JMP指令的ROP攻击检测方法,其特征在于,所述的利用二进制插桩工具启用目标程序,包括
插入器通过Ptrace函数获取目标进程的控制权限和上下文;
加载插桩动态链接库至地址空间;
二进制插桩工具启动目标程序;
调度器启动编译器,编译器编译插桩代码,完成后并存储;
执行已存储的插桩代码并输出。
3.根据权利要求1所述的一种基于RET指令与JMP指令的ROP攻击检测方法,其特征在于,所述的跟踪目标程序并进行指令匹配,包括将目标程序进行RET指令匹配和/或JMP指令匹配。
4.根据权利要求1所述的一种基于RET指令与JMP指令的ROP攻击检测方法,其特征在于,所述的加载对应指令的检测模块以及检测模块生成疑似ROP攻击指令,包括利用二进制插桩工具加载基于RET指令的检测模块和/或基于JMP指令的检测模块。
5.根据权利要求1所述的一种基于RET指令与JMP指令的ROP攻击检测方法,其特征在于,所述的疑似ROP攻击指令包括基于异常事件的RET指令和/或JMP指令,异常事件还包括基于JMP指令的检测模块所获取JMP指令目标地址与当前地址的差值较大。
6.根据权利要求1所述的一种基于RET指令与JMP指令的ROP攻击检测方法,其特征在于,所述的将疑似ROP攻击指令加入循环队列并判断其是否超出阀值,包括在异常事件出现后,基于RET指令的和/或基于JMP指令的检测模块将疑似ROP攻击指令加入对应指令的循环队列,对应的检测模块判断其是否超出阀值。
7.根据权利要求6所述的一种基于RET指令与JMP指令的ROP攻击检测方法,其特征在于,所述的将疑似ROP攻击指令加入循环队列并判断其是否超出阀值,包括,在循环队列中,存在至少2个RET指令和/或存在JMP指令目标地址与当前地址差值的方差超过10。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510498408.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:便利式轮椅
- 下一篇:一种远程终端的控制方法及移动终端