Author
Listed:
- Xiaoqi Zhao
(School of Information and Control Engineering, Qingdao University of Technology, Qingdao 266520, China
Key Laboratory of Symbolic Computation and Knowledge Engineering of Ministry of Education, Jilin University, Changchun 130012, China)
- Haipeng Qu
(School of Computer Science and Technology, Ocean University of China, Qingdao 266100, China)
- Jiaohong Yi
(School of Information and Control Engineering, Qingdao University of Technology, Qingdao 266520, China)
- Jinlong Wang
(School of Information and Control Engineering, Qingdao University of Technology, Qingdao 266520, China)
- Miaoqing Tian
(School of Information and Control Engineering, Qingdao University of Technology, Qingdao 266520, China)
- Feng Zhao
(Shandong Zhuowen Information Technology Co., Dongying 257300, China)
Abstract
Fuzzing is an extensively used automated vulnerability detection technique. Most existing fuzzers are guided by edge coverage, which makes them less effective in detecting specific vulnerabilities, especially use-after-free (UAF) vulnerabilities. This is because the triggering of a UAF vulnerability must not only cover a specific memory operation but also satisfy a specific sequence of operations. In this paper, we propose UAF-Fuzzer for detecting UAFs, which consists of static analysis and fuzzing stages. In the static analysis stage, UAF-Fuzzer first uses target identification to determine the basic blocks that may cause UAFs as the target basic blocks; subsequently, it then instruments these target basic blocks. Subsequently, we propose a memory operation evaluation method to assess the complexity of memory operations. In the fuzzing stage, UAF-Fuzzer assigns energy to seeds using a memory evaluation operation and employs a novel seed selection algorithm to prioritize the execution of test cases that are likely to trigger UAF vulnerabilities. We designed and implemented a UAF-Fuzzer to improve the detection of UAFs and compared it with AFL, AFLFast, FairFuzz, MOPT, EcoFuzz, and TortoiseFuzz in terms of UAF vulnerability detection, crash detection, and path discovery. The results showed that UAF-Fuzzer is more effective in terms of detecting UAF vulnerabilities. We have also discovered three UAF vulnerabilities, submitted them to the software maintainer for fixing, and obtained CVE IDs.
Suggested Citation
Xiaoqi Zhao & Haipeng Qu & Jiaohong Yi & Jinlong Wang & Miaoqing Tian & Feng Zhao, 2024.
"A Fuzzer for Detecting Use-After-Free Vulnerabilities,"
Mathematics, MDPI, vol. 12(21), pages 1-21, November.
Handle:
RePEc:gam:jmathe:v:12:y:2024:i:21:p:3431-:d:1512477
Download full text from publisher
Corrections
All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:gam:jmathe:v:12:y:2024:i:21:p:3431-:d:1512477. See general information about how to correct material in RePEc.
If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.
We have no bibliographic references for this item. You can help adding them by using this form .
If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.
For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: MDPI Indexing Manager (email available below). General contact details of provider: https://www.mdpi.com .
Please note that corrections may take a couple of weeks to filter through
the various RePEc services.