Towards Smart Contract Fuzzing on GPUs

被引:0
|
作者
Chen, Weimin [1 ]
Luo, Xiapu [1 ]
Cai, Haipeng [2 ]
Wang, Haoyu [3 ]
机构
[1] Hong Kong Polytech Univ, Hong Kong, Peoples R China
[2] Washington State Univ, Pullman, WA 99164 USA
[3] Huazhong Univ Sci & Technol, Wuhan, Hubei, Peoples R China
基金
国家重点研发计划;
关键词
D O I
10.1109/SP54263.2024.00229
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Fuzzing is one of the major techniques for uncovering vulnerabilities in smart contracts. The effectiveness of fuzzing is significantly affected by its throughput but unfortunately existing fuzzers for smart contracts have low throughput due to the slow execution of EVM, the delay introduced by the consensus protocols, the limited parallelization capability of CPUs, and the overhead caused by the instrumented EVM. To tackle this critical issue, in this paper, we take the first step to leverage GPU's parallel computing power to boost the throughput of smart contract fuzzing. More precisely, by converting the fuzzing workload to a SIMD task, we can activate thousands of GPU cores to test the smart contract simultaneously. To achieve this purpose, we design new solutions to address three major challenges, namely developing incremental storage to reduce GPU memory cost, proposing a stateful bitmap to embed transaction dependency to the feedback metric, and designing a parallel feedback algorithm to rule out undesired seeds that cause redundant overlaps. We implement a prototype named MAU, which first transforms the bytecode of a smart contract to a SIMD application in PTX assembly and then runs it parallelly on the GPU. We evaluate MAU using both a large and small benchmark. The experimental results demonstrate that the throughput of MAU reaches 162.37K execs/sec and 328.06K execs/sec, which leads to an 8.69-15.38X improvement to the state-of-the-art tool. Moreover, the high throughput empowers MAU to detect 1.01-2.50X more bugs and obtain 1.03-4.71X more code coverage than baselines.
引用
收藏
页码:2255 / 2272
页数:18
相关论文
共 50 条
  • [1] Correctness Detection of Smart Contract Based on Fuzzing
    Wang, Jiacheng
    Jiang, Jiajia
    Zhao, Jiahao
    Zhang, Yushu
    Wang, Liangmin
    Computer Engineering and Applications, 2024, 60 (05) : 307 - 320
  • [2] A Guided Mutation Strategy for Smart Contract Fuzzing
    Ji, Songyan
    Dong, Jian
    Wu, Jin
    Lu, Lishi
    2023 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION, ICSME, 2023, : 282 - 292
  • [3] Rethinking Smart Contract Fuzzing: Fuzzing With Invocation Ordering and Important Branch Revisiting
    Liu, Zhenguang
    Qian, Peng
    Yang, Jiaxu
    Liu, Lingfeng
    Xu, Xiaojun
    He, Qinming
    Zhang, Xiaosong
    IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, 2023, 18 : 1237 - 1251
  • [4] CrossFuzz: Cross-contract fuzzing for smart contract vulnerability detection
    Yang, Huiwen
    Gu, Xiguo
    Chen, Xiang
    Zheng, Liwei
    Cui, Zhanqi
    SCIENCE OF COMPUTER PROGRAMMING, 2024, 234
  • [5] An Expert Knowledge Generation Model in Smart Contract Vulnerability Fuzzing
    Li, Xing
    2023 IEEE 9TH INTL CONFERENCE ON BIG DATA SECURITY ON CLOUD, BIGDATASECURITY, IEEE INTL CONFERENCE ON HIGH PERFORMANCE AND SMART COMPUTING, HPSC AND IEEE INTL CONFERENCE ON INTELLIGENT DATA AND SECURITY, IDS, 2023, : 51 - 56
  • [6] TokenAuditor: Detecting Manipulation Risk in Token Smart Contract by Fuzzing
    Cao, Mingpei
    Zhang, Yueze
    Feng, Zhenxuan
    Hu, Jiahao
    Zhu, Yuesheng
    2022 IEEE 22ND INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY, QRS, 2022, : 651 - 662
  • [7] echidna-parade: A Tool for Diverse Multicore Smart Contract Fuzzing
    Groce, Alex
    Grieco, Gustavo
    ISSTA '21: PROCEEDINGS OF THE 30TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2021, : 658 - 661
  • [8] EF(sic)CF: High Performance Smart Contract Fuzzing for Exploit Generation
    Rodler, Michael
    Paassen, David
    Li, Wenting
    Bernhard, Lukas
    Holz, Thorsten
    Karame, Ghassan
    Davi, Lucas
    2023 IEEE 8TH EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY, EUROS&P, 2023, : 449 - 471
  • [9] MagicMirror: Towards High-Coverage Fuzzing of Smart Contracts
    Feng, Huadong
    Ren, Xiaolei
    Wei, Qiping
    Lei, Yu
    Kacker, Raghu
    Kuhn, D. Richard
    Simos, Dimitirs E.
    2023 IEEE CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION, ICST, 2023, : 141 - 152
  • [10] sFuzz2.0: Storage-access pattern guided smart contract fuzzing
    Wang, Haoyu
    Wang, Zan
    Liu, Shuang
    Sun, Jun
    Zhao, Yingquan
    Wan, Yan
    Nguyen, Tai D.
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2024, 36 (04)