SmartOracle: Generating Smart Contract Oracle via Fine-Grained Invariant Detection

2024年06月14日
  • 简介
    随着去中心化应用程序(DApps)的增加,智能合约的使用和复杂性也增加了,这增加了它们遭受安全事故和财务损失的风险。虽然已经开发了各种漏洞检测工具来缓解这些问题,但它们通常在检测漏洞方面表现不佳,因为它们要么依赖于简单和通用的预言机,这可能不足以进行漏洞检测,要么需要用户指定的预言机,这是一项耗费人力的工作。在本文中,我们介绍了SmartOracle,这是一个动态不变式检测器,它自动生成特定于应用程序的细粒度不变式作为漏洞检测的预言机。从历史交易中,SmartOracle使用基于模式的检测和高级推理来构建全面的属性,并挖掘多层可能的不变式以适应复杂的合约功能。之后,SmartOracle通过在新交易中寻找违反的不变式来识别智能合约漏洞。在不变式检测领域,SmartOracle检测到的ERC20不变式比现有的动态不变式检测多50%,并且实现了96%的精度率。此外,我们建立了一个包含来自现实世界安全事件的易受攻击合约的数据集。SmartOracle成功地检测到466个异常交易,涉及31个易受攻击的合约,精度率为96%。实验结果证明了它在检测智能合约漏洞方面的有效性,特别是与复杂的合约功能相关的漏洞。
  • 图表
  • 解决问题
    如何提高智能合约漏洞检测的准确性和效率?
  • 关键思路
    使用动态不变量检测器SmartOracle自动生成应用程序特定的Oracle来检测漏洞。通过历史交易数据,SmartOracle使用基于模式的检测和高级推理来构建全面的属性,并挖掘多层可能的不变量以适应复杂的合约功能。
  • 其它亮点
    SmartOracle检测到比现有动态不变量检测多50%的ERC20不变量,并实现了96%的准确率。通过构建包含真实安全事件中易受攻击合同的数据集,SmartOracle成功检测到466个异常交易,涉及31个易受攻击的合同。
  • 相关研究
    最近的相关研究包括:DyIn, Mythril, Securify, Oyente等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论