ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2021, Vol. 58 ›› Issue (5): 944-963.doi: 10.7544/issn1000-1239.2021.20201018

所属专题: 2021人工智能安全与隐私保护技术专题

• 综述 • 上一篇    下一篇

模糊测试技术综述

任泽众1,郑晗1,张嘉元2,王文杰1,冯涛2,王鹤3,张玉清1,3,4   

  1. 1(中国科学院大学国家计算机网络入侵防范中心 北京 101408);2(兰州理工大学计算机与通信学院 兰州 730050);3(西安电子科技大学网络与信息安全学院 西安 710071);4(海南大学计算机与网络空间安全学院 海口 570228) (zhangyq@ucas.ac.cn)
  • 出版日期: 2021-05-01
  • 基金资助: 
    国家重点研发计划项目(2018YFB0804701);国家自然科学基金项目(U1836210,61762060);甘肃省科技厅重点研发计划项目(20YF3GA016)

A Review of Fuzzing Techniques

Ren Zezhong1, Zheng Han1, Zhang Jiayuan2, Wang Wenjie1, Feng Tao2, Wang He3, Zhang Yuqing1,3,4   

  1. 1(National Computer Network Intrusion Protection Center, University of Chinese Academy of Sciences, Beijing 101408);2(School of Computer and Communication, Lanzhou University of Technology, Lanzhou 730050);3(School of Cyber Engineering, Xidian University, Xi’an 710071);4(School of Computer Science and Cyberspace Security, Hainan University, Haikou 570228)
  • Online: 2021-05-01
  • Supported by: 
    This work was supported by the National Key Research and Development Program of China (2018YFB0804701), the National Natural Science Foundation of China (U1836210, 61762060), and the Key Research and Development Program of the Science and Technology Department of Gansu Province of China (20YF3GA016).

摘要: 模糊测试是一种安全测试技术,主要用于检测安全漏洞,近几年模糊测试技术经历了快速发展,因此有必要对相关成果进行总结和分析.通过搜集和分析网络与系统安全国际四大顶级安全会议(IEEE S&P,USENIX Security,CCS, NDSS)中相关的文章,总结出模糊测试的基本工作流程,包括:预处理、输入数据构造、输入选择、评估、结果分析这5个环节,针对每个环节中面临的任务以及挑战,结合相应的研究成果进行分析和总结,其中重点分析以American Fuzzy Lop工具及其改进成果为代表的,基于覆盖率引导的模糊测试方法.模糊测试技术在不同领域中使用时,面对着巨大的差异性,通过对相应文献进行整理和分析,总结出特定领域中使用模糊测试的独特需求以及相应的解决方法,重点关注物联网领域,以及内核安全领域.近些年反模糊测试技术以及机器学习技术的进步,给模糊测技术的发展带来了挑战和机遇,这些机遇和挑战为下一步的研究提供了方向参考.

关键词: 模糊测试, 基本工作流程, 物联网安全, 内核安全, 机器学习

Abstract: Fuzzing is a security testing technique, which is playing an increasingly important role, especially in detecting vulnerabilities. Fuzzing has experienced rapid development in recent years. A large number of new achievements have emerged, so it is necessary to summarize and analyze relevant achievements to follow fuzzing’s research frontier. Based on 4 top security conferences (IEEE S&P, USENIX Security, CCS, NDSS) about network and system security, we summarized fuzzing’s basic workflow, including preprocessing, input building, input selection, evaluation, and post-fuzzing. We discussed each link’s tasks, challenges, and the corresponding research results. We emphatically analyzed the fuzzing testing method based on coverage guidance, represented by the American Fuzzy Lop tool and its improvements. Using fuzzing testing technology in different fields will face vastly different challenges. We summarized the unique requirements and corresponding solutions for fuzzing testing in specific areas by sorting and analyzing the related literature. Mostly, we focused on the Internet of Things and the kernel security field because of their rapid development and importance. In recent years, the progress of anti-fuzzing testing technology and machine learning technology has brought challenges and opportunities to the development of fuzzing testing technology. These opportunities and challenges provide direction reference for the further research.

Key words: fuzzing, basic working process, IoT security, kernel security, machine learning

中图分类号: