[发明专利]一种基于Pin工具的ROP及其变种攻击的动态检测方法有效
申请号: | 201710556572.1 | 申请日: | 2017-07-10 |
公开(公告)号: | CN107330323B | 公开(公告)日: | 2020-05-19 |
发明(设计)人: | 张小松;牛伟纳;曹思宇 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F21/56 |
代理公司: | 成都弘毅天承知识产权代理有限公司 51230 | 代理人: | 徐金琼;刘东 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 pin 工具 rop 及其 变种 攻击 动态 检测 方法 | ||
1.一种基于Pin工具的ROP及其变种攻击的动态检测方法,其特征在于:包括以下步骤:
步骤1:利用二进制Pin插桩工具启用目标程序;
步骤2:跟踪所述目标程序,匹配ret指令、call指令与jmp指令;
步骤3:若为ret指令,则利用基于ret指令的检测模块进行检测;若为call指令,则利用基于call指令的检测模块进行检测;若为jmp指令,则利用基于jmp指令的检测模块进行检测;
所述基于ret指令的检测模块的检测算法为:
S201:监控寄存器,提取ret指令跳转的目的地址;
S202:检测所述目的地址的前一指令是否为call指令,若为call指令跳转到S203执行,否则发出攻击警报;
S203:检测所述目的地址是否在函数体内并且所述函数第一次被调用,若是则发出攻击警报,否则跳转到S204执行;
S204:设定检测指令的条数阈值和频数阈值,检测所述目的地址后条数阈值范围内的指令中jmp指令、call指令和ret指令是否连续出现,若连续出现的频数大于所述频数阈值则认为受到攻击并发出攻击警报,否则执行步骤2;
步骤4:若检测模块检测出所述目标程序的异常,则发出攻击警报;否则跳转至步骤2。
2.根据权利要求1所述的一种基于Pin工具的ROP及其变种攻击的动态检测方法,其特征在于:所述基于call指令的检测模块的检测算法为:
检测call指令跳转的目的地址是否为函数的入口地址,若不是则发出攻击警报,否则执行步骤2。
3.根据权利要求1所述的一种基于Pin工具的ROP及其变种攻击的动态检测方法,其特征在于:所述基于jmp指令的检测模块的检测算法为:
S401:检测jmp指令是否跨函数跳转,若是则跳转S402执行,否则执行步骤2;
S402:检测jmp指令跳转的位置是否在函数体的内部,若是则发出攻击警报,否则执行步骤2。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710556572.1/1.html,转载请声明来源钻瓜专利网。