Arvin: Greybox Fuzzing Using Approximate Dynamic CFG Analysis
Arvin: Greybox Fuzzing Using Approximate Dynamic CFG Analysis
复制标题
Arvin:使用近似动态 CFG 分析进行灰盒模糊测试
DOI:
10.1145/3579856.3582813
复制
发表时间:
2023
期刊:
影响因子:
--
通讯作者:
Ricci, Robert
中科院分区:
文献类型:
--
作者:
Shahini, Sirus;Zhang, Mu;Payer, Mathias;Ricci, Robert
Fuzzing has emerged as the most broadly used testing technique to discover bugs. Effective fuzzers rely on coverage to prioritize inputs that exercise new program areas. Edge-based code coverage of the Program Under Test (PUT) is the most commonly used coverage today. It is cheap to collect—a simple counter per basic block edge suffices. Unfortunately, edge coverage lacks context information: it exclusively records how many times each edge was executed but lacks the information necessary to trace actual paths of execution.Our new fuzzer Arvin gathers probabilistic full traces of PUT executions to construct Dynamic Control Flow Graphs (DCFGs). These DCFGs observe a richer set of program behaviors, such as the "depth" of execution, different paths to reach the same basic block, and targeting specific functions and paths. Prioritizing the most promising inputs based on these behaviors improves fuzzing effectiveness by increasing the diversity of explored basic blocks.Designing a DCFG-aware fuzzer raises a key challenge: collecting the required information needs complex instrumentation which results in performance overheads. Our prototype approximates DCFG and enables lightweight, asynchronous coordination between fuzzing processes, making DCFG-based fuzzing practical.By approximating DCFGs, Arvin is fast, resulting in at least an eight-fold increase in fuzzing speed. Because it effectively prioritizes inputs using methods like depth comparison and directed exclusion, which are unavailable to other fuzzers, it finds bugs missed by others. We compare its ability to find bugs using various Linux programs and discover 50 bugs, 23 of which are uniquely found by Arvin.
DOI:
--
发表时间:
2019-07
期刊:
--
影响因子:
--
作者:
Dmitry Duplyakin;R. Ricci;Aleksander Maricq;Gary Wong;Jonathon Duerig;E. Eide;L. Stoller;Mike Hibler;David Johnson;Kirk Webb;Aditya Akella;Kuang-Ching Wang;Glenn Ricart;L. Landweber;C. Elliott;M. Zink;E. Cecchet;Snigdhaswin Kar;Prabodh Mishra
通讯作者:
Dmitry Duplyakin;R. Ricci;Aleksander Maricq;Gary Wong;Jonathon Duerig;E. Eide;L. Stoller;Mike Hibler;David Johnson;Kirk Webb;Aditya Akella;Kuang-Ching Wang;Glenn Ricart;L. Landweber;C. Elliott;M. Zink;E. Cecchet;Snigdhaswin Kar;Prabodh Mishra
DOI:
10.1145/3510003.3510174
发表时间:
2022-05
期刊:
2022 IEEE/ACM 44th International Conference on Software Engineering (ICSE)
影响因子:
--
作者:
Mingyuan Wu;Ling Jiang;Jiahong Xiang;Yanwei Huang;Heming Cui;Lingming Zhang;Yuqun Zhang
通讯作者:
Mingyuan Wu;Ling Jiang;Jiahong Xiang;Yanwei Huang;Heming Cui;Lingming Zhang;Yuqun Zhang
DOI:
--
发表时间:
1980
期刊:
影响因子:
--
作者:
Horold J. Roop;南淳錫
通讯作者:
南淳錫