Fuzzer for EVM Based on Hierarchical Variation of Transaction Sequences
CSTR:
Author:
  • Article
  • | |
  • Metrics
  • |
  • Reference [28]
  • |
  • Related [20]
  • | | |
  • Comments
    Abstract:

    The Ethereum virtual machine (EVM) is a key component of the Ethereum blockchain, and its defects will cause deviations in the execution results of transactions, which will bring serious problems to the Ethereum ecosystem. The existing work on EVM defect detection only treats the virtual machine as an independent smart contract execution tool and does not fully test its workflow, resulting in blind spots in defect detection. To solve the above problems, a defect detection method for the whole process of EVM operation (ETHCOV) is proposed. ETHCOV first combines the weight strategy to guide smart contracts, contract interface parameter inputs, and transaction sequences to vary at different granularities. It then packages them with block state and world state as test cases and finally inputs the test cases into the EVM to trigger the run and compare the test run results, so as to detect the vulnerabilities in the EVM. Based on the above method, a prototype system is implemented and more than 20 000 real smart contracts are tested as input to the EVM for defect detection. Experimental results show that compared with the existing tool EVMFuzzer, ETHCOV improves the test efficiency by 339% and the code coverage by 125%, and the inconsistent output of three sets of test cases is detected. These results show that ETHCOV can effectively detect defects in the EVM.

    Reference
    [1] Hildenbrandt E, Saxena M, Rodrigues N, et al. KEVM: A complete formal semantics of the Ethereum virtual machine. Proceedings of the 31st IEEE Computer Security Foundations Symposium. Oxford: IEEE, 2018. 204–217.
    [2] Buterin V. Ethereum: A next-generation smart contract and decentralized application platform. https://ethereum.org/zh/whitepaper/. [2022-09-06].
    [3] Wood G. Ethereum: A secure decentralised generalised transaction ledger. Ethereum Project Yellow Paper, 2014, 151: 1–32
    [4] Antonopoulos AM, Wood DG. Mastering Ethereum: Building Smart Contracts and DApps. Sebastopol: O’Reilly Media, 2018. 204–206.
    [5] Saad M, Spaulding J, Njilla L, et al. Exploring the attack surface of blockchain: A comprehensive survey. IEEE Communications Surveys & Tutorials, 2020, 22(3): 1977–2008. [doi: 10.1109/COMST.2020.2975999
    [6] Fu Y, Ren M, Ma FC, et al. EVMFuzzer: Detect EVM vulnerabilities via fuzz testing. Proceedings of the 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. Tallinn: ACM, 2019. 1110–1114.
    [7] Ma FC, Ren M, Fu Y, et al. Security reinforcement for Ethereum virtual machine. Information Processing & Management, 2021, 58(4): 102565
    [8] Cassez F, Fuller J, Ghale MK, et al. Formal and executable semantics of the Ethereum virtual machine in Dafny. Proceedings of the 25th International Symposium on Formal Methods. Lübeck: Springer, 2023. 571–583.
    [9] Yang WC, Peng J. Research on EVM-based smart contract runtime self-protection technology framework. Proceedings of the 34th International Conference on Web, Artificial Intelligence and Network Applications. Caserta: Springer, 2020. 617–627.
    [10] Kalodner HA, Goldfeder S, Chen XQ, et al. Arbitrum: Scalable, private smart contracts. Proceedings of the 27th USENIX Security Symposium. Baltimore: USENIX Association, 2018. 1353–1370.
    [11] 贺海武, 延安, 陈泽华. 基于区块链的智能合约技术与应用综述. 计算机研究与发展, 2018, 55(11): 2452–2466
    [12] Liao JW, Tsai TT, He CK, et al. SoliAudit: Smart contract vulnerability assessment based on machine learning and fuzz testing. Proceedings of the 6th International Conference on Internet of Things: Systems, Management and Security (IOTSMS). Granada: IEEE, 2019. 458–465.
    [13] Liu J, Li PL, Cheng R, et al. Parallel and asynchronous smart contract execution. IEEE Transactions on Parallel and Distributed Systems, 2022, 33(5): 1097–1108. [doi: 10.1109/TPDS.2021.3095234
    [14] Mehar MI, Shier CL, Giambattista A, et al. Understanding a revolutionary and flawed grand experiment in blockchain: The DAO attack. Journal of Cases on Information Technology, 2019, 21(1): 19–32. [doi: 10.4018/JCIT.2019010102
    [15] Zhou SF, Yang ZM, Xiang J, et al. An ever-evolving game: Evaluation of real-world attacks and defenses in Ethereum ecosystem. Proceedings of the 29th USENIX Security Symposium. USENIX Association, 2020. 2793–2810.
    [16] 张阳, 佟思明, 程亮, 等. 模糊测试改进技术评估. 计算机系统应用, 2022, 31(10): 1–14. [doi: 10.15888/j.cnki.csa.008680
    [17] 杨克, 贺也平, 马恒太, 等. 有效覆盖引导的定向灰盒模糊测试. 软件学报, 2022, 33(11): 3967–3982. [doi: 10.13328/j.cnki.jos.006331
    [18] He JX, Balunović M, Ambroladze N, et al. Learning to fuzz from symbolic execution with application to smart contracts. Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security. London: ACM, 2019. 531–548.
    [19] Manès VJM, Han H, Han C, et al. The art, science, and engineering of fuzzing: A survey. IEEE Transactions on Software Engineering, 2021, 47(11): 2312–2331. [doi: 10.1109/TSE.2019.2946563
    [20] Jiang B, Liu Y, Chan WK. ContractFuzzer: Fuzzing smart contracts for vulnerability detection. Proceedings of the 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE). Montpellier: IEEE, 2018. 259–269.
    [21] Jiang B, Li ZC, Huang YH, et al. WasmFuzzer: A fuzzer for WasAssembly virtual machines. Proceedings of the 34th International Conference on Software Engineering and Knowledge Engineering. Pittsburgh: KSI Research Inc., 2022. 537–542.
    [22] Lin IC, Liao TC. A survey of blockchain security issues and challenges. International Journal of Network Security, 2017, 19(5): 653–659. [doi: 10.6633/IJNS.201709.19(5).01
    [23] 林敏, 张超. 针对WebAssembly虚拟机的模糊测试方案. 网络安全技术与应用, 2020, (6): 15–18
    [24] 欧阳丽炜, 王帅, 袁勇, 等. 智能合约: 架构及进展. 自动化学报, 2019, 45(3): 445–457
    [25] 王文硕, 程亮, 张阳, 等. 基于函数重要度的模糊测试方法. 计算机系统应用, 2021, 30(11): 145–154. [doi: 10.15888/j.cnki.csa.008127
    [26] Peng H, Shoshitaishvili Y, Payer M. T-Fuzz: Fuzzing by program transformation. Proceedings of the 2018 IEEE Symposium on Security and Privacy. San Francisco: IEEE, 2018. 697–710.
    [27] Li J, Zhao BD, Zhang C. Fuzzing: A survey. Cybersecurity, 2018, 1(1): 6. [doi: 10.1186/s42400-018-0002-y
    [28] Böhme M, Pham VT, Roychoudhury A. Coverage-based greybox fuzzing as Markov chain. Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. Vienna: ACM, 2016. 1032–1043.
    Cited by
    Comments
    Comments
    分享到微博
    Submit
Get Citation

周潮晖,赵易如,刘佩,王笑克,童铃皓,赵磊.基于交易序列分层变异的EVM模糊测试.计算机系统应用,2023,32(9):257-264

Copy
Share
Article Metrics
  • Abstract:742
  • PDF: 1578
  • HTML: 1050
  • Cited by: 0
History
  • Received:March 04,2023
  • Revised:April 04,2023
  • Online: July 14,2023
Article QR Code
You are the first991220Visitors
Copyright: Institute of Software, Chinese Academy of Sciences Beijing ICP No. 05046678-3
Address:4# South Fourth Street, Zhongguancun,Haidian, Beijing,Postal Code:100190
Phone:010-62661041 Fax: Email:csa (a) iscas.ac.cn
Technical Support:Beijing Qinyun Technology Development Co., Ltd.

Beijing Public Network Security No. 11040202500063