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 条
  • [41] Smart Payment Contract Mechanism Based on Blockchain Smart Contract Mechanism
    Ge, Xianyun
    SCIENTIFIC PROGRAMMING, 2021, 2021
  • [42] Towards SDN-based smart contract solution for IoT access control
    Khalid, Mizna
    Hameed, Sufian
    Qadir, Abdul
    Shah, Syed Attique
    Draheim, Dirk
    COMPUTER COMMUNICATIONS, 2023, 198 : 1 - 31
  • [43] Towards Effective Guidance of Smart Contract Fuzz Testing Based on Static Analysis
    Park, Jeongwon
    Choi, Jaeseung
    ELECTRONICS, 2025, 14 (04):
  • [44] A Blacklisting Smart Contract
    Kruger, Byron
    Leung, Wai Sze
    BUSINESS INFORMATION SYSTEMS WORKSHOPS (BIS 2020), 2020, 394 : 120 - 131
  • [45] Smart Contract Engineering
    Hu, Kai
    Zhu, Jian
    Ding, Yi
    Bai, Xiaomin
    Huang, Jiehua
    ELECTRONICS, 2020, 9 (12) : 1 - 26
  • [46] Smart Contract Repair
    Yu, Xiao Liang
    Al-Bataineh, Omar
    Lo, David
    Roychoudhury, Abhik
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2020, 29 (04)
  • [47] Smart Contract Microservitization
    Wang, Siyuan
    Zhang, Xuehan
    Yu, Wei
    Hu, Kai
    Zhu, Jian
    2020 IEEE 44TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE (COMPSAC 2020), 2020, : 1569 - 1574
  • [48] Smart contract tontines
    Abou Daya, Mohamad Hassan
    Bernard, Carole
    APPLIED ECONOMICS, 2024,
  • [49] Towards Better Semantics Exploration for Browser Fuzzing
    Zhou, Chijin
    Zhang, Quan
    Guo, Lihua
    Wang, Mingzhe
    Jiang, Yu
    Liao, Qing
    Wu, Zhiyong
    Li, Shanshan
    Gu, Bin
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (OOPSLA):
  • [50] Simulation-Based Fuzzing for Smart IoT Devices
    Zhang, Fanglei
    Cui, Baojiang
    Chen, Chen
    Sun, Yiqi
    Gong, Kairui
    Ma, Jinxin
    INNOVATIVE MOBILE AND INTERNET SERVICES IN UBIQUITOUS COMPUTING, IMIS 2021, 2022, 279 : 304 - 313