中文

揭开以太坊智能合约中随机数的神秘面纱:分类体系、漏洞识别与攻击检测

软件工程 2023-04-26 v1 密码学与安全

摘要

近年来,区块链智能合约应用呈现爆发式增长。随着智能合约日益普及并承载价值数万亿美元的数字资产,它们成为攻击者更具吸引力的目标,后者利用智能合约中的漏洞造成了灾难性的经济损失。尽管已有大量工作被开发出来以检测一长串令人印象深刻的漏洞,但坏随机数漏洞却被许多现有工具所忽视。在本文中,我们首次尝试通过对伪随机数生成背后的原理进行调研并将其组织为一个分类体系,从而对以太坊智能合约中的随机数进行系统分析。我们还详细研究了针对坏随机数的各类攻击,并将其归为四类。此外,我们提出了 RNVulDet——一种结合污点分析技术以自动识别坏随机数漏洞并检测相应攻击交易的工具。为广泛验证 RNVulDet 的有效性,我们构建了三个新数据集:i) 34 个被报道存在坏随机数漏洞的知名合约,ii) 214 个在上线前经过严格审计且被认为不存在坏随机数漏洞的流行合约,以及 iii) 一个由 47,668 个智能合约和 49,951 笔可疑交易组成的数据集。我们将 RNVulDet 与三种最先进的智能合约漏洞检测器进行比较,我们的工具显著优于它们。同时,RNVulDet 平均每合约耗时 2.98s,在大多数情况下比其他工具快几个数量级。RNVulDet 成功揭示了 44,264 笔攻击交易。我们的实现与数据集已公开,希望启发他人。

关键词

引用

@article{arxiv.2304.12645,
  title  = {Demystifying Random Number in Ethereum Smart Contract: Taxonomy, Vulnerability Identification, and Attack Detection},
  author = {Peng Qian and Jianting He and Lingling Lu and Siwei Wu and Zhipeng Lu and Lei Wu and Yajin Zhou and Qinming He},
  journal= {arXiv preprint arXiv:2304.12645},
  year   = {2023}
}

备注

This is the preprint of the paper that has been accepted by IEEE Transactions on Software Engineering (TSE)