• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

计算机工程与科学 ›› 2022, Vol. 44 ›› Issue (06): 1046-1055.

• 计算机网络与信息安全 • 上一篇    下一篇

并行模糊测试综述

顾涛涛,卢帅兵,李响,况晓辉,赵刚   

  1. (军事科学院系统工程研究院信息系统安全技术国防科技重点实验室,北京 100101)
  • 收稿日期:2020-11-30 修回日期:2021-03-18 接受日期:2022-06-25 出版日期:2022-06-25 发布日期:2022-06-17

Overview of parallel fuzzing

GU Tao-tao,LU Shuai-bing,LI Xiang,KUANG Xiao-hui,ZHAO Gang   

  1. (National Key Laboratory of Science and Technology on Information System Security,
    Institute of System and Engineering,Academy of Military Sciences,Beijing 100101,China)
  • Received:2020-11-30 Revised:2021-03-18 Accepted:2022-06-25 Online:2022-06-25 Published:2022-06-17

摘要: 软件脆弱性已成为互联网安全的主要威胁来源,软件脆弱性分析技术的重要性日益突出。模糊测试是脆弱性分析的热点技术之一,通过持续生成测试用例、动态监控目标代码执行和反馈调节变异策略的方法尝试触发程序异常,具有部署便捷、适用性广和效果直观的优点。随着测试目标的复杂性增加,从业人员对模糊测试的效率提出了更高的要求。并行模糊测试通过并行执行、任务分解和共享信息等方法提高脆弱性分析的效率。首先,分析了基于覆盖反馈的模糊测试面临的主要挑战;之后,探讨了并行模糊测试的解决思路和方案,从系统结构、任务划分、语料库共享和崩溃去重等方面对并行模糊测试进行了综述;最后,总结了现有并行模糊测试的优缺点,并对未来发展方向进行了展望。

关键词: 模糊测试, 并行模糊测试, 任务分发, 语料库共享, 崩溃去重

Abstract: Abstract:Software vulnerability has become the main threat of Internet security, so software vulnerability analysis technology has become increasingly prominent. As one of the hotspot technologies in vulnerability analysis, fuzzing triggers program exceptions by continuously generating test cases, dynamically monitoring the execution of target code, and implementing feedback adjusting variation strategies. Fuzzing has the advantages of convenient deployment, wide applicability and intuitive effect. However, the dynamic execution, variation and feedback mechanism of fuzzing is time-consuming, which affects the efficiency of vulnerability analysis. However, parallel fuzzing improves the efficiency of vulnerability detection with the help of parallel execution, task decomposition and information sharing. Firstly, the main challenges of fuzzing based on coverage feedback are analyzed. Besides, the ideas and solutions of parallel fuzzing are discussed. In addition, the system structure, task division, corpus sharing, crash de-duplication and other aspects of parallel fuzzing are summarized. Finally, the advantages and disadvantages of existing parallel fuzzing are summarized, and the future development direction is prospected.

Key words: fuzzing, parallel fuzzing, task division, corpus sharing, crash de-duplication