[发明专利]一种基于静态检测的模糊测试方法在审
申请号: | 201410799828.8 | 申请日: | 2014-12-19 |
公开(公告)号: | CN104573524A | 公开(公告)日: | 2015-04-29 |
发明(设计)人: | 常承伟;吴明杰;王泽玉;温泉;施学成;王斌;陈志浩 | 申请(专利权)人: | 中国航天科工集团第二研究院七〇六所 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
地址: | 100024*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于网络安全技术领域,涉及一种基于静态检测的模糊测试方法。所述方法包括源代码静态分析和可执行代码模糊测试。首先通过源代码静态分析相关软件对目标软件进行静态分析,模糊测试获得静态分析结果,然后对静态分析认为存在问题的代码段进行插桩标记,最后基于插桩标记对测试用例进行变异,使测试用例能够覆盖存在问题的全部代码段。本发明结合静态检测和模糊测试优势,通过模糊测试对静态检测进行验证,排除静态检测的误报情况。另一方面,利用静态检测的结果对模糊测试进行指导,令模糊测试所使用的随机测试用例更有针对性,提高了模糊测试的效率。克服了采用随机用例进行测试的传统方法中存在的误报率高、检测效率低等缺点。 | ||
搜索关键词: | 一种 基于 静态 检测 模糊 测试 方法 | ||
【主权项】:
一种基于静态检测的模糊测试方法,其特征在于包括以下步骤:步骤1,源代码分析;步骤1.1,对目标软件的源代码进行建模;对于非脚本类软件系统,首先利用相应的编译器,将源代码转换为抽象语法树,然后在抽象语法树的基础上对软件进行建模;对于脚本类软件系统,直接进行软件建模;步骤1.2,对源代码进行静态安全分析;根据软件代码安全规则集,采用数据流分析引擎、语义分析引擎、程序结构分析引擎、控制流分析引擎和配置分析引擎,从多个方面对步骤1.1建立的软件源代码模型进行安全分析,并生成分析结果;步骤2,模糊测试;步骤2.1,根据源代码扫描结果的漏洞跟踪信息,在漏洞触发的调用路径上进行插桩标记;步骤2.2,对插桩后的代码进行编译链接生成可执行映像,根据插桩标记记录对应漏洞的可执行代码路径;在随后的模糊测试过程中,程序跟踪器根据上述插桩信息判断测试用例在执行过程是否覆盖漏洞路径;步骤2.3,测试程序根据静态分析结果的漏洞类型信息加载初始测试用例,并记录每个测试用例覆盖的漏洞路径;步骤2.4,根据覆盖的漏洞、覆盖的漏洞路径长度进行测试用例的淘汰:每个漏洞最多被k个测试用例所覆盖;如果某个漏洞可被k+1个测试用例覆盖,则删除该漏洞覆盖长度最短的测试用例;k为测试时设置的整数参量,k值越大分析时间越长,消耗资源越多,漏洞分析结果越显著;步骤2.5,对测试用例进行随机变异,即对测试用例中一个或者多个数据段的长度和内容进行随机变化;步骤2.6,加载转换的测试用例并记录测试用例覆盖的漏洞路径,并跳转到步骤2.4继续执行,直到每个漏洞都可被k个测试用例完全覆盖。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航天科工集团第二研究院七〇六所;,未经中国航天科工集团第二研究院七〇六所;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410799828.8/,转载请声明来源钻瓜专利网。
- 上一篇:数据访问的处理方法与装置
- 下一篇:一种基于UEFI的软件实时保护系统和方法