过去十年中,模糊测试已被证明是一种高效的软件漏洞发现方法。自AFL引入轻量级覆盖率反馈这一开创性概念以来,模糊测试领域涌现了大量科学工作,提出了新技术、改进了现有策略的方法论方面,或将现有方法移植到新领域。所有这些工作都需要通过展示其解决问题的适用性、测量性能,并通过深入的经验评估证明其相对于现有工作的优越性。然而,模糊测试对其目标、环境和条件高度敏感,例如测试过程中的随机性。毕竟,依赖随机性是模糊测试的核心原则之一,控制着模糊器行为的许多方面。结合往往难以控制的环境,实验的可重复性成为一个关键问题,需要谨慎的评估设计。为了应对这些有效性威胁,一些工作,尤其是Klees等人的《Evaluating Fuzz Testing》,已经概述了如何精心设计评估设置,但其建议在实践中被采纳的程度仍不清楚。本文系统分析了2018年至2023年间顶级会议上发表的150篇模糊测试论文的评估方法。我们研究了现有指南的实施情况,并观察到潜在的不足和陷阱。我们发现,现有指南在统计检验方面被惊人地忽视,且模糊测试评估中存在系统性错误。例如,在调查报告的漏洞时,我们发现对真实世界软件中漏洞的搜索导致了作者请求并接收了质量可疑的CVE。将我们的文献分析扩展到实践领域,我们尝试复现八篇模糊测试论文的声称。这些案例研究使我们能够评估模糊测试研究的实际可重复性,并识别评估设计中的典型陷阱。不幸的是,我们的复现结果揭示了所研究论文中的若干缺陷,我们无法完全支持和复现相应的声称。为帮助模糊测试领域迈向科学上可重复的评估策略,我们提出了更新后的评估指南,供未来工作遵循。
💡 推荐理由: 模糊测试评估的严谨性直接影响科研成果的可信度和实际应用价值。本文揭示了当前评估实践中的系统性缺陷,并提出改进指南,对模糊测试研究人员和从业人员均有重要参考意义。
🎯 建议动作: 研究跟进