[发明专利]一种软件漏洞挖掘方法有效
申请号: | 201010171979.0 | 申请日: | 2010-05-07 |
公开(公告)号: | CN101847121A | 公开(公告)日: | 2010-09-29 |
发明(设计)人: | 王铁磊;韦韬;邹维;张超;戴帅夫;丁羽;李义春 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 冯艺东 |
地址: | 100871 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 漏洞 挖掘 方法 | ||
1.一种软件漏洞挖掘方法,其步骤为:
1)将多个正常数据分别输入目标程序,收集该目标程序处理每个正常数据的运行时信息;
2)根据步骤1)所得的运行时信息,修改正常数据,生成畸形数据;
3)将生成的多个畸形数据分别输入该目标程序,收集该目标程序处理每个畸形数据的运行时信息;
4)根据步骤1)、3)收集的运行时信息,识别该目标程序中校验和的检测代码;
5)修改识别出的校验和的检测代码,使得修改后的目标程序处理畸形数据时的执行行为与处理正常数据时一致;
6)生成若干畸形数据并输入步骤5)所修改后的目标程序;
7)将使修改后的目标程序崩溃的畸形数据作为样本数据,修改每个样本数据中校验和的域值,使修改后的样本数据能够通过原始目标程序的校验和检测;
8)将步骤7)修改后的样本数据输入原目标程序,如果原目标程序崩溃或发生异常则收集原目标程序执行的调用栈以及执行上下文信息,并报告一个潜在的安全漏洞;
其中,所述运行时信息包括:条件跳转指令、条件跳转指令是否发生跳转、影响条件跳转指令中所用到的标志寄存器指令的第一个操作数所依赖的输入字节信息和第二个操作数所依赖的输入字节信息。
2.如权利要求1所述的方法,其特征在于所述条件跳转指令为依赖的输入字节数目超过预定值的条件跳转指令;利用该目标程序中的条件跳转指令识别该目标程序中校验和的检测代码。
3.如权利要求1或2所述的方法,其特征在于所述运行时信息的收集方法为:
1)利用系统调用劫持方法监控目标程序对正常数据的读入;
2)当目标程序将正常数据读入内存时,记录相应内存地址与输入数据之间的依赖关系;
3)利用代码植入方法,在目标程序的每条机器指令前植入相应的监控代码,监控每条指令的执行,收集所述运行时信息。
4.如权利要求3所述的方法,其特征在于记录相应内存地址与输入数据之间的依赖关系的方法为:当目标程序将正常数据读入内存时,以每个字节在正常输入数据中的位置偏移标示该字节,并记录每个内存单元来源于哪些字节。
5.如权利要求1或2所述的方法,其特征在于识别所述目标程序中校验和的检测代码的方法为:
a)将步骤1)中输出的运行时信息统计为两个集合:P0和P1;其中,P0包含步骤1)中输出的条件跳转指令中没有发生跳转的指令;P1包含步骤1)中输出的条件跳转指令中发生跳转的指令;
b)将步骤3)中输出的运行时信息统计为两个集合:P0′和P1′;其中,P0′包含步骤
3)中输出的条件跳转指令中没有发生跳转的指令;P1′包含步骤3)中输出的条件跳转指令中发生跳转的指令;
c)输出(P1∩P0′)∪(P0∩P1′)中的条件跳转指令,将其作为校验和的检测代码。
6.如权利要求5所述的方法,其特征在于所述修改识别出的校验和的检测代码的方法为:
a)定位识别出的校验和的检测代码在所述目标程序中的位置;
b)如果输入正常样本时,校验和的检测代码一直发生跳转,则将目标程序中的条件跳转指令修改为直接跳转指令,该直接跳转指令的目的地址指向该条件跳转指令的跳转地址;
c)如果输入正常样本时,条件跳转指令一直不发生跳转,将目标程序中的条件跳转指令修改为等长的nop指令。
7.如权利要求1所述的方法,其特征在于所述步骤4)中,同时识别正常数据中的校验和域;其方法为:对于每一校验和的检测代码,查找影响当前校验和的检测代码所使用的标志寄存器指令j,检测指令j的第一个操作数和第二个操作数所依赖的输入字节信息;如果第一个操作数依赖的输入字节个数超过第二个操作数所依赖的输入字节个数,则将第二个操作数所依赖的输入字节作为输入样本中的校验和域;如果第二个操作数依赖的输入字节个数超过第一个操作数所依赖的输入字节个数,则将第一个操作数所依赖的输入字节作为输入样本中的校验和域。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010171979.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种PC硬盘信息防盗的逻辑绑定方法
- 下一篇:一种触摸板获取输入信息的方法