论文标题

软膏中的苍蝇:一项关于以太坊特征的实证研究

A Fly in the Ointment: An Empirical Study on the Characteristics of Ethereum Smart Contracts Code Weaknesses and Vulnerabilities

论文作者

Soud, Majd, Liebel, Grischa, Hamdaqa, Mohammad

论文摘要

上下文:智能合约是在区块链上自动执行的计算机程序。实施中的脆弱性导致了严重的加密货币丧失。部署到以太坊区块链时,智能合约将变得不可变。因此,必须了解以太坊智能合约中脆弱性的本质,以防止它们在未来。存在现有的分类,但在几种方面受到限制。目的:我们旨在表征以牢固性书写的以太坊智能合约中的漏洞,并统一现有的分类方案。方法:我们从公共编码平台和流行漏洞数据库中提取了2143个漏洞,并使用卡片排序方法对其进行了分类。我们针对本文的以太坊区块链,因为它是支持智能合约部署的第一个也是最受欢迎的区块链,并且是实施智能合约的最广泛使用的语言。我们根据智能合同漏洞的错误来源和影响,设计了一个分类方案。之后,我们将现有的分类方案映射到我们的分类。结果:结果分类包括11个类别,描述了漏洞的错误来源和描述潜在影响的13个类别。我们的发现表明,语言特定的编码和结构数据流类别是主要类别,但是数据源之间发生的频率在很大程度上有所不同。结论:我们的发现使研究人员能够通过定义问题的各个方面并通过基于文献的分类和定义类别的频率分布来更好地理解智能合同漏洞。

Context: Smart contracts are computer programs that are automatically executed on the blockchain. Vulnerabilities in their implementation have led to severe loss of cryptocurrency. Smart contracts become immutable when deployed to the Ethereum blockchain. Therefore, it is essential to understand the nature of vulnerabilities in Ethereum smart contracts to prevent them in the future. Existing classifications exist, but are limited in several ways. Objective: We aim to characterize vulnerabilities in Ethereum smart contracts written in Solidity, and unify existing classifications schemes. Method: We extracted 2143 vulnerabilities from public coding platforms and popular vulnerability databases and categorized them using a card sorting approach. We targeted the Ethereum blockchain in this paper, as it is the first and most popular blockchain to support the deployment of smart contracts, and Solidity as the most widely used language to implement smart contracts. We devised a classification scheme of smart contract vulnerabilities according to their error source and impact. Afterwards, we mapped existing classification schemes to our classification. Results: The resulting classification consists of 11 categories describing the error source of a vulnerability and 13 categories describing potential impacts. Our findings show that the language specific coding and the structural data flow categories are the dominant categories, but that the frequency of occurrence differs substantially between the data sources. Conclusions: Our findings enable researchers to better understand smart contract vulnerabilities by defining various dimensions of the problem and supporting our classification with mappings with literature-based classifications and frequency distributions of the defined categories.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源