中文

区块链系统漏洞的实证研究:模块、类型与模式

密码学与安全 2023-02-22 v2 软件工程

摘要

区块链作为一种分布式账本技术日益流行,尤其在支持有价值的加密货币和智能合约方面。然而,区块链软件系统不可避免地存在许多缺陷。尽管智能合约中的缺陷已被广泛研究,底层区块链系统的安全缺陷却少有探索。本文对来自四个代表性区块链(Bitcoin、Ethereum、Monero 和 Stellar)的区块链系统漏洞进行实证研究。具体而言,我们首先设计一套系统的过滤流程,从 GitHub 上的 34,245 个 issues/PRs(拉取请求)和 85,164 次提交中有效识别出 1,037 个漏洞及其 2,317 个补丁。我们由此构建了首个区块链漏洞数据集。随后,我们在三个层面对该数据集进行独特分析,包括(i)通过跨项目识别并关联模块路径进行文件级漏洞模块分类,(ii)通过自然语言处理和基于相似度的句子聚类进行文本级漏洞类型聚类,以及(iii)通过生成并聚类捕获补丁代码片段句法和语义信息的代码变更签名进行代码级漏洞模式分析。我们的分析揭示了三个关键发现:(i)某些区块链模块比其他模块更易受攻击;值得注意的是,与共识、钱包和网络相关的每个模块均有超过 200 个问题;(ii)约 70% 的区块链漏洞为传统类型,但我们也识别出四种区块链特有的新类型;(iii)我们获得 21 种捕获独特区块链属性与状态的区块链特有漏洞模式,并证明它们可用于检测其他流行区块链(如 Dogecoin、Bitcoin SV 和 Zcash)中的类似漏洞。

关键词

引用

@article{arxiv.2110.12162,
  title  = {An Empirical Study of Blockchain System Vulnerabilities: Modules, Types, and Patterns},
  author = {Xiao Yi and Daoyuan Wu and Lingxiao Jiang and Yuzhou Fang and Kehuan Zhang and Wei Zhang},
  journal= {arXiv preprint arXiv:2110.12162},
  year   = {2023}
}

备注

The paper was accepted by ACM FSE 2022