System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于模糊突变算子竞争的嵌入式软件模糊测试方法和系统技术方案_技高网

基于模糊突变算子竞争的嵌入式软件模糊测试方法和系统技术方案

技术编号:43559935 阅读:3 留言:0更新日期:2024-12-06 17:33
本发明专利技术提供一种基于模糊突变算子竞争的嵌入式软件模糊测试方法和系统,通过模糊突变算子的竞争与自适应调整增强测试效能。包括:步骤1:将突变调度器内初始突变算子的选择概率分布视作父代并对其进行轻微扰动,产生子代选择概率分布;步骤2:模糊器随机选取初始模糊输入,突变调度器选择出突变算子并将其应用到初始模糊输入上,得到父代与子代的突变模糊输入;步骤3:模糊器将突变模糊输入放入待测程序中测试,并将测试的结果反馈给突变调度器来计算父代与子代的进化适应度,以选出新的父代;步骤4:将突变模糊输入发现的新路径或触发待测程序崩溃的输入的有关信息保存在一个哈希表中,并将该哈希表视为突变调度器内的一个独立的突变算子。

【技术实现步骤摘要】

本专利技术属于嵌入式软件模糊测试,具体涉及一种基于模糊突变算子竞争的嵌入式软件模糊测试方法和系统


技术介绍

1、嵌入式软件在当今人类社会中扮演着至关重要的角色,广泛应用于汽车、航天、军事等领域。然而,由于工作环境资源受限和软件的复杂多样,嵌入式软件可能存在各种潜在的漏洞和安全风险,直接影响生产效率和生命安全。模糊测试作为一种通过向系统输入随机或非预期数据来触发潜在漏洞的技术,已被广泛应用于发现嵌入式软件中的漏洞和安全问题。然而,现有的嵌入式模糊器都采用随机的方式来选择突变算子以产生模糊输入,导致大量并不能发现新路径或新漏洞的突变算子被模糊器选择,产生了大量冗余和无效输入,导致测试效率低下。目前仍缺乏一种高效的嵌入式软件模糊测试方法。


技术实现思路

1、为了克服当前嵌入式软件模糊测试生成有效模糊输入效率低下的问题,本专利技术提供一种基于模糊突变算子竞争的嵌入式软件模糊测试方法和系统,通过引入模糊突变算子的竞争机制和自适应调整策略,显著提升了嵌入式软件模糊测试的效率、覆盖率和可靠性。

2、本专利技术为解决其技术问题所采用的技术方案是:

3、一种基于模糊突变算子竞争的嵌入式软件模糊测试方法,详细实施步骤如下:

4、s1,对初代父代突变算子选择概率分布的不同部位进行范围为1%的微扰,产生四个子代选择概率分布。四个子代会因为突变父代不同位置的概率以及微扰概率不同而完全不同。5个完全不同的选择概率分布为探索最优选择概率分布提供了较大的搜索空间。

>5、s2,突变调度器根据父代与子代的概率分布选择出分别属于父代与子代的突变算子,并将这些突变算子应用于同一份模糊器从模糊输入序列中选出的模糊输入,得到分别属于父代与子代的突变模糊输入。

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.一种基于模糊突变算子竞争的嵌入式软件模糊测试系统,用于实现权利要求1-6任一项所述的方法,其特征在于,包括:

8.一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法。

...

【技术特征摘要】

1.一种基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,步骤1中所述对父代选择概率分布进行轻微扰动,具体如下:突变调度器随机对一部分突变算子的选择概率进行±1%范围内的微扰,且所有突变算子的选择概率之和仍为1,产生出与父代选择概率分布部分不同的4个子代选择概率分布;父代及子代的共5个选择概率分布各不相同。

3.根据权利要求1所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,步骤s3中所述进化适应度的计算公式如下:

4.根据权利要求1或3所述的基于模糊突变算子竞争的嵌入式软件模糊测试方法,其特征在于,所述步骤3的具体实现方法为:

5...

【专利技术属性】
技术研发人员:侯刚李佳成杨广宽王储孔维强
申请(专利权)人:大连理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1