Skip to main content
QUICK REVIEW

[論文レビュー] Detecting Standard Violation Errors in Smart Contracts

Ao Li, Fan Long|arXiv (Cornell University)|Dec 18, 2018
Blockchain Technology Applications and Security参考文献 17被引用数 9
ひとこと要約

Solarは、Ethereumスマートコントラクトにおける技術基準(ERC-20 や ERC-721 など)への準拠を検証することで、標準違反エラーを検出するシンボリック実行ツールである。EVMバイナリコードを分析し、SMTソルバーを用いてユーザー定義の不変条件の違反を確認する。この手法により、197件のコントラクトで255件のゼロデイエラーを発見し、誤検出はたった3件にとどまった。

ABSTRACT

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 などの技術基準に基づいたユーザー定義の制約および不変条件をサポートし、準拠コントラクト間での一貫性のある検証を可能にする。
  • 標準違反を引き起こす初期コントラクト状態およびトランザクションシーケンスを含む、詳細なエラーレポートを生成する。
  • ソースコードに依存せず、実際にデプロイ済みのコントラクトの解析が可能なため、EVMバイナリコードそのものに直接対処する設計である。

実験結果

リサーチクエスチョン

  • RQ1ソースコードに依存せずに、Ethereumスマートコントラクトにおける技術基準からの論理的逸脱を、シンボリック実行ベースのツールが効果的に検出できるか。
  • RQ2低レベルのランタイム脆弱性に焦点を当てる既存のツールと比較して、このようなツールはゼロデイ標準違反エラーをどの程度効果的に同定できるか。
  • RQ3特にデジタル資産を管理する実世界のスマートコントラクトは、その意図された標準規定からどの程度逸脱しているか。
  • RQ4SMTソルバーを用いたシンボリック実行が、EVM固有のストレージ操作を効率的かつ正確に処理できるように最適化できるか。
  • RQ5標準準拠チェックツールの誤検出率は、従来の脆弱性検出ツールと比べてどの程度か。

主な発見

  • Solarは、評価対象の779件のERC-20および310件のERC-721コントラクトから、197件の異なるスマートコントラクトにおいて合計255件の標準違反エラーを検出した。
  • 255件のエラーのうち237件は、以前に報告されていなかったゼロデイ脆弱性であり、論理的欠陥が未発見のまま広がっていることが示された。
  • 全評価において誤検出はわずか3件にとどまり、実際の標準違反を高精度で同定できることを示している。
  • 結果から、公開取引がなされるデジタル資産を管理する重要なスマートコントラクトでさえ、標準違反エラーが広く存在していることが明らかになった。
  • 低レベルのランタイム問題ではなく、標準準拠に焦点を当てたことで、従来のツールに比べて著しく誤検出が少ないという点で、Solarは論理的エラー検出において優れた性能を示した。
  • ERC-20 や ERC-721 などの基準に準拠しているとされる多くのコントラクトで、依然として実装レベルでの逸脱が存在し、これが財務的損失を招く可能性があることが明らかになった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。