中文

SAND:将消毒与模糊测试解耦以实现低开销

密码学与安全 2025-02-13 v3 软件工程

摘要

消毒器为各种软件漏洞提供了强大的测试预言。在启用消毒器的程序上进行模糊测试是发现软件漏洞的最佳实践。由于消毒器需要对目标程序进行大量插桩以插入运行时检查,启用消毒器的程序相比正常构建的程序具有高得多的开销。在本文中,我们提出了SAND,一种新的模糊测试框架,它将消毒与模糊测试循环解耦。SAND在正常构建的程序上进行模糊测试,并且仅在输入被证明有趣时才调用启用消毒器的程序。由于大多数生成的输入并不有趣(即不触发漏洞),SAND允许大部分模糊测试时间花费在正常构建的程序上。为了识别有趣的输入,我们引入了执行模式,用于对正常构建的程序进行实用的执行分析。我们在AFL++之上实现了SAND,并在12个真实世界程序上进行了评估。我们广泛的评估突显了其有效性:在24小时内,与所有基线模糊测试器相比,SAND显著发现了更多漏洞,同时没有遗漏任何漏洞。

关键词

引用

@article{arxiv.2402.16497,
  title  = {SAND: Decoupling Sanitization from Fuzzing for Low Overhead},
  author = {Ziqiao Kong and Shaohua Li and Heqing Huang and Zhendong Su},
  journal= {arXiv preprint arXiv:2402.16497},
  year   = {2025}
}

备注

Camera-ready version