中文

Sereum:保护已有智能合约免受重入攻击

密码学与安全 2018-12-17 v1

摘要

近来,若干现有区块链系统在智能合约中出现了重大缺陷与漏洞。尽管文献中有许多保障智能合约安全的提案,这些提案大多聚焦于证明合约中某类漏洞的正确性或缺失,却无法保护已部署(遗留)合约免遭利用。本文中,我们在重入利用的背景下解决该问题,并提出一种新颖的智能合约安全技术,称为 Sereum(Secure Ethereum),它基于运行时监控与验证,以向后兼容的方式保护已有、已部署的合约免受重入攻击。Sereum 既不需要对现有合约做任何修改,也不需要其语义知识。通过基于 Ethereum 区块链的实现与评估,我们表明 Sereum 覆盖智能合约的实际执行流,以误报率低至 0.06% 且运行时开销可忽略的代价准确检测并阻止攻击。作为副产品,我们开发了三种高级重入攻击,以展示现有离线漏洞分析工具的局限性。

关键词

引用

@article{arxiv.1812.05934,
  title  = {Sereum: Protecting Existing Smart Contracts Against Re-Entrancy Attacks},
  author = {Michael Rodler and Wenting Li and Ghassan O. Karame and Lucas Davi},
  journal= {arXiv preprint arXiv:1812.05934},
  year   = {2018}
}