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