Enhancing Coverage-Guided Fuzzing via Phantom Program

被引:1
|
作者
Wu, Mingyuan [1 ,2 ,4 ]
Chen, Kunqiu [1 ]
Luo, Qi [1 ]
Xiang, Jiahong [1 ]
Qi, Ji [2 ]
Chen, Junjie [3 ]
Cui, Heming [2 ]
Zhang, Yuqun [1 ,4 ,5 ]
机构
[1] Southern Univ Sci & Technol, Shenzhen, Peoples R China
[2] Univ Hong Kong, Hong Kong, Peoples R China
[3] Tianjin Univ, Coll Intelligence & Comp, Tianjin, Peoples R China
[4] Res Inst Trustworthy Autonomous Syst, Shenzhen, Peoples R China
[5] Guangdong Prov Key Lab Brain inspired Intelligent, Shenzhen, Peoples R China
基金
中国国家自然科学基金;
关键词
Fuzzing; Coverage Guidance; Phantom Program;
D O I
10.1145/3611643.3616294
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
For coverage-guided fuzzers, many of their adopted seeds are usually ineffective by exploring limited program states since essentially all their executions have to abide by rigorous dependencies between program branches while only limited seeds are capable of accessing such dependencies. Moreover, even when iteratively executing such limited seeds, the fuzzers have to repeatedly access the covered program states before uncovering new states. Such facts indicate that exploration power on program states of seeds has not been sufficiently leveraged by the existing coverage-guided fuzzing strategies. To tackle these issues, we propose a coverageguided fuzzer, namely MirageFuzz, to mitigate the dependencies between program branches when executing seeds for enhancing their exploration power on program states. Specifically, MirageFuzz first creates a "phantom" program of the target program by reducing its dependencies corresponding to conditional statements while retaining their original semantics. Accordingly, MirageFuzz performs dual fuzzing, i.e., the source fuzzing to fuzz the original program and the phantom fuzzing to fuzz the phantom program simultaneously. Then, MirageFuzz generates a new seed for the source fuzzing via a taint-based mutation mechanism, i.e., updating the target conditional statement of a given seed from the source fuzzing with its corresponding condition value derived by the phantom fuzzing. To evaluate the effectiveness of MirageFuzz, we build a benchmark suite with 18 projects commonly adopted by recent fuzzing papers, and select nine open-source fuzzers as baselines for performance comparison with MirageFuzz. The experiment results suggest that MirageFuzz outperforms our baseline fuzzers from 13.42% to 77.96% averagely. Furthermore, MirageFuzz exposes 29 previously unknown bugs where 7 of them have been confirmed and 6 have been fixed by the corresponding developers.
引用
收藏
页码:1037 / 1049
页数:13
相关论文
共 50 条
  • [1] SPINALFUZZ: Coverage-Guided Fuzzing for SpinalHDL Designs
    Ruep, Katharina
    Grosse, Daniel
    [J]. 2022 IEEE EUROPEAN TEST SYMPOSIUM (ETS 2022), 2022,
  • [2] REFuzz: A Remedy for Saturation in Coverage-Guided Fuzzing
    Lyu, Qian
    Zhang, Dalin
    Da, Rihan
    Zhang, Hailong
    [J]. ELECTRONICS, 2021, 10 (16)
  • [3] Coverage-guided Fuzzing for Feedforward Neural Networks
    Xie, Xiaofei
    Chen, Hongxu
    Li, Yi
    Ma, Lei
    Liu, Yang
    Zhao, Jianjun
    [J]. 34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019), 2019, : 1162 - 1165
  • [4] RIFF: Reduced Instruction Footprint for Coverage-Guided Fuzzing
    Wang, Mingzhe
    Liang, Jie
    Zhou, Chijin
    Jiang, Yu
    Wang, Rui
    Sun, Chengnian
    Sun, Jiaguang
    [J]. PROCEEDINGS OF THE 2021 USENIX ANNUAL TECHNICAL CONFERENCE, 2021, : 147 - 159
  • [5] Detection of Hardware Trojans in SystemC HLS Designs via Coverage-guided Fuzzing
    Le, Hoang M.
    Grosse, Daniel
    Bruns, Niklas
    Drechsler, Rolf
    [J]. 2019 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2019, : 602 - 605
  • [6] TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzing
    Odena, Augustus
    Olsson, Catherine
    Andersen, David G.
    Goodfellow, Ian
    [J]. INTERNATIONAL CONFERENCE ON MACHINE LEARNING, VOL 97, 2019, 97
  • [7] Coverage-guided fuzzing for deep reinforcement learning systems
    Wan, Xiaohui
    Li, Tiancheng
    Lin, Weibin
    Cai, Yi
    Zheng, Zheng
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2024, 210
  • [8] Tardis: Coverage-Guided Embedded Operating System Fuzzing
    Shen, Yuheng
    Xu, Yiru
    Sun, Hao
    Liu, Jianzhong
    Xu, Zichen
    Cui, Aiguo
    Shi, Heyuan
    Jiang, Yu
    [J]. IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2022, 41 (11) : 4563 - 4574
  • [9] CoCoFuzzing: Testing Neural Code Models With Coverage-Guided Fuzzing
    Wei, Moshi
    Huang, Yuchao
    Yang, Jinqiu
    Wang, Junjie
    Wang, Song
    [J]. IEEE TRANSACTIONS ON RELIABILITY, 2023, 72 (03) : 1276 - 1289
  • [10] Verifying Instruction Set Simulators using Coverage-guided Fuzzing
    Herdt, Vladimir
    Grosse, Daniel
    Le, Hoang M.
    Drechsler, Rolf
    [J]. 2019 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2019, : 360 - 365