Skip to main content
QUICK REVIEW

[论文解读] Security Analysis Methods on Ethereum Smart Contract Vulnerabilities: A Survey

Purathani Praitheeshan, Lei Pan|arXiv (Cornell University)|Aug 22, 2019
Blockchain Technology Applications and Security参考文献 119被引用 45
一句话总结

本综述分析了16个以太坊智能合约漏洞和19个软件安全问题,评估静态/动态分析与形式化验证工具,并讨论面临的挑战与未来方向。

ABSTRACT

Smart contracts are software programs featuring both traditional applications and distributed data storage on blockchains. Ethereum is a prominent blockchain platform with the support of smart contracts. The smart contracts act as autonomous agents in critical decentralized applications and hold a significant amount of cryptocurrency to perform trusted transactions and agreements. Millions of dollars as part of the assets held by the smart contracts were stolen or frozen through the notorious attacks just between 2016 and 2018, such as the DAO attack, Parity Multi-Sig Wallet attack, and the integer underflow/overflow attacks. These attacks were caused by a combination of technical flaws in designing and implementing software codes. However, many more vulnerabilities of less severity are to be discovered because of the scripting natures of the Solidity language and the non-updateable feature of blockchains. Hence, we surveyed 16 security vulnerabilities in smart contract programs, and some vulnerabilities do not have a proper solution. This survey aims to identify the key vulnerabilities in smart contracts on Ethereum in the perspectives of their internal mechanisms and software security vulnerabilities. By correlating 16 Ethereum vulnerabilities and 19 software security issues, we predict that many attacks are yet to be exploited. And we have explored many software tools to detect the security vulnerabilities of smart contracts in terms of static analysis, dynamic analysis, and formal verification. This survey presents the security problems in smart contracts together with the available analysis tools and the detection methods. We also investigated the limitations of the tools or analysis methods with respect to the identified security vulnerabilities of the smart contracts.

研究动机与目标

  • 识别导致重大资产损失的关键以太坊智能合约漏洞(如 DAO、Parity)
  • 将漏洞映射到软件安全问题以理解根本原因
  • 对安全分析方法(静态、动态、形式化验证)及其工具进行分类与比较
  • 评估分析方法的局限性并提出未来研究方向
  • 为从业者在安全智能合约开发与验证方面提供指导

提出的方法

  • 对来自高质量期刊和顶级会议的以太坊智能合约安全文献进行回顾与综合(约125篇论文)
  • 将16个以太坊漏洞与19个软件安全问题相关联,以预测利用潜力
  • 将安全分析方法分类为静态分析、动态分析和形式化验证
  • 比较分析方法与漏洞发现以及工具和验证模型的覆盖范围
  • 总结工具/方法相对于已识别漏洞的局限性
  • 讨论真实世界的攻击(如 DAO、Parity Multisig Wallet、整数溢出/下溢)及缓解做法

实验结果

研究问题

  • RQ1以太坊智能合约的哪些重大攻击导致了显著的加密货币损失?
  • RQ2智能合约中的漏洞如何影响系统以及攻击者如何利用它们?
  • RQ3存在哪些安全分析方法用于验证和核实以太坊上的智能合约问题?
  • RQ4现有工具和形式化验证方法在覆盖已识别漏洞方面的效果如何?

主要发现

  • DAO 攻击(2016)揭示了重入漏洞,允许在状态更新前进行递归提款。
  • Parity Multi-Sig Wallet 攻击(2017)暴露了外部库的弱点以及跨部署钱包缺乏访问控制的问题。
  • 整数溢出/下溢攻击(例如 2018年的 POWH coin)显示了定长整型如何使资产被盗,SafeMath 等类似方法有所缓解。
  • Solidity 编程实践(如使用 call.value、缺失访问修饰符)促成了严重漏洞。
  • 本综述将16个以太坊漏洞与19个软件安全问题相关联,强调许多攻击仍然可被利用。
  • 安全分析方法进行了分类并评估其覆盖范围、局限性以及在漏洞检测和形式化验证中的适用性。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。