通信学报 ›› 2019, Vol. 40 ›› Issue (11): 76-85.doi: 10.11959/j.issn.1000-436x.2019223

• 学术论文 • 上一篇    下一篇

提高fuzzing边覆盖率的改进方法

贾春福1,严盛博1,王志1(),武辰璐1,黎航2   

  1. 1 南开大学网络空间安全学院,天津 300350
    2 南开大学人工智能学院,天津 300350
  • 修回日期:2019-09-13 出版日期:2019-11-25 发布日期:2019-12-06
  • 作者简介:贾春福(1967- ),男,河北文安人,博士,南开大学教授、博士生导师,主要研究方向为计算机网络与信息安全、可信计算、恶意代码分析。|严盛博(1987- ),男,湖北荆州人,南开大学硕士生,主要研究方向为逆向工程与漏洞挖掘。|王志(1981- ),男,山西长治人,博士,南开大学讲师,主要研究方向为计算机病毒的分析与防治。|武辰璐(1997- ),女,河南焦作人,南开大学硕士生,主要研究方向为二进制漏洞挖掘。|黎航(1995- ),男,湖北荆门人,南开大学硕士生,主要研究方向为自然语言处理。
  • 基金资助:
    国家自然科学基金资助项目(61972215);国家自然科学基金资助项目(61702399);国家自然科学基金资助项目(61972073);国家自然科学基金资助项目(61872202);天津市自然科学基金资助项目(17JCZDJC30500);赛尔网络下一代互联网技术创新基金资助项目(NGII20180401)

Method to improve edge coverage in fuzzing

Chunfu JIA1,Shengbo YAN1,Zhi WANG1(),Chenlu WU1,Hang LI2   

  1. 1 College of Cyber Science,Nankai University,Tianjin 300350,China
    2 College of Artificial Intelligence,Nankai University,Tianjin 300350,China
  • Revised:2019-09-13 Online:2019-11-25 Published:2019-12-06
  • Supported by:
    The National Natural Science Foundation of China(61972215);The National Natural Science Foundation of China(61702399);The National Natural Science Foundation of China(61972073);The National Natural Science Foundation of China(61872202);The Natural Science Foundation of Tianjin(17JCZDJC30500);CERNET Innovation Project(NGII20180401)

摘要:

针对 AFL 边覆盖不全、未充分利用边覆盖信息和有效字节信息的问题,提出了改进方法。首先,设计了新的种子选择算法,在一轮循环中可完全覆盖所有已发现的边;其次,按边覆盖热度对路径评分,以此调整种子的测试次数;最后,对有效字节进行更多的变异。基于上述方法实现了新的 fuzzing 工具—efuzz。实验表明, efuzz的平均边覆盖数比AFL和AFLFast分别增加了5%和9%;在LAVA-M测试集中,efuzz发现的漏洞数超过了AFL;在常用软件中,efuzz发现了3个新的CVE漏洞。所提方法可以有效提高fuzzing的边覆盖率、提升漏洞发现能力,具有实用性。

关键词: fuzzing技术, 漏洞, AFL, 边覆盖

Abstract:

Aiming at the problems of incomplete edge coverage,insufficient uses of edge coverage information and valid bytes information in AFL (American fuzz lop),a novel method was proposed.Firstly,a new seed selection algorithm was introduced,which could completely cover all edges discovered in one cycle.Secondly,the paths were scored according to the frequency of edges,to adjust the number of tests for each seed.Finally,more mutations were crafted on the valid bytes of AFL.Based on the method above,a new fuzzing tool named efuzz was implemented.Experiment results demonstrate that efuzz outperforms AFL and AFLFast in the edge coverage,with the increases of 5% and 9% respectively.In the LAVA-M dataset,efuzz found more vulnerabilities than AFL.Moreever,in real world applications efuzz has found three new security bugs with CVEs assigned.The method can effectively improve the edge coverage and vulnerability detection ability of fuzzer.

Key words: fuzzing, vulnerability, AFL, edge coverage

中图分类号: 

No Suggested Reading articles found!