System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于嵌入式软件模糊测试,具体涉及一种基于模糊突变算子竞争的嵌入式软件模糊测试方法和系统。
技术介绍
1、嵌入式软件在当今人类社会中扮演着至关重要的角色,广泛应用于汽车、航天、军事等领域。然而,由于工作环境资源受限和软件的复杂多样,嵌入式软件可能存在各种潜在的漏洞和安全风险,直接影响生产效率和生命安全。模糊测试作为一种通过向系统输入随机或非预期数据来触发潜在漏洞的技术,已被广泛应用于发现嵌入式软件中的漏洞和安全问题。然而,现有的嵌入式模糊器都采用随机的方式来选择突变算子以产生模糊输入,导致大量并不能发现新路径或新漏洞的突变算子被模糊器选择,产生了大量冗余和无效输入,导致测试效率低下。目前仍缺乏一种高效的嵌入式软件模糊测试方法。
技术实现思路
1、为了克服当前嵌入式软件模糊测试生成有效模糊输入效率低下的问题,本专利技术提供一种基于模糊突变算子竞争的嵌入式软件模糊测试方法和系统,通过引入模糊突变算子的竞争机制和自适应调整策略,显著提升了嵌入式软件模糊测试的效率、覆盖率和可靠性。
2、本专利技术为解决其技术问题所采用的技术方案是:
3、一种基于模糊突变算子竞争的嵌入式软件模糊测试方法,详细实施步骤如下:
4、s1,对初代父代突变算子选择概率分布的不同部位进行范围为1%的微扰,产生四个子代选择概率分布。四个子代会因为突变父代不同位置的概率以及微扰概率不同而完全不同。5个完全不同的选择概率分布为探索最优选择概率分布提供了较大的搜索空间。
6、s3,模糊器将所有突变模糊输入放入待测程序中执行测试并将每个突变模糊输入所探索到的路径或触发的崩溃信息传递给突变调度器。突变调度器根据这些反馈信息计算并比较每个选择概率分布的进化适应度,选出进化适应度最高的选择概率分布,令其成为下一轮迭代的父代选择概率分布。
7、s4,使用一个哈希表,记录下发现新路径或触发待测程序崩溃的突变模糊输入的原始输入、原始输入的长度、突变类型。再将该哈希表视为突变调度器中的一个突变算子,使后续迭代可以重新使用先前有效的突变策略。
8、本专利技术的有益效果包括:
9、本专利技术通过利用突变算子自行进行内部竞争,动态调整突变算子的选择概率分布,提升具有高潜力发现新路径或更能触发待测程序崩溃的突变算子的选择概率,降低不易发现新路径或难以触发程序崩溃的突变算子的选择概率;缩短了找到最优选择概率分布的时间且降低了所需的先验知识,增强了模糊测试的有效性。
10、本专利技术通过将模糊测试过程中已经发现新路径或触发待测程序崩溃的突变模糊输入的相关信息保存到一个哈希表中,并将此哈希表视为突变调度器中的一个突变算子,用于后续迭代或同类、同系列的嵌入式软件模糊测试,提升了模糊测试的执行速度以及发现潜在软件漏洞的能力,更高效的产生有效模糊输入。
本文档来自技高网...【技术保护点】
1.一种基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,步骤1中所述对父代选择概率分布进行轻微扰动,具体如下:突变调度器随机对一部分突变算子的选择概率进行±1%范围内的微扰,且所有突变算子的选择概率之和仍为1,产生出与父代选择概率分布部分不同的4个子代选择概率分布;父代及子代的共5个选择概率分布各不相同。
3.根据权利要求1所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,步骤S3中所述进化适应度的计算公式如下:
4.根据权利要求1或3所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,所述步骤3的具体实现方法为:
5.根据权利要求1所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,所述步骤4的具体实现方法为:
6.根据权利要求5所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,所述突变策略的选择概率是根据以下计算公式完成的:
7.一种基于模糊突变算
8.一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法。
...【技术特征摘要】
1.一种基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,步骤1中所述对父代选择概率分布进行轻微扰动,具体如下:突变调度器随机对一部分突变算子的选择概率进行±1%范围内的微扰,且所有突变算子的选择概率之和仍为1,产生出与父代选择概率分布部分不同的4个子代选择概率分布;父代及子代的共5个选择概率分布各不相同。
3.根据权利要求1所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,步骤s3中所述进化适应度的计算公式如下:
4.根据权利要求1或3所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,所述步骤3的具体实现方法为:
5...
【专利技术属性】
技术研发人员:侯刚,李佳成,杨广宽,王储,孔维强,
申请(专利权)人:大连理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。