[论文解读] Learning Inputs in Greybox Fuzzing
本文提出了一种新颖的灰盒模糊测试技术,通过从过往执行中学习最优程序输入,以引导探索通往高覆盖率或触发漏洞的路径。通过最小化用户定义的成本度量(用于衡量接近目标行为的接近程度,例如分支翻转或溢出条件),该方法显著提升了路径覆盖率(最高达3倍)和漏洞检测能力(最多多检测38%),且速度通常快几个数量级。
Greybox fuzzing is a lightweight testing approach that effectively detects bugs and security vulnerabilities. However, greybox fuzzers randomly mutate program inputs to exercise new paths; this makes it challenging to cover code that is guarded by complex checks. In this paper, we present a technique that extends greybox fuzzing with a method for learning new inputs based on already explored program executions. These inputs can be learned such that they guide exploration toward specific executions, for instance, ones that increase path coverage or reveal vulnerabilities. We have evaluated our technique and compared it to traditional greybox fuzzing on 26 real-world benchmarks. In comparison, our technique significantly increases path coverage (by up to 3X) and detects more bugs (up to 38% more), often orders-of-magnitude faster.
研究动机与目标
- 为解决灰盒模糊测试中随机变异的低效性,后者常重复执行已知路径并遗漏复杂或受保护的代码区域。
- 通过学习能引导执行向最优程序行为发展的输入,提升灰盒模糊测试的路径覆盖率和漏洞检测能力。
- 提出一种参数化成本度量框架,基于接近期望程序状态的程度(如触发特定分支或溢出)来定义‘最优’执行。
- 通过从先前运行中学习具体输入值,而非依赖任意变异,实现更快、更有效的探索。
- 证明从执行轨迹中学习输入可优于传统灰盒模糊测试,且无需依赖符号执行或静态分析。
提出的方法
- 为每次程序执行定义一个成本度量,量化该执行距离满足目标属性(如分支条件翻转或触发漏洞)的接近程度。
- 从多次程序执行中收集成本值,形成输入-成本对的数据集,其中输入为程序输入,成本为度量值。
- 在输入-成本对上训练回归模型(如梯度提升树),以预测新输入的成本,从而帮助系统识别可能最小化成本度量的输入。
- 通过优化学习到的模型来生成新输入,使其预测成本最小,从而引导模糊测试工具向最优执行方向发展。
- 将学习到的输入集成到灰盒模糊测试器的种子池中,优先对这些输入进行变异和执行,以加速收敛至新路径。
- 若学习模型未能找到更优输入,则回退至标准灰盒模糊测试,确保鲁棒性和完备性。
实验结果
研究问题
- RQ1从过往程序执行中学习能否提升灰盒模糊测试在探索新代码路径方面的有效性?
- RQ2基于成本度量学习输入与随机变异相比,在路径覆盖率和漏洞检测方面表现如何?
- RQ3所提出的方法能否在不依赖符号执行或静态分析的前提下实现更高的覆盖率和更快的漏洞发现速度?
- RQ4哪些类型的成本度量最能有效引导模糊测试向期望的程序行为(如分支覆盖率或漏洞触发)发展?
- RQ5该基于学习的方法在多样化的真实世界基准测试中的性能扩展性如何?
主要发现
- 所提出的基于学习的灰盒模糊测试技术在26个真实世界基准测试中,路径覆盖率最高比传统灰盒模糊测试提升3倍。
- 该方法检测到的漏洞比标准灰盒模糊测试最多多出38%,且许多漏洞被发现的速度快几个数量级。
- 通过学习直接针对难以触及的代码路径的输入,该技术显著缩短了首次崩溃或漏洞触发的时间。
- 该方法在全部26个基准测试中均优于基线灰盒模糊测试,一致地提升了覆盖率和漏洞检测能力。
- 成本度量的使用可实现对特定程序行为(如触发算术溢出或条件分支)的精确引导。
- 即使学习模型未能找到最优输入,该方法仍保持鲁棒性和有效性,因其能平稳回退至标准模糊测试。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。