语法感知模糊测试:FieldsFuzz 如何实现高效结构化输入变异

发布时间:2026/8/23 18:48:17
语法感知模糊测试:FieldsFuzz 如何实现高效结构化输入变异 “ 在现代软件系统中大量程序依赖结构化输入如 JSON、XML、协议报文等。然而传统模糊测试往往采用字节级随机变异难以生成语法合法且语义有效的输入从而导致大量无效测试样本被丢弃深层逻辑路径难以触达复杂解析器中的漏洞难以触发。针对这一问题论文提出FieldsFuzz一种基于语法感知变异策略的高效模糊测试方法。 ”论文标题FieldsFuzz: Implement Efficient Fuzzing Based on Grammar-Aware Mutation Strategy发表时间The Journal of Systems Software2025作者单位航天工程大学 开源代码未开源01—方法介绍该工作的核心思想是利用输入语法结构信息对测试样本进行“字段级”精细化变异从而提升测试效率与有效性。整体流程可以概括为三步① 语法解析建模从输入中提取结构化字段信息② 字段级变异策略在语法约束下对关键字段进行定向修改③ 覆盖反馈优化结合执行反馈引导测试用例进化。图 1. VERTFuzz 概述小结从“字节级随机变异”升级为“语法感知的结构化变异”。02—关键机制语法感知变异策略利用输入结构信息指导测试生成字段粒度操作突破传统字节级模糊测试限制高有效样本生成显著减少无效输入比例适用于复杂解析器特别适合协议、文件格式等场景。模块设计思路作用语法结构解析构建输入的语法树或字段表示识别结构化输入组成字段级变异针对关键字段进行定向修改提升有效输入比例语法约束保持确保变异后输入仍满足语法规则避免无效样本浪费反馈驱动优化基于覆盖率或执行路径反馈调整策略提高测试深度与效率小结FieldsFuzz 在“结构理解 精细变异”之间建立闭环。03—实验结果实验主要基于模糊测试基准集FuzzBench和UniFuzz来构建基准测试程序。主要实验结果如下。1评估FieldsFuzz 对输入文件字段识别能力的性能表现。结果如表1-2所示。表1FieldsFuzz在小尺寸种子上的字段识别和类型识别平均准确率为 96.23% 和 94.13%在大尺寸种子上为 95.89% 和 94.93%均优于对比的模糊测试器。表2FieldsFuzz 的字段识别平均耗时在所有程序中最低小尺寸种子为 0.60 秒大尺寸种子为 0.63 秒。图2可以看出FieldsFuzz不仅字段识别准确率高而且识别结果最为全面。表1. 不同基于输入格式的模糊测试器在字段边界精度和类型精度上的比较。表2. 处理1个输入的平均时间。图2. 不同基于输入格式的模糊测试器在字段边界精度和类型精度上的比较。2实验评估了边覆盖率结果见表3。FieldsFuzz 在 12 个基准测试程序中的 7 个上获得了最高的边覆盖率。相较于 AFL、AFL、ProFuzzer、WEIZZ和NestFuzz其边覆盖率分别提高了30.30%、11.88%、21.53%、15.50% 和 5.95%。表3 各模糊测试器在真实程序上的边覆盖数量。3实验评估了漏洞检测能力结果见表4。FieldsFuzz共发现415个独特错误。相较于AFL、AFL、ProFuzzer、WEIZZ和NestFuzz其漏洞发现数量分别提高了139.88%、27.30%、46.64%、28.48%和10.96%。表4. 不同模糊测试器发现的独特错误数量小结FieldsFuzz 基于文件格式树对种子文件进行变异从而生成更多有效的测试用例显著提升了模糊测试的效率。评估结果表明FieldsFuzz 在格式识别的效率和准确性、代码覆盖率和漏洞发现能力方面优于其他格式感知模糊测试工具。 总结该论文的重要意义在于将模糊测试从“无结构探索”推进到“结构感知驱动”显著提升漏洞发现能力。FieldsFuzz 表明只有理解输入结构模糊测试才能真正深入程序内部逻辑。 欢迎留言讨论你认为语法感知模糊测试是否会取代传统字节级 Fuzzing未来是否可以结合 LLM 自动生成语法规则从而进一步提升效果 点赞 收藏 分享你的支持是我们持续解析高水平软件安全论文的最大动力