[发明专利]一种漏洞导向的模糊测试方法、系统和介质有效

专利信息
申请号: 202210275061.3 申请日: 2022-03-21
公开(公告)号: CN114626071B 公开(公告)日: 2023-04-07
发明(设计)人: 沈毅;于璐;施凡;李宇薇;胡淼;李振汉;李阳;黄颖 申请(专利权)人: 中国人民解放军国防科技大学
主分类号: G06F21/57 分类号: G06F21/57;G06F11/36;G06F18/22;G06N3/04;G06N3/126
代理公司: 中国和平利用军工技术协会专利中心 11215 代理人: 刘光德
地址: 410073 湖*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 漏洞 导向 模糊 测试 方法 系统 介质
【说明书】:

发明提供一种漏洞导向的模糊测试方法、系统和介质,所述方法包括:得到二进制测试程序中每一个函数特征向量与目标漏洞函数特征向量之间的相似性分值;对相似性分值按从高到低的顺序排序,增加相似性分值大于或等于预设阈值的函数的权重,减少相似性分值小于预设阈值的函数的权重;得到各个函数的权重;确定每一个函数中基本块的初始权重;确定基本块节点中的边缘节点和常覆盖节点;确定导向式模糊测试的若干个种子,所述导向式模糊测试的种子基于预先设置的变异策略生成新的测试用例,且所述导向式模糊测试的种子基于遗传算法确定。根据本发明的方案,将代码在引导过程中的不均等性作为反馈,指导测试用例的生成,进一步提高了模糊测试的效率。

技术领域

本发明涉及软件领域,尤其涉及一种漏洞导向的模糊测试方法、系统和介质。

背景技术

模糊测试,又叫Fuzzing测试,是一种软件测试的方法,它向程序提供无效的、非预期或者是随机的输入数据,一旦程序出现了比如崩溃或者是断言失败的错误,就会发现存在的缺陷(漏洞)。Fuzzing测试不仅适用于有源软件,也适用于二进制软件,应用范围广。它通过大量的测试用例动态执行软件,对动态执行过程进行分析,误报率要低于静态分析技术。另外,Fuzzing实现原理简单,没有大量理论推导和公式计算,避免了符号执行过程中的路径状态爆炸问题;自动化程度较高,人工参与的工作量少。但是由于模糊测试生成测试用例的盲目性,导致其无法穿透复杂的条件限制,对程序的覆盖率低。因此,当前的研究多从提高模糊测试生成测试用例的有效性出发,主流的模糊测试技术包括基于覆盖率的模糊测试和导向式模糊测试两种,其中,基于覆盖率的模糊测试目的在于在有限的时间内尽量多地覆盖代码执行路径,这种方法的出发点在于代码的覆盖与漏洞代码密切相关,也就是代码覆盖的越多,越容易发现漏洞,但是这种方法是将程序代码等同看待,而实际上大部分的覆盖代码并不一定会覆盖漏洞。因此这种盲目提高路径覆盖率以期发现漏洞的方法效率并不高。而导向式模糊测试则是选择重点代码区域,引导模糊测试向更倾向于执行能够重点代码区域的路径。目标导向的模糊测试方法最早由Bohme等人于2017年提出,选择一定的目标代码区域后,计算种子与目标代码的距离,赋予与目标代码距离更近的种子更多的变异机会,从而导向程序向目标距离执行。之后目标导向的研究被应用于不同的场景,如基于目标序列的导向(UAF漏洞),语义信息导向以及内存错误操作导向等。

VUzzer是针对二进制程序的基于模糊测试的漏洞挖掘工具,主要解决二进制程序魔术字节突破难和深层嵌套路径无法达到两个问题,使用静态分析的方法得到程序中的基本块权重和比较指令中的立即数,并使用动态执行的方法计算每一个执行迹的适应度函数和与比较指令立即数相关的实际输入偏移,从而提到Fuzzing测试过程中测试用例生成的有效性,提高代码覆盖率,从而挖掘出二进制程序中可能存在的漏洞。VUzzer和当前主流的导向式Fuzzing工具多是采用静态分析的方法计算与目标函数相关的衡量指标,如基本块节点的权值或者到目标节点的距离,但未能考虑动态执行过程中节点的不同重要程度;同时,在计算衡量指标时,未考虑到程序中函数在导致可能漏洞时所起的不同作用。

发明内容

为解决上述技术问题,本发明提出了一种漏洞导向的模糊测试方法、系统和介质,用以解决现有技术中导向式模糊测试针对源码未知的二进制程序研究较少,对目标代码区域定位自动化水平低以及对模糊测试动态执行过程中的节点重要程度对测试用例生成影响小导致的导向性差的技术问题。

根据本发明的第一方面,提供一种漏洞导向的模糊测试方法,所述方法包括以下步骤:

步骤S1:对于给定的二进制测试程序和给定的目标漏洞函数,使用静态分析的方法分析所述二进制测试程序,获取二进制测试程序中每一个函数的控制流图和数据流图,将所述控制流图和所述数据流图结合生成融合语义图;所述融合语义图中的节点为基本块节点,对所述基本块节点内部的语义特征进行提取,得到所述融合语义图中每一个基本块节点的语义特征;进而得到所述二进制测试程序中每一个函数的融合语义图的结构特征和所述融合语义图中基本块节点的语义特征;从已有的漏洞特征库中得到目标漏洞函数的结构特征和语义特征;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210275061.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top