一句话:系统评估现有智能合约静态分析工具,并提出基于用户输入依赖分析的漏洞检测方法。
智能合约的流行伴随大量安全攻击,造成巨额经济损失和信任危机。尽管已有众多静态分析工具用于发现漏洞,但合约中漏洞仍普遍存在,开发者往往只能依赖人工审计。本博士论文研究旨在扩展安全漏洞检测空间,提出有效的智能合约静态分析方法。作者首先研究现有静态分析工具的有效性,并基于合约代码对用户输入的依赖关系提出漏洞检测方案。对静态分析工具的评估结果表明,现有工具存在大量漏报与误报;进一步结果显示,所提出的首个漏洞检测方法相比先前工作显著提升了漏洞检测效果。
The growth in the popularity of smart contracts has been accompanied by a rise in security attacks targeting smart contracts, which have led to financial losses of millions of dollars and erosion of trust. To enable developers discover vulnerabilities in smart contracts, several static analysis tools have been proposed. However, despite the numerous bug-finding tools, security vulnerabilities abound in smart contracts, and developers rely on finding vulnerabilities manually. Our goal in this dissertation study is to expand the space of security vulnerabilities detection by proposing effective static analysis approaches for smart contracts. We study the effectiveness of the existing static analysis tools and propose solutions for security vulnerabilities detection relying on analyzing the dependency of the contract code on user inputs that lead to security vulnerabilities. Our results of evaluating static analysis tools show that existing static tools for smart contracts have significant false-negatives and false-positives. Further, the results show that our first vulnerability detection approach achieves a significant improvement in the effectiveness of detecting vulnerabilities compared to the prior work.