主页期刊介绍编委会编辑部服务介绍道德声明在线审稿编委办公编辑办公English
2018-2019年专刊出版计划 微信服务介绍 最新一期:2018年第12期
     
在线出版
各期目录
纸质出版
分辑系列
论文检索
论文排行
综述文章
专刊文章
美文分享
各期封面
E-mail Alerts
RSS
旧版入口
中国科学院软件研究所
  
投稿指南 问题解答 下载区 收费标准 在线投稿
杨梅芳,霍玮,邹燕燕,尹嘉伟,刘宝旭,龚晓锐,贾晓启,邹维.可编程模糊测试技术.软件学报,2018,29(5):1258-1274
可编程模糊测试技术
Programmable Fuzzing Technology
投稿时间:2017-07-01  修订日期:2017-08-29
DOI:10.13328/j.cnki.jos.005499
中文关键词:  模糊测试  漏洞挖掘  可编程  制导程序  抽象语法树
英文关键词:fuzzing  vulnerability discovery  programmable  directive program  abstract syntax tree
基金项目:中国科学院网络测评技术重点实验室资助项目;网络安全防护技术北京市重点实验室资助项目;中国科学院重点实验室基金(CXJJ-17S049);国家重点研发计划(2016QY071405)
作者单位E-mail
杨梅芳 中国科学院 信息工程研究所, 北京 100195
中国科学院 网络测评技术重点实验室(中国科学院 信息工程研究所), 北京 100195
网络安全防护技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100195
中国科学院大学 网络空间安全学院, 北京 100049 
 
霍玮 中国科学院 信息工程研究所, 北京 100195
中国科学院 网络测评技术重点实验室(中国科学院 信息工程研究所), 北京 100195
网络安全防护技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100195
中国科学院大学 网络空间安全学院, 北京 100049 
 
邹燕燕 中国科学院 信息工程研究所, 北京 100195
中国科学院 网络测评技术重点实验室(中国科学院 信息工程研究所), 北京 100195
网络安全防护技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100195
中国科学院大学 网络空间安全学院, 北京 100049 
zouyanyan@iie.ac.cn 
尹嘉伟 中国科学院 信息工程研究所, 北京 100195
中国科学院 网络测评技术重点实验室(中国科学院 信息工程研究所), 北京 100195
网络安全防护技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100195
中国科学院大学 网络空间安全学院, 北京 100049 
 
刘宝旭 中国科学院 信息工程研究所, 北京 100195
中国科学院 网络测评技术重点实验室(中国科学院 信息工程研究所), 北京 100195
网络安全防护技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100195
中国科学院大学 网络空间安全学院, 北京 100049 
 
龚晓锐 中国科学院 信息工程研究所, 北京 100195
中国科学院 网络测评技术重点实验室(中国科学院 信息工程研究所), 北京 100195
网络安全防护技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100195
中国科学院大学 网络空间安全学院, 北京 100049 
 
贾晓启 中国科学院 信息工程研究所, 北京 100195
中国科学院 网络测评技术重点实验室(中国科学院 信息工程研究所), 北京 100195
网络安全防护技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100195
中国科学院大学 网络空间安全学院, 北京 100049 
 
邹维 中国科学院 信息工程研究所, 北京 100195
中国科学院 网络测评技术重点实验室(中国科学院 信息工程研究所), 北京 100195
网络安全防护技术北京市重点实验室(中国科学院 信息工程研究所), 北京 100195
中国科学院大学 网络空间安全学院, 北京 100049 
 
摘要点击次数: 957
全文下载次数: 1338
中文摘要:
      模糊测试是一种有效的漏洞挖掘技术.为了改善模糊测试因盲目变异而导致的效率低下的问题,需要围绕输入特征、变异策略、种子样本筛选、异常样本发现与分析等方面不断定制模糊测试器,从而花费了大量的定制成本.针对通用型模糊测试器(即支持多类输入格式及目标软件的模糊测试器)的低成本定制和高可扩展性需求,提出了一种可编程模糊测试框架,基于该框架,漏洞挖掘人员仅需编写模糊测试制导程序即可完成定制化模糊测试,在不降低模糊测试效果的基础上,可大幅提高模糊测试器开发效率.该框架包含一组涉及变异、监控、反馈等环节的模糊测试原语,作为制导程序的基本语句;还包含一套编程规范(FDS)及FDS解析器,支持制导程序的编写、解析和模糊测试器的生成.基于实现的可编程模糊测试框架原型Puzzer,在26个模糊测试原语的支持下,漏洞挖掘人员平均编写54行代码即可实现当前主流的5款万级代码模糊测试器的核心功能,并可覆盖总计87.8%的基本操作.基于Puzzer实现的AFL等价模糊测试器,仅用51行代码即可达到与AFL相当的模糊测试效果,具有良好的有效性.
英文摘要:
      Fuzzing is an effective vulnerability discovery technology.In order to solve the inefficiency problem caused by blind mutation in fuzzing,safety engineers need to customize fuzzer from all aspects,such as input characteristics,mutation method,seed samples screening,abnormal samples found and analysis,which will result in huge expenditure.To meet the need of low cost customization and high scalability of the universal fuzzer (i.e.fuzzer that supports multi-type input formats and softwares),this paper first proposes a programmable fuzzing framework.Based on the framework,the only thing safety engineers need to do is writing directive programs when they want to customize fuzzing.It can sharply improve the efficiency of developing fuzzer without reducing effectiveness of fuzzing.The framework contains a set of fuzzing primitives,fuzzing directive specification (FDS) and FDS parser.Fuzzing primitives which involve mutation,monitoring and guiding are basic statements of directive program.FDS and FDS parser can support writing and parsing directive programs,as well as generating fuzzers.Based on the implementation of a prototype framework called Puzzer,safety engineers can accomplish core functions and cover 87.8% of total basic operations of five mainstream fuzzers with only about 54 lines of code.A fuzzer which has equivalent function of AFL can be accomplished using Puzzer to achieve the same effectiveness with only 51 lines of code.
HTML  下载PDF全文  查看/发表评论  下载PDF阅读器
 

京公网安备 11040202500064号

主办单位:中国科学院软件研究所 中国计算机学会
编辑部电话:+86-10-62562563 E-mail: jos@iscas.ac.cn
Copyright 中国科学院软件研究所《软件学报》版权所有 All Rights Reserved
本刊全文数据库版权所有,未经许可,不得转载,本刊保留追究法律责任的权利