编辑推荐:
为解决基于机器学习的模糊测试中激活函数、优化策略及敏感性分析未充分探索的问题,研究人员开展了关于 LReLU 激活、Nadam 优化和敏感性分析对模糊测试影响的研究。结果表明这些改进可提升性能,对软件测试意义重大。
在软件安全领域,模糊测试(Fuzzing)作为一种强大的自动化软件测试技术,对于发现软件漏洞、增强软件的稳健性起着至关重要的作用。它通过向程序提供动态生成的输入,能挖掘出那些可能被忽视的缺陷。早期的模糊测试主要是随机生成输入,随着技术的发展,如今已演变得更为复杂和智能,开始利用结构化和反馈驱动的方法来提高测试用例生成的效率。近年来,机器学习(ML)技术的融入更是为模糊测试带来了新的变革,它使得模糊测试能够自适应地生成输入、优化漏洞检测策略。
然而,即便取得了这些进展,基于 ML 的模糊测试仍面临诸多挑战。其中,激活函数、优化策略以及训练后的敏感性分析等关键领域在模糊测试的背景下尚未得到充分研究,这在很大程度上限制了模糊测试在性能提升和漏洞检测方面的潜力。为了突破这些限制,来自未知研究机构的研究人员开展了一项旨在改进神经网络驱动的模糊测试的研究,相关成果发表在《Computer Standards 》上。
研究人员聚焦于三个关键的神经网络参数,即 Leaky Rectified Linear Unit(LReLU)激活、Nesterov - accelerated Adaptive Moment Estimation(Nadam)优化和敏感性分析,提出了一种新的模糊测试方案 LMTFuzz。在研究过程中,研究人员运用了多种关键技术方法。首先,对 MTFuzz 框架进行深入剖析,理解其基线模型的工作原理和存在的问题。针对 MTFuzz 代码中逻辑不一致的地方进行修正,确保实验的准确性。其次,通过数学推导和实验对比,详细分析 LReLU 与 ReLU 激活函数、Nadam 与 Adam 优化器之间的差异,量化它们对模型性能的影响。此外,利用敏感性分析技术,确定神经网络中对输出变化影响最大的层,优化梯度计算的选择,提高模型性能和测试用例生成效率 。
研究结果主要通过以下几个方面呈现:
- 最大准确率:LReLU 及其与敏感性分析结合的变体在大多数评估工具(六个中的四个)上,最大准确率始终优于基线模型。在 djpeg、mutool、size、nm 和 readelf 这五个工具的评估中,LReLU、其敏感性增强变体以及敏感性分析本身的组合表现出了更好的性能。不过在 hb - fuzzer 工具上,LReLU 及其敏感性增强变体的性能有所下降,这可能与该工具的复杂性、对激活函数变化的低敏感性以及梯度传播环境等因素有关。
- 损失指标:在大多数目标中,注重最小化损失的模型,如 LReLU、敏感性分析及其组合变体(Sensitivity with LReLU),能够实现最低的损失率。但在 hb - fuzzer 工具上,这些模型的最低损失率和最大准确率下的损失与基线模型相当。总体而言,LReLU 在最小化损失方面表现最佳。
- 边缘覆盖:LReLU 在所有模型中始终保持较高的最大边缘覆盖率,这表明它在测试中能够更有效地探索输入空间,识别出各种边缘情况。Nadam 及其与 LReLU 的混合模型在某些目标上也表现出色,如在 djpeg 和 size 目标上取得了最高的边缘覆盖率。敏感性分析模型及其与 LReLU 的组合在 nm 目标上获得了最高的边缘覆盖率,这显示出不同模型组合在优化边缘覆盖方面的潜力。
- 新边缘发现:敏感性分析在多个目标(如 djpeg、size、nm、mutool 和 readelf)的最终迭代中,表现出了新边缘发现数量的增加或逐渐减少的趋势,这意味着它能够在后期发现更深层次、更复杂的代码路径。相比之下,其他方法大多呈现出下降趋势。虽然敏感性分析在边缘覆盖上未超越 LReLU,但它在后期发现新边缘的能力为模糊测试提供了一种补充策略。
- 独特漏洞发现:除了在 size 和 readelf 目标上,基线模型在其他目标上的漏洞检测能力明显低于 LReLU 及其组合变体。LReLU 在多个目标上展现出强大的独特漏洞检测能力,Nadam 在某些目标上也有不错的表现,如在 mutool 目标上排名第一。
- 总执行次数和最大维度:不同模型在总执行次数和最大维度方面表现各异。敏感性分析模型在某些工具(如 mutool 和 nm)中,能以较少的总执行次数实现有效的漏洞检测。LReLU、Nadam 及其混合模型在增强覆盖维度方面表现可靠,而敏感性分析及其变体在部分目标上也优于基线模型。
研究结论和讨论部分指出,LReLU,特别是与敏感性分析相结合时,能显著提高模糊测试的检测效率,不同的目标漏洞对其性能提升的程度有所不同。LReLU 通过防止神经元失活,在分类和回归任务中都展现出优于 ReLU 的性能,它能更好地提取特征,优化学习过程,增强模型的抗对抗能力。Nadam 在收敛速度上表现出色,尤其适用于对抗样本生成任务,但它的动量更新策略可能导致波动,限制了其在某些目标上的有效性。敏感性分析通过根据梯度大小优先选择模糊测试用例,动态调整任务权重,提高了模糊测试的效率和效果。
然而,该研究也存在一定的局限性。LReLU 的性能对超参数选择较为敏感,需要进一步优化超参数以确保在不同任务中的稳定性。Nadam 虽然收敛速度快,但动量波动问题限制了其应用范围,未来研究可考虑开发混合模型或改进其动量更新策略。尽管如此,这项研究为改进漏洞检测和软件测试提供了一个战略框架,强调了持续探索这些方法的重要性。未来的研究应致力于克服现有局限,进一步优化这些技术,使其在更广泛的任务中发挥更大的作用,从而为软件安全领域提供更可靠的保障。