约束引导混合模糊测试

Junhao Li, Yujian Zhang
{"title":"约束引导混合模糊测试","authors":"Junhao Li, Yujian Zhang","doi":"10.1109/COMPSAC57700.2023.00086","DOIUrl":null,"url":null,"abstract":"Hybrid fuzzing combines fuzzing and concolic execution which leverages the high-throughput feature of fuzzing to explore easy-to-reach code, and the powerful constraint solving capability of concolic execution to explore code wrapped in complex constraints. Based on our observations, existing hybrid fuzzers are still not efficient for the following two reasons. First, fuzzing often gets stuck in deep paths leading to the delayed discovery of vulnerabilities. Second, coarse-grained interaction strategies cannot effectively launch concolic execution. To solve the above problems, we propose a constraint-guided hybrid fuzzing approach (CGHF) that leverages the constraints’ static analysis information and dynamic execution information. CGHF contains two main techniques: an evolutionary algorithm based on path exploration difficulty and an interaction strategy guided by the execution state of constraints. Specifically, in the fuzzing phase, we evaluate the path exploration difficulty and guide the fuzzer to explore in the order of difficulty from low to high. In addition, we design a coordinator to monitor the constraints’ dynamic execution information and select the most deserving constraints to be solved for the concolic execution. We implement a prototype called SILK and compare its effectiveness on eight open source programs with other state-of-the-art fuzzers. The results show that SILK improved path coverage by 10%-45% and branch coverage by 5%-10% compared with other fuzzers.","PeriodicalId":296288,"journal":{"name":"2023 IEEE 47th Annual Computers, Software, and Applications Conference (COMPSAC)","volume":"27 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"SILK: Constraint-guided Hybrid Fuzzing\",\"authors\":\"Junhao Li, Yujian Zhang\",\"doi\":\"10.1109/COMPSAC57700.2023.00086\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Hybrid fuzzing combines fuzzing and concolic execution which leverages the high-throughput feature of fuzzing to explore easy-to-reach code, and the powerful constraint solving capability of concolic execution to explore code wrapped in complex constraints. Based on our observations, existing hybrid fuzzers are still not efficient for the following two reasons. First, fuzzing often gets stuck in deep paths leading to the delayed discovery of vulnerabilities. Second, coarse-grained interaction strategies cannot effectively launch concolic execution. To solve the above problems, we propose a constraint-guided hybrid fuzzing approach (CGHF) that leverages the constraints’ static analysis information and dynamic execution information. CGHF contains two main techniques: an evolutionary algorithm based on path exploration difficulty and an interaction strategy guided by the execution state of constraints. Specifically, in the fuzzing phase, we evaluate the path exploration difficulty and guide the fuzzer to explore in the order of difficulty from low to high. In addition, we design a coordinator to monitor the constraints’ dynamic execution information and select the most deserving constraints to be solved for the concolic execution. We implement a prototype called SILK and compare its effectiveness on eight open source programs with other state-of-the-art fuzzers. The results show that SILK improved path coverage by 10%-45% and branch coverage by 5%-10% compared with other fuzzers.\",\"PeriodicalId\":296288,\"journal\":{\"name\":\"2023 IEEE 47th Annual Computers, Software, and Applications Conference (COMPSAC)\",\"volume\":\"27 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-06-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2023 IEEE 47th Annual Computers, Software, and Applications Conference (COMPSAC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/COMPSAC57700.2023.00086\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE 47th Annual Computers, Software, and Applications Conference (COMPSAC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/COMPSAC57700.2023.00086","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

混合模糊测试结合了模糊测试和协同执行,利用了模糊测试的高吞吐量特性来探索易于到达的代码,而协同执行的强大约束求解能力来探索包裹在复杂约束中的代码。根据我们的观察,由于以下两个原因,现有的混合模糊器仍然效率不高。首先,模糊测试经常陷入深度路径,导致漏洞的发现延迟。其次,粗粒度交互策略不能有效地启动集合执行。为了解决上述问题,我们提出了一种约束引导混合模糊方法(CGHF),该方法利用约束的静态分析信息和动态执行信息。CGHF包含两种主要技术:基于路径探索难度的进化算法和基于约束执行状态的交互策略。具体来说,在模糊阶段,我们对路径探索难度进行评估,引导模糊器按照难度由低到高的顺序进行探索。此外,我们设计了一个协调器来监控约束的动态执行信息,并选择最值得求解的约束进行集合执行。我们实现了一个名为SILK的原型,并将其在8个开源程序中的有效性与其他最先进的fuzzers进行了比较。结果表明,与其他模糊器相比,SILK将路径覆盖率提高了10% ~ 45%,分支覆盖率提高了5% ~ 10%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
SILK: Constraint-guided Hybrid Fuzzing
Hybrid fuzzing combines fuzzing and concolic execution which leverages the high-throughput feature of fuzzing to explore easy-to-reach code, and the powerful constraint solving capability of concolic execution to explore code wrapped in complex constraints. Based on our observations, existing hybrid fuzzers are still not efficient for the following two reasons. First, fuzzing often gets stuck in deep paths leading to the delayed discovery of vulnerabilities. Second, coarse-grained interaction strategies cannot effectively launch concolic execution. To solve the above problems, we propose a constraint-guided hybrid fuzzing approach (CGHF) that leverages the constraints’ static analysis information and dynamic execution information. CGHF contains two main techniques: an evolutionary algorithm based on path exploration difficulty and an interaction strategy guided by the execution state of constraints. Specifically, in the fuzzing phase, we evaluate the path exploration difficulty and guide the fuzzer to explore in the order of difficulty from low to high. In addition, we design a coordinator to monitor the constraints’ dynamic execution information and select the most deserving constraints to be solved for the concolic execution. We implement a prototype called SILK and compare its effectiveness on eight open source programs with other state-of-the-art fuzzers. The results show that SILK improved path coverage by 10%-45% and branch coverage by 5%-10% compared with other fuzzers.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信