分享自:

基于LLM合成输入生成器的低成本全面非文本输入模糊测试

期刊:USENIX Security

这篇文档属于类型a,即报告了一项原创性研究。以下是针对该研究的学术报告:


基于LLM合成输入生成器的低成本非文本输入模糊测试方法:G2Fuzz

一、作者与发表信息

本研究由香港科技大学(The Hong Kong University of Science and Technology)的Kunpeng Zhang、Zongjie Li、Daoyuan Wu、Shuai Wang和浙江大学(Zhejiang University)的Xin Xia合作完成,论文标题为《Low-Cost and Comprehensive Non-Textual Input Fuzzing with LLM-Synthesized Input Generators》,已被USENIX Security 2025接收。

二、学术背景

研究领域
本研究属于软件安全测试领域,聚焦于模糊测试(Fuzzing)技术,特别是针对非文本输入(如图像、视频、PDF等)的语法感知(Grammar-Aware)模糊测试。

研究动机
现代软件常需处理复杂语法结构的非文本输入(如TIFF图像、MP4音频),但传统模糊测试工具(如AFL++)难以生成符合语法的输入,导致代码覆盖率低且难以发现深层漏洞。现有方法(如语法推断或人工编写生成器)存在成本高、扩展性差的问题。大型语言模型(LLM)虽能生成文本或代码,但直接生成非文本数据效率低且成本高昂。

研究目标
提出G2Fuzz框架,通过LLM合成并优化输入生成器(Python脚本),生成符合目标格式语法的非文本输入,再结合传统模糊测试器(如AFL++)实现高效测试,以低成本提升代码覆盖率和漏洞发现能力。

三、研究流程与方法

1. 输入生成器合成(Input Generator Synthesis)
- 步骤1:特征分析
用户提供目标文件格式名称(如“TIFF”),G2Fuzz通过LLM(如GPT-3.5)分析该格式的可能特征(如“无损压缩”“多图层”),生成特征描述列表。
- 步骤2:生成器代码合成
针对每个特征,LLM生成对应的Python生成器脚本(如使用PIL库生成TIFF图像)。若代码执行失败,系统自动调试:通过LLM分析错误信息,安装缺失依赖或修复代码逻辑。
- 关键技术
采用多轮调试机制(最多尝试3次修复),并限制LLM调用频率以降低成本。

2. 生成器变异(Generator Mutation)
为提高输入多样性,G2Fuzz设计三种变异策略:
- 稀有特征定向变异(Rare-Feature Directed Mutation):通过LLM识别未被覆盖的稀有特征(如TIFF的LZW压缩),将其整合到现有生成器中。
- 特征-结构随机变异(Feature-Structure Havoc Mutation):随机添加特征或结构,生成更复杂的输入(如同时支持多图层和压缩的TIFF)。
- 模式驱动变异(Pattern-Based Mutation):基于历史测试反馈,保留触发新路径的特征组合模式(如“RGB色彩空间+JPEG压缩”)。

3. 混合模糊测试流程
- 全局搜索(Holistic Search):由LLM驱动,生成多样化的输入生成器。
- 局部搜索(Local Search):由AFL++驱动,对生成的非文本输入进行细粒度变异。
- 协同机制:当AFL++长时间未发现新路径时,重新调用LLM生成新生成器,避免陷入局部最优。

实验对象与规模
- 测试平台:UniFuzz、FuzzBench、Magma(涵盖34种文件格式,如JPEG、MP4、PDF)。
- 测试程序:34个真实世界软件(如FFmpeg、Exiv2),每个程序重复测试5次,每次24小时。

四、主要结果

1. 代码覆盖率与漏洞发现
- 在UniFuzz上,G2Fuzz(GPT-4)平均覆盖59,642条边缘路径,比最佳基线AFL++(cmplog模式)多15,437条。
- 发现10个独特漏洞,其中3个获CVE认证(如CVE-2024-57509)。
- 在FuzzBench中,G2Fuzz在11个程序中排名第一,覆盖率显著高于LibFuzzer、AFLSmart等工具。

2. 特征覆盖能力
- G2Fuzz生成的输入能覆盖更多复杂特征(如TIFF的LZW压缩、PDF的数字签名),而传统工具仅能处理基础结构(如文件头校验)。
- 例如,在PDF测试中,G2Fuzz覆盖了37,797种特征,而AFL++仅覆盖33,451种。

3. 成本效益
- LLM调用成本:使用GPT-3.5时,24小时测试成本低于0.2美元;GPT-4成本为13美元,显著低于直接生成非文本数据的方案(如DALL-E)。
- 时间效率:生成器合成平均耗时15分钟,对总测试时间影响可忽略(%)。

五、结论与价值

科学价值
1. 提出了一种LLM与模糊测试协同的新范式,结合了LLM的语法理解能力和传统模糊测试的细粒度变异优势。
2. 解决了非文本输入生成的难题,扩展了模糊测试的应用范围。

应用价值
1. 工业适用性:G2Fuzz已集成到AFL++中,支持多种文件格式的自动化测试。
2. 开源贡献:代码与数据公开于GitHub(https://github.com/g2fuzz/g2fuzz),推动社区研究。

六、研究亮点

  1. 方法创新:首次利用LLM合成输入生成器,而非直接生成输入数据,兼顾效率与成本。
  2. 性能突破:在多个基准测试中优于SOTA工具,尤其在复杂格式(如MP4、PDF)上表现突出。
  3. 可扩展性:支持34种文件格式,且可通过新增Python库轻松扩展。

七、其他价值

  • 伦理考量:论文强调漏洞披露流程,确保研究成果负责任地应用于安全领域。
  • 跨模型通用性:实验验证了G2Fuzz在开源模型(如LLaMA-3)上的有效性,降低对商业LLM的依赖。

以上报告完整呈现了研究的背景、方法、结果与价值,可作为学术交流的参考材料。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com