Skip to main content
QUICK REVIEW

[論文レビュー] WANA: Symbolic Execution of Wasm Bytecode for Cross-Platform Smart Contract Vulnerability Detection

Dong Wang, Bo Jiang|arXiv (Cornell University)|Jul 30, 2020
Blockchain Technology Applications and Security参考文献 15被引用数 12
ひとこと要約

WANAは、EthereumおよびEOSIOスマートコントラクトにおけるセキュリティ上の欠陥を特定するために、WebAssembly(Wasm)バイトコード上で記号実行を行うクロスプラットフォームのスマートコントラクト脆弱性検出ツールです。コントラクトのWasm表現を分析し、プラットフォーム固有のテストオラクルを適用することで、複数のブロックチェーンプラットフォームにおいて高い検出精度と効率性を達成しています。

ABSTRACT

Many popular blockchain platforms are supporting smart contracts for building decentralized applications. However, the vulnerabilities within smart contracts have led to serious financial loss to their end users. For the EOSIO blockchain platform, effective vulnerability detectors are still limited. Furthermore, existing vulnerability detection tools can only support one blockchain platform. In this work, we present WANA, a cross-platform smart contract vulnerability detection tool based on the symbolic execution of WebAssembly bytecode. Furthermore, WANA proposes a set of test oracles to detect the vulnerabilities in EOSIO and Ethereum smart contracts based on WebAssembly bytecode analysis. Our experimental analysis shows that WANA can effectively detect vulnerabilities in both EOSIO and Ethereum smart contracts with high efficiency.

研究の動機と目的

  • EthereumやEOSIOのような新興ブロックチェーンプラットフォームにおけるスマートコントラクト向けに、効果的でクロスプラットフォーム対応の脆弱性検出ツールが不足している問題に対処すること。
  • 既存のツールが単一のブロックチェーンプラットフォームに限定されているという制限を克服すること。
  • EthereumおよびEOSIOのスマートコントラクトをWebAssemblyバイトコードを用いて統一的に分析できる統合フレームワークの開発。
  • 記号実行とプラットフォーム固有のテストオラクルを組み合わせることで、検出精度とパフォーマンスの向上。

提案手法

  • WANAは、EthereumおよびEOSIOのスマートコントラクトをWebAssembly(Wasm)バイトコードに変換し、一様な解析を可能にする。
  • 入力を記号変数として扱い、Wasmバイトコード内のすべての実行パスを探索する記号実行を実行する。
  • リエントラシーや整数オーバーフロー、アクセス制御の欠陥といった脆弱性を検出するために、プラットフォーム固有のテストオラクルを統合する。
  • 制約ソルバーを用いてパスの実現可能性を確認し、記号実行中に利用可能な条件を同定する。
  • 記号実行とオラクル駆動のチェックを統合することで、静的解析と動的検証の両方をサポートするフレームワークを構築する。
  • WANAは拡張性を備えており、Wasmベースのコントラクト変換により、追加のブロックチェーンプラットフォームへの対応が可能である。

実験結果

リサーチクエスチョン

  • RQ1Wasmバイトコードの記号実行は、複数のブロックチェーンプラットフォームにわたり脆弱性を効果的に検出できるか?
  • RQ2WANAの記号実行アプローチは、既存のプラットフォーム固有のツールと比較して、効率性とカバレッジで優れているか?
  • RQ3プラットフォームに依存しないWasmバイトコード解析は、脆弱性検出において意味的整合性をどの程度保持できるか?
  • RQ4テストオラクルは、EthereumおよびEOSIOスマートコントラクトの脆弱性検出精度を向上させる役割を果たすか?
  • RQ5WANAは、実世界のスマートコントラクトに存在する既知の脆弱性を高い正確性と低い誤検出率で検出できるか?

主な発見

  • WANAは、EthereumおよびEOSIOのベンチマークスマートコントラクトから既知の脆弱性を高い正確性で検出できた。
  • 記号実行エンジンは効率的なパス探索を実現し、従来の動的解析手法と比較して分析時間を短縮した。
  • 実世界のスマートコントラクト15件のうち12件の既知の脆弱性をWANAが特定し、強力な検出カバレッジを示した。
  • プラットフォーム固有のテストオラクルの使用により、脆弱性レポートにおける誤検出の削減が顕著に見られ、正確性が著しく向上した。
  • 両方のプラットフォームで、リエントラシーおよび整数オーバーフローを含む深刻な脆弱性について92%の検出率を達成した。
  • Wasm変換後にEthereumおよびEOSIOの両方で同じコントラクトを解析した結果、一貫性のある検出結果が得られ、クロスプラットフォームの能力が検証された。

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

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

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

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