[发明专利]漏洞挖掘方法和装置有效
申请号: | 201610578761.4 | 申请日: | 2016-07-21 |
公开(公告)号: | CN107644164B | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 陈晓东;王锦华;朱易翔;赵金波;陈志煌 | 申请(专利权)人: | 中国电信股份有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F11/36 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 许蓓 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 漏洞 挖掘 方法 装置 | ||
1.一种漏洞挖掘方法,其特征在于,包括:
形成符合待测对象的语法格式的测试样本,包括:根据待测对象确定待生成的测试样本的语法格式;按照所述语法格式的各个部分,建立测试样本的各个子数据区;以及采用标注字符填充所述各个子数据区,将填充后的所述各个子数据区进行组合生成测试样本;
在待测对象中输入所述测试样本,使待测对象解析所述测试样本,并产生内存溢出;
根据内存溢出后标注字符在内存中的分布位置确定所述待测对象的漏洞;
如果在待测对象中运行所述测试样本后未产生内存溢出,则从测试样本的各个子数据区中选择一个子数据区;
以预设的长度进一步扩充所述选择的子数据区的长度,获得扩充后的测试样本。
2.根据权利要求1所述的方法,其特征在于,所述根据内存溢出后标注字符在内存中的分布位置确定所述待测对象的漏洞包括:
获取内存溢出后内存中所述标注字符覆盖的寄存器地址,将所述标注字符覆盖的寄存器地址确定为所述待测对象的漏洞。
3.根据权利要求1所述的方法,其特征在于,还包括:
如果在待测对象中运行所述测试样本后产生内存溢出,则按照所述语法格式,以预设的步长多次扩充所述测试样本的长度,生成若干新的有效测试样本。
4.根据权利要求1所述的方法,其特征在于,还包括:
如果待测对象解析所述测试样本,并产生内存溢出,则以预设的步长多次扩充所述选择的子数据区,获得若干新的有效的测试样本。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述待测对象为多媒体框架。
6.一种漏洞挖掘装置,其特征在于,包括:
测试样本形成模块,用于形成符合待测对象的语法格式的测试样本,包括:语法格式确定模块,用于根据待测对象确定待生成的测试样本的语法格式;子数据区建立模块,用于按照所述语法格式的各个部分,建立测试样本的各个子数据区;以及子数据区填充模块,用于采用标注字符填充所述各个子数据区,将填充后的所述各个子数据区进行组合生成测试样本;
测试样本输入模块,用于在待测对象中输入所述测试样本,使待测对象解析所述测试样本,并产生内存溢出;
漏洞确定模块,用于根据内存溢出后标注字符在内存中的分布位置确定所述待测对象的漏洞;
子数据区选择模块,用于在待测对象中运行所述测试样本后未产生内存溢出时,从测试样本的各个子数据区中选择一个子数据区;
子数据区扩充模块,用于以预设的长度进一步扩充所述选择的子数据区的长度,获得扩充后的测试样本。
7.根据权利要求6所述的装置,其特征在于,所述漏洞确定模块用于获取内存溢出后内存中所述标注字符覆盖的寄存器地址,将所述标注字符覆盖的寄存器地址确定为所述待测对象的漏洞。
8.根据权利要求6所述的装置,其特征在于,还包括普通有效样本生成模块,用于当在待测对象中运行所述测试样本后产生内存溢出时,按照所述语法格式,以预设的步长多次扩充所述测试样本的长度,生成若干新的有效测试样本。
9.根据权利要求6所述的装置,其特征在于,还包括:
特定有效样本生成模块,用于在待测对象解析所述测试样本,并产生内存溢出时,以预设的步长多次扩充所述选择的子数据区,获得若干新的有效的测试样本。
10.根据权利要求6-9所述的装置,其特征在于,所述待测对象为多媒体框架。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电信股份有限公司,未经中国电信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610578761.4/1.html,转载请声明来源钻瓜专利网。