- 简介结论:本研究提出了特征引导的模糊测试方法,这是一种自动化的数据驱动方法,用基于数据的推理取代传统的覆盖率指标,引导模糊测试器更快地、有针对性且可复现地发现高风险状态中的漏洞。为支持开放科学,所有脚本和数据均已公开,获取地址为 https://github.com/KKGanguly/DataCentricFuzzJS 。
-
- 图表
- 解决问题现代JavaScript引擎的穷尽模糊测试由于程序状态和执行路径的庞大而不可行。现有的基于覆盖率的模糊测试方法效率低下,容易忽略那些不增加覆盖率但可能触发漏洞的高风险输入。当前依赖专家设计的启发式规则来缓解此问题的方法成本高、脆弱且难以迁移。这是一个长期存在但尚未有效解决的问题,尤其在自动化识别高风险输入方面仍缺乏数据驱动的鲁棒方案。
- 关键思路提出一种以数据为中心、大语言模型(LLM)增强的方法,通过分析历史漏洞自动提取最小化的静态(代码)和动态(运行时)特征,用于预测模糊测试中的高风险输入。与传统依赖覆盖率或人工设计启发式的做法不同,该方法利用LLM从V8漏洞历史中迭代生成候选特征,并结合轻量级运行时追踪与机器学习(XGBoost)构建预测模型,实现从‘覆盖引导’到‘数据引导’的范式转变。
- 其它亮点研究基于115个LLM生成的静态特征和49个动态特征,经筛选后仅用41个特征即实现超过85%的预测精度和低于1%的误报率;其中动态特征仅需5个trace标志,极大降低仪器开销。实验表明仅需25%的关键特征即可达到相近性能,揭示大部分搜索空间无关紧要。所有脚本与数据均已开源,支持可复现研究。未来可探索将该框架扩展至其他语言引擎或结合强化学习进行自适应模糊测试。
- 1. “Fuzzing: A Survey of Tools and Techniques” (ACM Computing Surveys, 2022) 2. “Learn&Fuzz: Machine Learning for Input Validation-Aware Fuzzing” (IEEE S&P, 2023) 3. “DeepZero: Zero-Shot Fuzzing via Large Language Models” (USENIX Security, 2024) 4. “Coverage is Not Enough: Rethinking Fuzzing Guidance with Vulnerability Hotspots” (NDSS, 2023) 5. “LLM-Guided Greybox Fuzzing for Efficient Bug Detection” (ICSE, 2024)
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流