美中不足:以太坊智能合约代码缺陷与漏洞特征的实证研究
密码学与安全
2022-03-29 v1 软件工程
摘要
背景:智能合约是在区块链上自动执行的计算机程序。其实现中的漏洞已导致加密货币的严重损失。智能合约部署到以太坊区块链后便不可更改。因此,理解以太坊智能合约中漏洞的本质以在未来防范它们至关重要。现有分类方法存在,但在若干方面存在局限。目标:我们旨在刻画以 Solidity 编写的以太坊智能合约中的漏洞,并统一现有分类方案。方法:我们从公共编码平台和流行漏洞数据库中抽取了 2143 个漏洞,并使用卡片分类法对其进行归类。本文以以太坊区块链为目标,因为它是首个且最流行的支持智能合约部署的区块链,并以 Solidity 作为实现智能合约最广泛使用的语言。我们依据漏洞的错误来源与影响设计了智能合约漏洞分类方案。随后,我们将现有分类方案映射到我们的分类中。结果:所得分类包含 11 个描述漏洞错误来源的类目与 13 个描述潜在影响的类目。我们的发现表明,语言特定的编码类目与结构化数据流类目是主导类目,但出现频率在各数据源间差异显著。结论:我们的发现通过定义问题的多个维度,并以基于文献的分类及所定义类目的频率分布支撑我们的分类,使研究者能更好地理解智能合约漏洞。
引用
@article{arxiv.2203.14850,
title = {A Fly in the Ointment: An Empirical Study on the Characteristics of Ethereum Smart Contracts Code Weaknesses and Vulnerabilities},
author = {Majd Soud and Grischa Liebel and Mohammad Hamdaqa},
journal= {arXiv preprint arXiv:2203.14850},
year = {2022}
}