中文

智能合约的精确攻击合成

密码学与安全 2019-02-19 v1

摘要

智能合约是在区块链平台上运行的程序。它们通过定义良好的接口相互交互,在无可信第三方的分布式系统中执行金融交易。但这些接口也为攻击者提供了有利环境,攻击者可以利用智能合约中的安全漏洞获取经济利益。本文提出 SmartScopy,一个用于自动合成对抗合约的系统,可识别并利用受害智能合约中的漏洞。我们的工具基于以太坊生态中受害智能合约的应用二进制接口(ABI)规范,探索攻击程序的空间。为使合成可行,我们引入基于摘要的符号求值(summary-based symbolic evaluation),在不牺牲漏洞查询精度的前提下,显著减少合成器需要符号求值的指令数量。基于该符号求值,SmartScopy 进一步提出一种划分合成搜索空间以进行并行探索的新方法,以及一种可更早剪枝不可行候选的轻量级推导技术。我们在查询语言中编码了智能合约的常见漏洞,并在来自 etherscan 的包含 >25K 个智能合约的完整数据集上评估了 SmartScopy。实验证明了基于摘要的符号求值的优势,并表明 SmartScopy 在运行时间、精度和可靠性方面优于两种最先进的智能合约分析器 Oyente 和 Contractfuzz。此外,在近期流行的智能合约上运行时,SmartScopy 发现了 20 个含有近期 BatchOverflow 漏洞且现有工具无法精确检测的易受攻击智能合约。

关键词

引用

@article{arxiv.1902.06067,
  title  = {Precise Attack Synthesis for Smart Contracts},
  author = {Yu Feng and Emina Torlak and Rastislav Bodik},
  journal= {arXiv preprint arXiv:1902.06067},
  year   = {2019}
}