中文

智能合约分析工具有效性如何?基于缺陷注入的智能合约静态分析工具评估

软件工程 2020-05-26 v1

摘要

针对智能合约的安全攻击日益增多,已导致经济损失和信任侵蚀。因此,使开发者能够在部署前发现智能合约中的安全漏洞至关重要。目前已开发出多种静态分析工具用于查找智能合约中的安全缺陷。然而,尽管缺陷查找工具众多,却缺乏一种系统性的方法来评估这些工具并衡量其有效性。本文提出SolidiFI,一种用于评估智能合约静态分析工具的自动化系统性方法。SolidiFI基于将缺陷(即代码缺陷)注入智能合约中所有可能位置,以引入目标安全漏洞。然后,SolidiFI使用静态分析工具检查生成的含缺陷合约,识别工具无法检测到的缺陷(假阴性),同时识别被报告为假阳性的缺陷。SolidiFI用于评估六种广泛使用的静态分析工具,即Oyente、Securify、Mythril、SmartCheck、Manticore和Slither,使用一组50个合约,注入了9369个不同缺陷。结果发现,尽管这些工具声称能够检测某些缺陷,但仍有多个缺陷实例未被它们检测到,且所有工具均报告了大量假阳性。

关键词

引用

@article{arxiv.2005.11613,
  title  = {How Effective are Smart Contract Analysis Tools? Evaluating Smart Contract Static Analysis Tools Using Bug Injection},
  author = {Asem Ghaleb and Karthik Pattabiraman},
  journal= {arXiv preprint arXiv:2005.11613},
  year   = {2020}
}

备注

ISSTA 2020