[发明专利]一种面向二进制代码的导向型模糊测试方法有效

专利信息
申请号: 202010717878.2 申请日: 2020-07-23
公开(公告)号: CN111858358B 公开(公告)日: 2023-07-25
发明(设计)人: 王鹏飞;卢凯;周旭;乐泰;唐勇;解炜;喻波;杨强 申请(专利权)人: 中国人民解放军国防科技大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 湖南兆弘专利事务所(普通合伙) 43008 代理人: 周长清
地址: 410073 湖南*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 面向 二进制 代码 导向 模糊 测试 方法
【说明书】:

发明公开了一种面向二进制代码的导向型模糊测试方法,其步骤为:步骤S1:分析目标程序并标记目标基本块地址;步骤S2:载入二进制程序并获取程序地址信息,并将二进制代码进行反汇编得到汇编代码,构建程序控制流图;步骤S3:在程序执行时记录分支跳转情况,并在执行结束后进行解码,导出执行路径,构建并完善控制流图,更新分支执行的统计数据;步骤S4:基于当前的执行路径、结合分支的执行统计数据,计算当前路径与目标的距离;步骤S5:用计算的目标距离作为反馈,引导下一轮种子的选取和测试。本发明具有原理简单、易实现、能够提高精度等优点。

技术领域

本发明主要涉及到软件检测技术领域,特指一种面向二进制代码的导向型模糊测试方法。

背景技术

模糊测试技术是通过随机构造目标程序的输入来触发程序中未知的错误。目前,模糊测试主要包括黑盒测试和灰盒测试,黑盒测试是使用完全随机构造的输入来测试程序;而灰盒测试是通过反馈来引导模糊测试,一般包括以下步骤:构造输入、执行程序、结果反馈、选取种子、种子变异等。目前的模糊测试,多是基于覆盖率反馈引导的,其方法的核心是将种子变异结果中能够触发新的执行路径的样本作为下一轮的种子继续进行变异。

导向型模糊测试是通过在代码中设定目标点,引导模糊测试重点测试目标代码片区,主要应用在脆弱性分析、补丁测试,缺陷复现等场景。它方法的核心是计算当前执行路径与目标点之间的距离,并将此距离作为反馈来驱动测试。目前导向型模糊测试的工作有两个,都是通过源代码插桩来设定目标地址和记录程序执行信息,因而依赖源代码,且软件层面的插桩引入了较大的运行时开销;基于静态分析构建的控制流图不完整、不精确,缺少间接跳转等指令,不能感知执行路径在指令级的差异,导致后续分析不精确。此外,目标距离的计算都只基于分支跳转数目进行计算,忽略了不同分支跳转概率存在差异,因而造成计算的距离不准确,导向性效果差。

如图1所示,为其执行路径的简图,假定x是取值范围为0到9的整数,则从节点A到节点C的概率为0.1,到节点B的概率为0.9,以此类推,B到D,B到E,D到F,D到G的概率分别为0.7,0.3,0.5,0.5。按照目前仅依靠跳转次数计算距离的算法,A到C的距离要比A到G的距离近,因为A到C只要1次跳转,而A到G有3跳。但是当将每一跳的跳转概率也考虑在内的话,A到C的概率为0.1,而A到G的概率为0.9×0.7×0.5≈0.3,比A到C的概率还要高。因此,在导向模糊测试中,A到G的“距离”比A到C要更近,将分支的跳转概率考虑在内更合理。

控制流图:由程序的跳转指令地址和跳转目标地址组成的拓扑图,用来展示程序可能的执行路径。

基本块:程序的汇编代码中,从一个跳转指令到另一个跳转指令之间的连续的指令序列称为一个基本块。基本块中的指令执行是确定的,按照由前往后,逐条执行。控制流图中的一个节点通常代表一个基本块。

能量:模糊测试中,能量用来衡量一个种子变异后生成的测试用例的多少。为一个种子分配的能量越大,则基于该种子变异出的测试用例越多,测试的次数也越多。

现有技术存在的技术问题就在于:

1、未插桩的二进制代码执行过程中难以捕获执行信息。

2、静态构建的控制流图不完整,缺少间接跳转指令的目标地址。

3、控制流图对指令级的执行路径差异不敏感。

4、不同分支的跳转概率难以衡量。

发明内容

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、易实现、能够提高精度的面向二进制代码的导向型模糊测试方法。

为解决上述技术问题,本发明采用以下技术方案:

一种面向二进制代码的导向型模糊测试方法,其步骤为:

步骤S1:分析目标程序并标记目标基本块地址;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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