JITfuzz: Coverage-guided Fuzzing for JVM Just-in-Time Compilers

被引:4
|
作者
Wu, Mingyuan [1 ,2 ]
Lu, Minghai [1 ]
Cui, Heming [2 ]
Chen, Junjie [3 ]
Zhang, Yuqun [1 ]
Zhang, Lingming [4 ]
机构
[1] Southern Univ Sci & Technol, Shenzhen, Peoples R China
[2] Univ Hong Kong, Hong Kong, Peoples R China
[3] Tianjin Univ, Tianjin, Peoples R China
[4] Univ Illinois, Champaign, IL USA
基金
中国国家自然科学基金; 美国国家科学基金会;
关键词
D O I
10.1109/ICSE48619.2023.00017
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
As a widely-used platform to support various Java-bytecode-based applications, Java Virtual Machine (JVM) incurs severe performance loss caused by its real-time program interpretation mechanism. To tackle this issue, the Just-in-Time compiler (JIT) has been widely adopted to strengthen the efficacy of JVM. Therefore, how to effectively and efficiently detect JIT bugs becomes critical to ensure the correctness of JVM. In this paper, we propose a coverage-guided fuzzing framework, namely JITfuzz, to automatically detect JIT bugs. In particular, JITfuzz adopts a set of optimization-activating mutators to trigger the usage of typical JIT optimizations, e.g., function inlining and simplification. Meanwhile, given JIT optimizations are closely coupled with program control flows, JITfuzz also adopts mutators to enrich the control flows of target programs. Moreover, JITfuzz also proposes a mutator scheduler which iteratively schedules mutators according to the coverage updates to maximize the code coverage of JIT. To evaluate the effectiveness of JITfuzz, we conduct a set of experiments based on a benchmark suite with 16 popular JVM-based projects from GitHub. The experimental results suggest that JITfuzz outperforms the state-of-the-art mutation-based and generation-based JVM fuzzers by 27.9% and 18.6% respectively in terms of edge coverage on average. Furthermore, JITfuzz also successfully detects 36 previously unknown bugs (including 23 JIT bugs) and 27 bugs (including 18 JIT bugs) have been confirmed by the developers.
引用
下载
收藏
页码:56 / 68
页数:13
相关论文
共 50 条
  • [31] Alphuzz: Monte Carlo Search on Seed-Mutation Tree for Coverage-Guided Fuzzing
    Zhao, Yiru
    Wang, Xiaoke
    Zhao, Lei
    Cheng, Yueqiang
    Yin, Heng
    PROCEEDINGS OF THE 38TH ANNUAL COMPUTER SECURITY APPLICATIONS CONFERENCE, ACSAC 2022, 2022, : 534 - 547
  • [32] CatchFuzz: Reliable active anti-fuzzing techniques against coverage-guided fuzzer
    Kim, Hee Yeon
    Lee, Dong Hoon
    COMPUTERS & SECURITY, 2024, 143
  • [33] Fw-fuzz: A code coverage-guided fuzzing framework for network protocols on firmware
    Gao, Zicong
    Dong, Weiyu
    Chang, Rui
    Wang, Yisen
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2022, 34 (16):
  • [34] NDFuzz: a non-intrusive coverage-guided fuzzing framework for virtualized network devices
    Yu Zhang
    Nanyu Zhong
    Wei You
    Yanyan Zou
    Kunpeng Jian
    Jiahuan Xu
    Jian Sun
    Baoxu Liu
    Wei Huo
    Cybersecurity, 5
  • [35] Same Coverage, Less Bloat: Accelerating Binary-only Fuzzing with Coverage-preserving Coverage-guided Tracing
    Nagy, Stefan
    Anh Nguyen-Tuong
    Hiser, Jason D.
    Davidson, Jack W.
    Hicks, Matthew
    CCS '21: PROCEEDINGS OF THE 2021 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2021, : 351 - 365
  • [36] MalFuzz: Coverage-guided fuzzing on deep learning-based malware classification model
    Liu, Yuying
    Yang, Pin
    Jia, Peng
    He, Ziheng
    Luo, Hairu
    PLOS ONE, 2022, 17 (09):
  • [37] Fuzzing JavaScript Interpreters with Coverage-Guided Reinforcement Learning for LLM-Based Mutation
    Eom, Jueon
    Jeong, Seyeon
    Kwon, Taekyoung
    ISSTA 2024 - Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis, : 1656 - 1668
  • [38] CGFuzzer: A Fuzzing Approach Based on Coverage-Guided Generative Adversarial Networks for Industrial IoT Protocols
    Yu, Zhenhua
    Wang, Haolu
    Wang, Dan
    Li, Zhiwu
    Song, Houbing
    IEEE INTERNET OF THINGS JOURNAL, 2022, 9 (21) : 21607 - 21619
  • [39] ARM-AFL: Coverage-Guided Fuzzing Framework for ARM-Based IoT Devices
    Fan, Rong
    Pan, Jianfeng
    Huang, Shaomang
    APPLIED CRYPTOGRAPHY AND NETWORK SECURITY WORKSHOPS, ACNS 2020, 2020, 12418 : 239 - 254
  • [40] CAGFuzz: Coverage-Guided Adversarial Generative Fuzzing Testing for Image-Based Deep Learning Systems
    Zhang, Pengcheng
    Ren, Bin
    Dong, Hai
    Dai, Qiyin
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (11) : 4630 - 4646