PCFuzzing: A penetration combinatorial fuzzing framework by simulating attack trace

Jian Yang, Huanguo Zhang, Jianming Fu, Fan Yang
{"title":"PCFuzzing: A penetration combinatorial fuzzing framework by simulating attack trace","authors":"Jian Yang, Huanguo Zhang, Jianming Fu, Fan Yang","doi":"10.1109/ICCIAUTOM.2011.6184020","DOIUrl":null,"url":null,"abstract":"In essence, fuzzing is a kind of penetration testing by injecting fault to simulate the attacks. However, current fuzzings do not simulate the attacks in a real sense. They pay more attention to the injection of malformed semi-valid data at a single input point. Nevertheless, an attack is usually a set of cooperative aggressive behaviors at multi input points. In this paper, we present PCFuzzing, a penetration combinatorial fuzzing framework for the software in host environment by simulating attack trace at multi input points. Based on the attack attributes plug-in gained by means of static analysis in advance, PCFuzzing uses dynamic taint tracing to automatically find the input vector that influence values used at key program attack points (points where the program may contain an error), uses symbolic execution and constraint solving to identify the constraint boundary of every input in input vector and constraint relationship of the inputs in input vector, uses combinatorial testing strategies to generate and combine the malformed test case vector, and then injects the combinatorial test case vector to find security vulnerabilities in programs according to the attack strategies in the attack attributes plug-in. Our experimental results indicate that our PCFuzzing can not only effectively expose errors located deep within large applications, but also can avoid the combination explosion to a certain extent because taint tracer in framework uses dynamic taint tracing to reduce the number of inputs involved in the combination and constraint collector in framework uses symbolic execution and constraint solving to narrow the value ranges of input data.","PeriodicalId":177039,"journal":{"name":"2011 2nd International Conference on Control, Instrumentation and Automation (ICCIA)","volume":"196 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 2nd International Conference on Control, Instrumentation and Automation (ICCIA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICCIAUTOM.2011.6184020","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

In essence, fuzzing is a kind of penetration testing by injecting fault to simulate the attacks. However, current fuzzings do not simulate the attacks in a real sense. They pay more attention to the injection of malformed semi-valid data at a single input point. Nevertheless, an attack is usually a set of cooperative aggressive behaviors at multi input points. In this paper, we present PCFuzzing, a penetration combinatorial fuzzing framework for the software in host environment by simulating attack trace at multi input points. Based on the attack attributes plug-in gained by means of static analysis in advance, PCFuzzing uses dynamic taint tracing to automatically find the input vector that influence values used at key program attack points (points where the program may contain an error), uses symbolic execution and constraint solving to identify the constraint boundary of every input in input vector and constraint relationship of the inputs in input vector, uses combinatorial testing strategies to generate and combine the malformed test case vector, and then injects the combinatorial test case vector to find security vulnerabilities in programs according to the attack strategies in the attack attributes plug-in. Our experimental results indicate that our PCFuzzing can not only effectively expose errors located deep within large applications, but also can avoid the combination explosion to a certain extent because taint tracer in framework uses dynamic taint tracing to reduce the number of inputs involved in the combination and constraint collector in framework uses symbolic execution and constraint solving to narrow the value ranges of input data.
PCFuzzing:一种模拟攻击轨迹的渗透组合模糊测试框架
从本质上讲,模糊测试是一种通过注入故障来模拟攻击的渗透测试。然而,目前的模糊测试并不能模拟真正意义上的攻击。它们更注重在单个输入点注入畸形的半有效数据。然而,攻击通常是一组多输入点的合作攻击行为。本文通过模拟多输入点的攻击轨迹,提出了一种针对主机环境下软件的渗透组合模糊测试框架PCFuzzing。PCFuzzing基于事先通过静态分析获得的攻击属性插件,采用动态污点跟踪的方法自动查找影响值在程序关键攻击点(程序可能包含错误的点)所使用的输入向量,采用符号执行和约束求解的方法识别输入向量中每个输入的约束边界和输入向量中输入的约束关系;使用组合测试策略生成并组合畸形测试用例向量,然后根据攻击属性插件中的攻击策略注入组合测试用例向量来发现程序中的安全漏洞。我们的实验结果表明,我们的PCFuzzing不仅可以有效地暴露大型应用程序中深层的错误,而且可以在一定程度上避免组合爆炸,因为框架中的污点跟踪器使用动态污点跟踪来减少组合中涉及的输入数量,框架中的约束收集器使用符号执行和约束求解来缩小输入数据的值范围。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信