Graphuzz: Data-driven Seed Scheduling for Coverage-guided Greybox Fuzzing

被引:0
|
作者
Xu, Hang [1 ]
Chen, Liheng [2 ]
Gan, Shuitao [3 ]
Zhang, Chao [3 ]
Li, Zheming [3 ]
Ji, Jiangan [4 ]
Chen, Baojian [2 ]
Hu, Fan [1 ]
机构
[1] Minist Educ, Key Lab Cyberspace Secur, Zhengzhou, Henan, Peoples R China
[2] Univ Chinese Acad Sci, Beijing, Peoples R China
[3] Tsinghua Univ, Beijing, Peoples R China
[4] Informat Engn Univ, Zhengzhou, Peoples R China
关键词
Fuzzing; seed scheduling; graph neural network;
D O I
10.1145/3664603
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Seed scheduling is a critical step of greybox fuzzing, which assigns different weights to seed test cases during seed selection, and significantly impacts the efficiency of fuzzing. Existing seed scheduling strategies rely on manually designed models to estimate the potentials of seeds and determine their weights, which fails to capture the rich information of a seed and its execution and thus the estimation of seeds' potentials is not optimal. In this article, we introduce a new seed scheduling solution, Graphuzz, for coverage-guided greybox fuzzing, which utilizes deep learning models to estimate the potentials of seeds and works in a data-driven way. Specifically, we propose an extended control flow graph called e-CFG to represent the control-flow and data-flow features of a seed's execution, which is suitable for graph neural networks (GNN) to process and estimate seeds' potential. We evaluate each seed's code coverage increment and use it as the label to train the GNN model. Further, we propose a self-attention mechanism to enhance the GNN model so that it can capture overlooked features. We have implemented a prototype of Graphuzz based on the baseline fuzzer AFLplusplus. The evaluation results show that our model can estimate the potential of seeds and has the robust capability to generalize to different targets. Furthermore, the evaluation using 12 benchmarks from FuzzBench shows that Graphuzz outperforms AFLplusplus and the state-of-the-art seed scheduling solution K-Scheduler and other coverage-guided fuzzers in terms of code coverage, and the evaluation using 8 benchmarks from Magma shows that Graphuzz outperforms the baseline fuzzer AFLplusplus and SOTA solutions in terms of bug detection.
引用
收藏
页数:36
相关论文
共 50 条
  • [21] Industry Practice of Coverage-Guided Enterprise Linux Kernel Fuzzing
    Shi, Heyuan
    Wang, Runzhe
    Fu, Ying
    Wang, Mingzhe
    Shi, Xiaohai
    Jiao, Xun
    Song, Houbing
    Jiang, Yu
    Sun, Jiaguang
    ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, : 986 - 995
  • [22] Reinforcement Learning-based Hierarchical Seed Scheduling for Greybox Fuzzing
    Wang, Jinghan
    Song, Chengyu
    Yin, Heng
    28TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2021), 2021,
  • [23] Coverage-guided Learning-assisted Grammar-based Fuzzing
    Jitsunari, Yuma
    Arahori, Yoshitaka
    2019 IEEE 12TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW 2019), 2019, : 275 - 280
  • [24] CoLaFUZE: Coverage-Guided and Layout-Aware Fuzzing for Android Drivers
    Mu, Tianshi
    Zhang, Huabing
    Wang, Jian
    Li, Huijuan
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2021, E104D (11): : 1902 - 1912
  • [25] CoLaFUZE: Coverage-guided and layout-aware fuzzing for android drivers
    Tianshi M.U.
    Zhang H.
    Wang J.
    Huijuan L.I.
    IEICE Transactions on Information and Systems, 2021, 104 (11) : 1902 - 1912
  • [26] Data Coverage for Guided Fuzzing
    Wang, Mingzhe
    Liang, Jie
    Zhou, Chijin
    Wu, Zhiyong
    Fu, Jingzhou
    Su, Zhuo
    Liao, Qing
    Gu, Bin
    Wu, Bodong
    Jiang, Yu
    PROCEEDINGS OF THE 33RD USENIX SECURITY SYMPOSIUM, SECURITY 2024, 2024, : 2511 - 2526
  • [27] JITfuzz: Coverage-guided Fuzzing for JVM Just-in-Time Compilers
    Wu, Mingyuan
    Lu, Minghai
    Cui, Heming
    Chen, Junjie
    Zhang, Yuqun
    Zhang, Lingming
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE, 2023, : 56 - 68
  • [28] StFuzzer: Contribution-Aware Coverage-Guided Fuzzing for Smart Devices
    Yang, Jiageng
    Zhang, Xinguo
    Lu, Hui
    Shafiq, Muhammad
    Tian, Zhihong
    SECURITY AND COMMUNICATION NETWORKS, 2021, 2021
  • [29] Industry Practice of Coverage-Guided Enterprise-Level DBMS Fuzzing
    Wang, Mingzhe
    Wu, Zhiyong
    Xu, Xinyi
    Liang, Jie
    Zhou, Chijin
    Zhang, Huafeng
    Jiang, Yu
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE (ICSE-SEIP 2021), 2021, : 328 - 337
  • [30] Coverage-Guided Tensor Compiler Fuzzing with Joint IR-Pass Mutation
    Liu, Jiawei
    Wei, Yuxiang
    Yang, Sen
    Deng, Yinlin
    Zhang, Lingming
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (OOPSLA):