Gas Gauge:一种用于智能合约燃料耗尽漏洞的安全分析工具
密码学与安全
2024-10-22 v2
摘要
近年来,我们见证了智能合约在去中心化金融、供应链管理和身份管理等多种场景中的采用与应用急剧增加。然而,阻碍智能合约进一步采用的一个关键绊脚石是其安全性。困扰以太坊智能合约的一类尤为普遍的安防漏洞是通过无界操作对合约发起的燃料上限拒绝服务(DoS)。这些漏洞会导致交易失败并抛出燃料耗尽错误,且常出现于包含受终端用户输入影响的循环边界的合约中。注意此类漏洞不同于通过区块填充对网络实施的燃料上限 DoS。因此,我们提出 Gas Gauge,一种旨在检测以太坊智能合约中燃料耗尽 DoS 漏洞的工具。Gas Gauge 由三大组件构成:检测、识别与修正阶段。检测阶段采用精确的静态分析方法,查找并汇总智能合约中的所有循环。识别阶段使用白盒模糊测试生成一组导致合约燃料耗尽的输入。修正阶段使用静态分析与运行时验证来预测与允许燃料消耗一致的最大循环边界,并向工具用户建议恰当修复。该工具的各部分可单独用于不同目的,或协同使用以检测、识别并协助修复易受燃料耗尽 DoS 漏洞影响的合约。Gas Gauge 在部署于以太坊主网的 1,000 个真实 Solidity 智能合约上进行了测试。结果对比了七种最先进的静态与符号工具,经验表明 Gas Gauge 远比竞争的最先进工具有效。
引用
@article{arxiv.2112.14771,
title = {Gas Gauge: A Security Analysis Tool for Smart Contract Out-of-Gas Vulnerabilities},
author = {Behkish Nassirzadeh and Huaiying Sun and Sebastian Banescu and Vijay Ganesh},
journal= {arXiv preprint arXiv:2112.14771},
year = {2024}
}
备注
13 pages, 12 figures