#bug-discovery

共收录 1 条相关安全情报。

← 返回所有主题
👥 作者: Zirui Liu, Mengfan Xu, Juan Zhai, Shiqing Ma, Barry Nelson

变异模糊测试(mutation-based fuzzing)是软件安全中广泛使用的漏洞发现技术,但由于其随机性,对它的结果进行严格评估和复现存在困难。现有工作通常通过经验性测量来刻画这种随机性,但缺乏理论上的收敛性与样本复杂度保证,导致评估不可靠。该论文针对上述两个问题进行了深入研究。第一,提出一种鲁棒性评估方法:运行多次独立的模糊测试活动(campaign),在考虑计算量(测试长度)差异后,度量bug触发率的变异情况。作者从理论上证明了,在M次长度为T的独立测试中,有限试验(即M有限)导致的误差以标准M^-1/2速率衰减;而有限测试长度(T有限)引入的误差,在bug触发时间相关性逐阶衰减时具有有界性。这一理论结果首次为模糊测试的统计评估提供了可计算的收敛保障和样本复杂度指导。第二,提出一种名为“splitting”(分裂)的黑盒增强技术:当模糊器触发一个bug时,复制其当前队列状态,并让多个分支从该状态继续运行,从而将更多计算资源导向已发现的薄弱区域。作者证明,无论分裂树具体如何实现,任何分支路径相比单一连续路径都不会减少触发bug事件的原始数量;而且,当那些被更多分支访问的状态在未来更容易触发更多bug时,预期检测效率会获得提升。在一个简化模型中,当模糊器花费在bug区域的时间比例p小于sqrt(2)-1时,splitting能够降低单位计算量的方差。实验部分,作者在Magma基准的40个地真值(ground-truth)单元上进行验证,在计算量匹配的前提下,splitting在38个单元中比基线在相同CPU时间内找到更多真实bug(中位数提升52%,其中38个中34个具有统计显著性),且从未发现少于基线的不同bug。特别地,它使CVE-2019-19926从未被检测(0/20次独立试验)变为稳定检测(20/20次,Fisher精确检验p<10^-4),另有6项检测改进涉及相关CVE。在FuzzBench基准上,splitting在70个对比组中的53个中找到更多独特bug,并在66/70个组中降低了跨campaign的结果变异,中位数变异降低约10倍。所有分裂分支均计入相同计算预算,总开销仅约0.14%。因此,该工作为模糊测试的可信评估与实用增强提供了一套完整的理论与工程方案。

💡 推荐理由: 模糊测试是漏洞发现的关键技术,但其随机性常使结果难以复现和度量。该研究提供了可量化的评估方法和一种近乎零成本的技术改进,帮助安全团队更可靠、高效地发现漏洞,增强内建安全测试的可信度与产出。

🎯 建议动作: 研究跟进

排序因子: 来自 arXiv 其他板块 (+2) | 命中热门研究主题 (+2) | Community 数据源 (+1) | LLM 评分加成 (+0.6)