[论文解读] Detecting Standard Violation Errors in Smart Contracts
Solar 是一个符号执行工具,通过验证智能合约是否符合 ERC-20 和 ERC-721 等技术标准,检测以太坊智能合约中的标准违规错误。它分析 EVM 字节码,使用 SMT 求解器检查用户定义的不变量是否被违反,并在 197 个合约中发现了 255 个零日错误,仅产生三个误报。
We present SOLAR, a new analysis tool for automatically detecting standard violation errors in Ethereum smart contracts.Given the Ethereum Virtual Machine (EVM) bytecode of a smart contract and a user specified constraint or invariant derived from a technical standard such as ERC-20,SOLAR symbolically executes the contract, explores all possible execution paths, and checks whether it is possible to initiate a sequence of malicious transactions to violate the specified constraint or invariant. Our experimental results highlight the effectiveness of SOLAR in finding new errors in smart con-tracts. Out of the evaluated 779 ERC-20 and 310 ERC-721smart contracts, SOLAR found 255 standard violation errors in 197 vulnerable contracts with only three false positives.237 out of the 255 errors are zero-day errors that are not re-ported before. Our results sound the alarm on the prevalence of standard violation errors in critical smart contracts that manipulate publicly traded digital assets
研究动机与目标
- 解决尽管已有安全分析工具,智能合约中仍普遍存在逻辑错误和标准合规性错误的问题。
- 检测不触发底层运行时错误但偏离技术标准(如 ERC-20 和 ERC-721)的异常行为。
- 通过仅关注由标准推导出的指定不变量和约束的违反情况,减少误报。
- 实现对 EVM 字节码的直接分析,无需访问源代码。
- 提供一种可扩展且精确的方法,用于识别管理数字资产的智能合约中的关键逻辑缺陷。
提出的方法
- Solar 在建模合约行为为由外部交易驱动的状态机的同时,对 EVM 字节码进行符号执行。
- 它使用经过优化的符号执行引擎,准确处理 EVM 存储访问指令,包括与加密哈希操作配对的指令。
- 该工具集成 SMT 求解器,以确定是否存在任何初始状态和交易输入序列会违反用户指定的不变量或由标准推导出的约束。
- 它支持基于 ERC-20 和 ERC-721 等技术标准的用户自定义约束和不变量,从而实现在合规合约中的一致性验证。
- Solar 生成详细的错误报告,包括触发标准违规的初始合约状态和交易序列。
- 该工具专为直接处理 EVM 字节码而设计,避免依赖源代码,从而可对已部署合约进行分析。
实验结果
研究问题
- RQ1基于符号执行的工具是否能在不依赖源代码的情况下,有效检测以太坊智能合约中与技术标准的逻辑级偏差?
- RQ2与专注于底层运行时漏洞的现有工具相比,此类工具在识别零日标准违规错误方面的有效性如何?
- RQ3在现实世界中,尤其是管理数字资产的智能合约,其与预期标准规范的偏离程度如何?
- RQ4符号执行结合 SMT 求解是否可被优化,以高效且准确地处理 EVM 特有的存储操作?
- RQ5标准合规性检查工具的误报率与传统漏洞检测器相比如何?
主要发现
- Solar 在从 779 个评估的 ERC-20 合约和 310 个评估的 ERC-721 合约中,共检测到 197 个唯一智能合约中的 255 个标准违规错误。
- 在 255 个错误中,有 237 个是此前未报告的零日漏洞,凸显了未被发现的逻辑缺陷的普遍性。
- 在所有评估中,该工具仅报告了三个误报,表明其在识别实际标准违规方面具有极高的精确度。
- 结果表明,即使在管理公开交易数字资产的关键智能合约中,标准违规错误也普遍存在。
- Solar 通过专注于标准合规性而非底层运行时问题,在检测逻辑级错误方面优于现有工具,且误报显著更少。
- 本研究揭示,许多看似符合 ERC-20 和 ERC-721 等标准的合约仍存在实现层面的偏差,可能导致财务损失。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。