Deep Learning-Based Program-Wide Binary Code Similarity for Smart Contracts
Source abstract
Abstract
Recently, security issues of smart contracts are arising great attention due to the enormous financial loss caused by vulnerability attacks. There is an increasing need to detect similar codes for hunting vulnerability with the increase of critical security issues in smart contracts. Binary similarity detection that quantitatively measures the given code diffing has been widely adopted to facilitate critical security analysis. However, due to the difference between common programs and smart contract, such as diversity of bytecode generation and highly code homogeneity, directly adopting existing graph matching and machine learning based techniques to smart contracts suffers from low accuracy, poor scalability and the limitation of binary similarity on function level. Therefore, this paper investigates graph neural network to detect smart contract binary code similarity at the program level, where we conduct instruction-level normalization to reduce the noise code for smart contract pre-processing and construct contract control flow graphs to represent smart contracts. In particular, two improved Graph Convolutional Network (GCN) and Message Passing Neural Network (MPNN) models are explored to encode the contract graphs into quantitatively vectors, which can capture the semantic information and the program-wide control flow information with temporal orders. Then we can efficiently accomplish the similarity detection by measuring the distance between two targeted contract embeddings. To evaluate the effectiveness and efficient of our proposed method, extensive experiments are performed on two real-world datasets, i.e., smart contracts from Ethereum and Enterprise Operation System (EOS) blockchain-based platforms. The results show that our proposed approach outperforms three state-of-the-art methods by a large margin, achieving a great improvement up to 6.1% and 17.06% in accuracy.
Source: openalex_inverted_index · Quality: baseline
Research context
OpenAlex topics: Blockchain Technology Applications and Security · Advanced Malware Detection Techniques · Network Security and Intrusion Detection
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
References (36)
Show source-provided references
1. A comprehensive survey on smart contract construction and execution: Paradigms, tools, and systems10.1016/j.patter.2020.100179 ↗
2. A survey of attacks on Ethereum smart contracts (SoK)
3. Hunting vulnerable smart contracts via graph embedding based bytecode matching10.1109/TIFS.2021.3050051 ↗
4. ContractFuzzer: Fuzzing smart contracts for vulnerability detection
5. Combining graph neural networks with expert knowledge for smart contract vulnerability detection
6. Making smart contracts smarter
7. Bitshred: Feature hashing malware for scalable triage and semantic analysis
8. Semantics-based obfuscation-resilient binary code similarity comparison with applications to software plagiarism detection
9. Identifying multiple authors in a binary program
10. Etherscan, “The Ethereum block explorer,” 2021. [Online]. Available: https://etherscan.io/.
11. Scalable graph-based bug search for firmware images
12. Neural machine translation inspired binary code similarity comparison beyond function pairs
13. Codebert: A pre-trained model for programming and natural languages
14. Online learning with kernels10.1109/TSP.2004.830991 ↗
15. Scalable graph-based bug search for firmware images
16. Rendezvous: A search engine for binary code
17. Tracelet-based code search in executables
18. Leveraging semantic signatures for bug search in binary programs
19. A robust 3-D medical watermarking based on wavelet transform for data protection10.32604/csse.2022.022305 ↗
20. Robust reversible audio watermarking scheme for telemedicine and privacy protection10.32604/cmc.2022.022304 ↗
21. TBE-Net: A three-branch embedding network with part-aware ability and feature complementary learning for vehicle re-identification10.1109/TITS.2021.3116045 ↗
22. RSOD: Real-time small object detection algorithm in UAV-based traffic monitoring
23. Smart contract vulnerability detection using graph neural network
24. Multi-head attention graph network for few shot learning10.32604/cmc.2021.016851 ↗
25. Expressivity versus efficiency of graph kernels
26. Weisfeiler-lehman graph kernels
27. Solidity, 2021. [Online]. Available: https://solidity.readthedocs.io/en/v0.6.4/.
28. A survey of tools for analyzing ethereum smart contracts
29. EOSIO, 2021. [Online]. Available: https://eos.io/build-on-eosio/eosio-cdt/.
30. WebAssembly, 2021. [Online]. Available: https://webassembly.org/.
31. Transfer function of EOSIO smart contracts, 2021. [Online]. Available: https://developers.eos.io.
32. EOSIO ABI macro and apply, 2021. [Online]. Available: https://developers.eos.io/eosiocpp/v1.2.0/docs/abi.
33. Neural network-based graph embedding for cross-platform binary code similarity detection
34. EOSFuzzer: Fuzzing EOSIO smart contracts for vulnerability detection
35. Graphkernels: R and Python packages for graph comparison10.1093/bioinformatics/btx602 ↗
36. Challenges and possible solutions to density-based clustering