正确性
计算机科学
计算机安全
可扩展性
财产(哲学)
依赖关系图
领域(数学分析)
依赖关系(UML)
审计
可扩展性
编码(集合论)
智能合约
计算机安全模型
图形
数据库
程序设计语言
软件工程
理论计算机科学
块链
业务
会计
数学分析
哲学
集合(抽象数据类型)
认识论
数学
作者
Petar Tsankov,Andrei Marian Dan,Dana Drachsler-Cohen,Arthur Gervais,Florian Bünzli,Martin Vechev
出处
期刊:Computer and Communications Security
日期:2018-10-15
被引量:374
标识
DOI:10.1145/3243734.3243780
摘要
Permissionless blockchains allow the execution of arbitrary programs (called smart contracts), enabling mutually untrusted entities to interact without relying on trusted third parties. Despite their potential, repeated security concerns have shaken the trust in handling billions of USD by smart contracts. To address this problem, we present Securify, a security analyzer for Ethereum smart contracts that is scalable, fully automated, and able to prove contract behaviors as safe/unsafe with respect to a given property. Securify's analysis consists of two steps. First, it symbolically analyzes the contract's dependency graph to extract precise semantic information from the code. Then, it checks compliance and violation patterns that capture sufficient conditions for proving if a property holds or not. To enable extensibility, all patterns are specified in a designated domain-specific language. Securify is publicly released, it has analyzed >18K contracts submitted by its users, and is regularly used to conduct security audits by experts. We present an extensive evaluation of Securify over real-world Ethereum smart contracts and demonstrate that it can effectively prove the correctness of smart contracts and discover critical violations.
科研通智能强力驱动
Strongly Powered by AbleSci AI