History-Driven Fuzzing:用“历史经验”指导模糊测试,系统性挖掘深度学习库漏洞
“ 随着 TensorFlow、PyTorch 等深度学习框架被广泛应用于自动驾驶、医疗诊断等关键领域其底层实现的安全性正变得前所未有的重要。然而针对深度学习库的漏洞检测依然面临巨大挑战API参数复杂、隐含约束多、测试空间巨大随机或文档驱动的 fuzzing 往往效率极低。针对这一现实问题研究者提出了History-Driven Fuzzing 框架不再“从零开始猜输入”而是从真实历史漏洞中总结经验用漏洞本身指导fuzzing。 ”论文标题History-Driven Fuzzing For Deep Learning Libraries发表时间 ACM Transactions on Software Engineering and Methodology2025作者单位约克大学加拿大开源代码 https://github.com/dmc1778/Orion01—方法介绍图1展示了Orion如何利用TensorFlow安全公告构建一个模糊测试启发式规则该规则模拟了API gen_array_ops.lower_bound输入参数之间的相关性最终检测到分段错误。图1. 漏洞示例该方法的核心思想是历史漏洞本身蕴含了最有价值的测试启发信息可以被抽象为可复用的 fuzzing 规则。作者通过对大量真实深度学习库漏洞进行系统分析将漏洞触发条件归纳为一组通用的测试策略并据此设计了历史驱动的 fuzzing 流程整体可概括为三步① 漏洞历史分析对已披露的 DL 库漏洞进行根因与模式分析。② 启发式规则抽取将高频漏洞成因抽象为输入生成与变异规则。③ 规则驱动模糊测试利用规则引导 fuzzing更高效触达潜在漏洞。图 2. Orion架构小结与“盲目变异”不同该方法强调“带着经验去 fuzz”。02—关键机制历史驱动的fuzzing视角首次系统性利用DL库历史漏洞指导测试。规则化经验总结将漏洞成因转化为可执行的启发式规则。无需大模型依赖不依赖 LLM稳定性与可复现性更强。开发者 API 覆盖显著提升对内部接口的漏洞发现能力。模块设计思路作用历史漏洞分析总结真实漏洞触发模式为 fuzzing 提供先验知识引导式输入生成刻意制造参数不一致与非法组合触发深层逻辑错误角落用例构造生成极端与异常输入暴露边界与健壮性问题规则驱动调度优先执行高价值测试用例提升漏洞发现效率小结核心不在于 fuzz 得更快而在于 fuzz 得更“准”。03—实验结果实验选择了2个广受认可且应用广泛的深度学习库即TensorFlow和PyTorch作为主要实验对象。主要实验结果如下。1为了比较Orion与传统深度学习模糊测试器的差异使用了早期版本的TensorFlow2.3.0和2.4.0版本和PyTorch1.7.0和1.8.0版本作为评估对象。与基于大型语言模型LLM的模糊测试器的比较使用了它们所报告的版本TensorFlow 2.10.0和PyTorch 1.12.0。 结果如表1-3所示。表1. 每个深度学习模糊测试器覆盖的API统计相对于Orion计算改进的百分比。表2. Orion与FreeFuzz在开发者API上的对比。“Det”表示检测到的漏洞数量“Fixed”表示修复的漏洞数量。表3. Orion与终端用户API上传统模糊测试器的对比。2表4展示了Orion在TensorFlow和PyTorch最新版本中新检测到的漏洞统计数据。Orion报告了135个漏洞其中76个已得到库开发人员的确认69个为新漏洞。具体结果如图3-4所示。表4. 新检测到的漏洞数量。图3. PyTorch库中Orion检测到的已确认bug类型的总数图4. TensorFlow库中Orion检测到的已确认bug类型的总数小结Orion 通过挖掘开源历史数据包括 API 文档、GitHub 公共仓库和库测试来生成测试输入并基于33种独立的漏洞根因构建模糊测试规则。针对5000余个终端用户和开发者DL APIOrion共报告135个漏洞其中76个已被确认。在终端用户API场景下相比DeepRelOrion分别多发现45.58%和90%的漏洞与AtlasFuzz相比Orion在TensorFlow和PyTorch上分别多检测13.63%和 18.42% 的漏洞。 总结History-Driven Fuzzing从一个极具工程价值的角度重新思考了深度学习库漏洞检测问题。通过系统性利用历史漏洞该方法为fuzzing提供了可解释、可复用且高性价比的测试指导。这一工作表明在深度学习系统安全中从“随机试错”走向“经验驱动”或许是提升漏洞发现能力的关键一步。 欢迎留言讨论你认为历史漏洞驱动的方法是否适合其他类型的软件系统规则驱动 fuzzing 与 LLM-based fuzzing 应如何取长补短 点赞 收藏 分享你的支持是我们持续解析高水平软件安全论文的最大动力