SmartOracle: Generating Smart Contract Oracle via Fine-Grained Invariant Detection

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Su, Jianzhong, Chen, Jiachi, Fang, Zhiyuan, Lin, Xingwei, Tang, Yutian, Zheng, Zibin
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866910487666491392
author Su, Jianzhong
Chen, Jiachi
Fang, Zhiyuan
Lin, Xingwei
Tang, Yutian
Zheng, Zibin
author_facet Su, Jianzhong
Chen, Jiachi
Fang, Zhiyuan
Lin, Xingwei
Tang, Yutian
Zheng, Zibin
contents As decentralized applications (DApps) proliferate, the increased complexity and usage of smart contracts have heightened their susceptibility to security incidents and financial losses. Although various vulnerability detection tools have been developed to mitigate these issues, they often suffer poor performance in detecting vulnerabilities, as they either rely on simplistic and general-purpose oracles that may be inadequate for vulnerability detection, or require user-specified oracles, which are labor-intensive to create. In this paper, we introduce SmartOracle, a dynamic invariant detector that automatically generates fine-grained invariants as application-specific oracles for vulnerability detection. From historical transactions, SmartOracle uses pattern-based detection and advanced inference to construct comprehensive properties, and mines multi-layer likely invariants to accommodate the complicated contract functionalities. After that, SmartOracle identifies smart contract vulnerabilities by hunting the violated invariants in new transactions. In the field of invariant detection, SmartOracle detects 50% more ERC20 invariants than existing dynamic invariant detection and achieves 96% precision rate. Furthermore, we build a dataset that contains vulnerable contracts from real-world security incidents. SmartOracle successfully detects 466 abnormal transactions with an acceptable precision rate 96%, involving 31 vulnerable contracts. The experimental results demonstrate its effectiveness in detecting smart contract vulnerabilities, especially those related to complicated contract functionalities.
format Preprint
id arxiv_https___arxiv_org_abs_2406_10054
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle SmartOracle: Generating Smart Contract Oracle via Fine-Grained Invariant Detection
Su, Jianzhong
Chen, Jiachi
Fang, Zhiyuan
Lin, Xingwei
Tang, Yutian
Zheng, Zibin
Software Engineering
Cryptography and Security
As decentralized applications (DApps) proliferate, the increased complexity and usage of smart contracts have heightened their susceptibility to security incidents and financial losses. Although various vulnerability detection tools have been developed to mitigate these issues, they often suffer poor performance in detecting vulnerabilities, as they either rely on simplistic and general-purpose oracles that may be inadequate for vulnerability detection, or require user-specified oracles, which are labor-intensive to create. In this paper, we introduce SmartOracle, a dynamic invariant detector that automatically generates fine-grained invariants as application-specific oracles for vulnerability detection. From historical transactions, SmartOracle uses pattern-based detection and advanced inference to construct comprehensive properties, and mines multi-layer likely invariants to accommodate the complicated contract functionalities. After that, SmartOracle identifies smart contract vulnerabilities by hunting the violated invariants in new transactions. In the field of invariant detection, SmartOracle detects 50% more ERC20 invariants than existing dynamic invariant detection and achieves 96% precision rate. Furthermore, we build a dataset that contains vulnerable contracts from real-world security incidents. SmartOracle successfully detects 466 abnormal transactions with an acceptable precision rate 96%, involving 31 vulnerable contracts. The experimental results demonstrate its effectiveness in detecting smart contract vulnerabilities, especially those related to complicated contract functionalities.
title SmartOracle: Generating Smart Contract Oracle via Fine-Grained Invariant Detection
topic Software Engineering
Cryptography and Security
url https://arxiv.org/abs/2406.10054