An Opcode-Based Vulnerability Detection of Smart Contracts
Source abstract
Abstract
Aiming at the problem of insufficient technology for detecting smart contract vulnerabilities and the lack of improvement of certain detection tools, a method for the expansion and improvement of the internal module of the Mythril method is proposed. Since the technology of detecting vulnerabilities is not yet mature and there are vulnerabilities in smart contracts, vulnerability detection is particularly important. Since the Mythril tool covers the most types of vulnerabilities, its accuracy rate is also the highest. In order to ensure the effect of smart contract vulnerability detection, this paper proposes the expansion and improvement of the internal module of Mythril, which realizes the operation of automatic vulnerability analysis when performing vulnerability detection by improving the operation efficiency and simplifying the operation of smart contract opcodes while analyzing them. The comparison of experimental results shows that the proposed method is more suitable for smart contract vulnerability detection, and the detection accuracy and efficiency are improved, with an average accuracy rate of 94.07%. It performs better in vulnerability detection and provides an effective guarantee for the security and reliability of smart contracts, which has important application value and research significance.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Blockchain Technology Applications and Security · Advanced Malware Detection Techniques · Cybercrime and Law Enforcement Studies
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
School of Electronics and Information Engineering, Liaoning University of Technology, Jinzhou 121001, China
Funding
Liaoning Provincial Natural Science Foundation General Project
References (34)
Show source-provided references
1. Smart contracts: Building blocks for digital markets
2. Ethereum (2023, May 22). Solidity Documentation [EB/OL]. Available online: https://solidity.readthedocs.io/en/latest/.
3. Tikhomirov, S., Voskresenskaya, E., Ivanitskiy, I., Takhaviev, R., Marchenko, E., and Alexandrov, Y. (June, January 27). Smartcheck: Static analysis of ethereum smart contracts. Proceedings of the 1st International Workshop on Emerging Trends in Software Engineering for Blockchain, Gothenburg, Sweden.
4. Feist, J., Grieco, G., and Groce, A. (2019, January 27). Slither: A static analysis framework for smart contracts. Proceedings of the IEEE/ACM 2nd International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB), Montreal, QC, Canada.10.1109/WETSEB.2019.00008 ↗
5. Jiang, B., Liu, Y., and Chan, W.K. (2018, January 3–7). Contractfuzzer: Fuzzing Smart Contracts for Vulnerability Detection. Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, Montpellier, France.10.1145/3238147.3238177 ↗
6. Liu, C., Liu, H., Cao, Z., Chen, Z., Chen, B., and Roscoe, B. (June, January 27). Reguard: Finding Reentrancy Bugs in Smart Contracts. Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, Gothenburg, Sweden.
7. Zhou, E., Hua, S., Pi, B., Sun, J., Nomura, Y., Yamashita, K., and Kurihara, H. (2018, January 26–28). Security Assurance for Smart Contract. Proceedings of the 9th IFIP International Conference on New Technologies, Mobility and Security (NTMS), Paris, France.10.1109/NTMS.2018.8328743 ↗
8. Muller, B. (2023, May 22). Mythril[EB/OL]. Available online: https://github.com/ConsenSys/mythril.
9. Luu, L., Chu, D.H., Olickel, H., Saxena, P., and Hobor, A. (2016, January 24–28). Making Smart Contracts Smarter. Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria.10.1145/2976749.2978309 ↗
10. The model checker SPIN10.1109/32.588521 ↗
11. Ben-Ari, M. (2008). Principles of the Spin Model Checker, Springer Science & Business Media.
12. Formal Verification Methods for Smart Contracts
13. Contractward: Automated vulnerability detection models for ethereum smart contracts10.1109/TNSE.2020.2968505 ↗
14. Blockchain smart contracts formalization: Approaches and challenges to address vulnerabilities10.1016/j.cose.2019.101654 ↗
15. Hildenbrandt, E., Saxena, M., Rodrigues, N., Zhu, X., Daian, P., Guth, D., Moore, D., Park, D., Zhang, Y., and Stefanescu, A. (2018, January 9–12). Kevm: A Complete Formal Semantics of the Ethereum Virtual Machine. Proceedings of the IEEE 31st Computer Security Foundations Symposium (CSF), Oxford, UK.10.1109/CSF.2018.00022 ↗
16. Park, D., Zhang, Y., Saxena, M., Daian, P., and Roşu, G. (2018, January 23–28). A formal Verification Tool for Ethereum VM bytecode. Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Athens, Greece.10.1145/3236024.3264591 ↗
17. Liu, H., Liu, C., Zhao, W., Jiang, Y., and Sun, J. (2018, January 3–7). S-gram: Towards Semantic-Aware Security Auditing for Ethereum Smart Contracts. Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, Montpellier, France.10.1145/3238147.3240728 ↗
18. Mavridou, A., and Laszka, A. (2018). Financial Cryptography and Data Security. Proceedings of the 22nd International Conference, FC 2018, Nieuwpoort, Curaçao, 26 February–2 March 2018, Springer. Revised Selected Papers 22.
19. Smart contract: Attacks and protections10.1109/ACCESS.2020.2970495 ↗
20. Zhuang, Y., Liu, Z., Qian, P., Liu, Q., Wang, X., and He, Q. (2021, January 7–15). Smart Contract Vulnerability Detection Using Graph Neural Networks. Proceedings of the Twenty-Ninth International Conference on International Joint Conferences on Artificial Intelligence, Yokohama, Japan.10.24963/ijcai.2020/454 ↗
21. Current Status and Prospects of Blockchain Technology Development
22. Yin, M., Malkhi, D., Reiter, M.K., Gueta, G.G., and Abraham, I. (2018). HotStuff: BFT consensus in the lens of blockchain. arXiv.10.1145/3293611.3331591 ↗
23. Buterin, V. (2017). Ethereum: A Next Generation Smart Contract and Decentralized Application Platform, Udemy.
24. Dhillon, V., Metcalf, D., Hooper, M., Dhillon, V., Metcalf, D., and Hooper, M. (2017). Blockchain Enabled Applications: Understand the Blockchain Ecosystem and How to Make it Work for You, Apress.10.1007/978-1-4842-3081-7 ↗
25. Bjørner, N., de Moura, L., Nachmanson, L., and Wintersteiger, C.M. (2018, January 7–12). Programming Z3. Proceedings of the Engineering Trustworthy Software Systems: 4th International School, SETSS 2018, Chongqing, China.10.1007/978-3-030-17601-3_4 ↗
26. Kalra, S., Goel, S., Dhawan, M., and Sharma, S. (2018, January 18–21). Zeus: Analyzing safety of smart contracts. Proceedings of the Network and Distributed Systems Security (NDSS) Symposium, San Diego, CA, USA.10.14722/ndss.2018.23082 ↗
27. Mossberg, M., Manzano, F., Hennenfent, E., Groce, A., Grieco, G., Feist, J., Brunson, T., and Dinaburg, A. (2019, January 10–15). Manticore: A user-friendly Symbolic Execution Framework for Binaries and Smart Contracts. Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), San Diego, CA, USA.10.1109/ASE.2019.00133 ↗
28. Lattner, C., and Adve, V. (2004, January 20–24). LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. Proceedings of the International Symposium on Code Generation and Optimization, San Jose, CA, USA.
29. Defectchecker: Automated smart contract defect detection by analyzing evm bytecode10.1109/TSE.2021.3054928 ↗
30. Grishchenko, I., Maffei, M., and Schneidewind, C. (2018, January 14–20). A Semantic Framework for the Security Analysis of Ethereum Smart Contracts. Proceedings of the Principles of Security and Trust: 7th International Conference, POST 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Thessaloniki, Greece.
31. Bhargavan, K., Delignat-Lavaud, A., Fournet, C., Gollamudi, A., Gonthier, G., Kobeissi, N., Kulatova, N., Rastogi, A., Sibut-Pinote, T., and Swamy, N. (2016, January 24). Formal Verification of Smart Contracts: Short Paper. Proceedings of the ACM Workshop on Programming Languages and Analysis for Security, Vienna, Austria.10.1145/2993600.2993611 ↗
32. Swamy, N., Hriţcu, C., Keller, C., Rastogi, A., Delignat-Lavaud, A., Forest, S., Bhargavan, K., Fournet, C., Strub, P.-Y., and Kohlweiss, M. (2016, January 20–22). Dependent Types and Multi-Monadic Effects in F. Proceedings of the 43rd annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, St. Petersburg, FL, USA.10.1145/2837614.2837655 ↗
33. Tann, W.J.W., Han, X.J., Gupta, S.S., and Ong, Y.S. (2018). Towards safer smart contracts: A sequence learning approach to detecting security threats. arXiv.
34. Nikolić, I., Kolluri, A., Sergey, I., Saxena, P., and Hobor, A. (2018, January 3–7). Finding the Greedy, Prodigal, and Suicidal Contracts at Scale. Proceedings of the 34th Annual Computer Security Applications Conference, San Juan, PR, USA.10.1145/3274694.3274743 ↗