利用静态分析捕捉以太坊智能合约中的重入攻击漏洞
以太坊智能合约是在基于共识的P2P区块链平台上部署和执行的程序。近年来已经发现了一些利用 重入漏洞攻击智能合约从而盗取合约内保存的以太币的事件。对抗重入攻击的一种反制措施是基于 对智能合约的动态分析,但是这需要消耗以太币并预先了解攻击模式。
本论文提出了一个静态分析工具RA(Re-entrancy Analyzer),通过 将符号执行和平衡检查结合起来分析智能合约中潜在的重入攻击漏洞。 与目前已有的工具不同的是,RA只需要目标合约的以太坊虚拟机字节码 就可以分析跨合约的行为,即使不了解攻击模式也没问题,而且不需要 消耗比特币。并且,RA能够在不执行合约的情况下验证合约中的重入 攻击漏洞,而且不会误报或漏报。
我们提供了RA的一个实现用于评估其性能,结果显示RA能够精确地判定 智能合约是否存在重入漏洞。
论文PDF下载:Hunting for Re-Entrancy Attacks in Ethereum Smart Contracts via Static Analysis