[发明专利]基于决策树的模糊测试方法和装置在审
申请号: | 202111340352.8 | 申请日: | 2021-11-12 |
公开(公告)号: | CN114048132A | 公开(公告)日: | 2022-02-15 |
发明(设计)人: | 李松林 | 申请(专利权)人: | 北京知道未来信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F40/186;G06F16/22;G06F16/28;G06F21/57 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 彭星 |
地址: | 100082 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 决策树 模糊 测试 方法 装置 | ||
本申请提供一种基于决策树的模糊测试方法和装置,通过利用改造的BT模板按照目标数据格式对样本数据进行解析,获得目标数据格式下的文件数据,基于文件数据生成决策树,对决策树进行变异处理,并对变异后的决策树进行解析获得畸形数据,最后运行目标程序以解析畸形数据,根据目标程序的运行信息确定系统漏洞。该方案,可以基于改造的BT模板按目标数据格式生成文件数据,可基于需求丰富文件数据的格式,且通过对决策树进行变异,进一步地提高最终得到的畸形数据的形式,从而可以更好地探测系统漏洞,提高漏洞发现概率。
技术领域
本申请涉及系统测试技术领域,具体而言,涉及一种基于决策树的模糊测试方法和装置。
背景技术
模糊测试,是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。目前,常用的模糊测试工具是AFL(American Fuzzy Lop),这种模糊测试工具通过记录输入样本的代码覆盖率,从而调整输入样本以提高覆盖率,增加发现漏洞的概率。但是,这种模糊测试工具只能通过直接输入样本进行突变,而不能通过模板来生成样本进行样本数据的突变。从而导致一些文件格式中无法发现一些特别的程序路径和一些漏洞。此外,现有技术中也存在一些可以利用模板在生成样本数据的方式,但是这类方式仅能按照模板固有的数据格式生成数据,导致最终得到的畸形数据形式单一,降低漏洞发现概率。
发明内容
本申请的目的包括,例如,提供了一种基于决策树的模糊测试方法和装置,其能够提高畸形数据形式,进而提高漏洞发现概率。
本申请的实施例可以这样实现:
第一方面,本申请提供一种基于决策树的模糊测试方法,所述方法包括:
利用改造的BT模板按照目标数据格式对样本数据进行解析,获得所述目标数据格式下的文件数据,所述BT模板为目标文件编辑器的模板语言编写的模板;
基于所述文件数据生成决策树;
对所述决策树进行变异处理,并对变异后的决策树进行解析,获得畸形数据;
运行目标程序以解析所述畸形数据,根据所述目标程序的运行信息确定系统漏洞。
在可选的实施方式中,所述目标数据格式包括结构是否存在的标志、结构数据的长度以及数据类型的描述信息。
在可选的实施方式中,所述对所述决策树进行变异处理的步骤,包括以下至少之一:
对所述决策树中文件数据的所述结构是否存在的标志进行翻转变异处理;或
对所述决策树的文件数据进行随机数的添加,其中,所述随机数来自预设的包含多个特殊字符的字典,所述特殊字符为历史确定的可供进行系统漏洞测试的字符;或
针对所述决策树的文件数据中的结构数据,对所述结构数据进行随机剪切、拼接和重复设置处理。
在可选的实施方式中,所述决策树中的文件数据包含多个分类,所述多个分类划分为带有数据的分类和不带数据的分类;
所述对变异后的决策树进行解析,获得畸形数据的步骤,包括:
对变异后的决策树进行解析,确定其中的父类结构和子类结构,并确定出所述多个分类中带有数据的分类和不带数据的分类;
根据所述父类结构、子类结构、带有数据的分类和不带数据的分类,生成畸形数据。
在可选的实施方式中,所述运行目标程序以解析所述畸形数据,根据所述目标程序的运行信息确定系统漏洞的步骤,包括:
运行目标程序以解析所述畸形数据;
通过检测工具获得所述目标程序的运行路径;
基于所述运行路径确定系统漏洞。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京知道未来信息技术有限公司,未经北京知道未来信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111340352.8/2.html,转载请声明来源钻瓜专利网。