Skip to main content
QUICK REVIEW

[論文レビュー] Precise Attack Synthesis for Smart Contracts

Yu Feng, Emina Torlak|arXiv (Cornell University)|Feb 16, 2019
Blockchain Technology Applications and Security参考文献 18被引用数 31
ひとこと要約

SmartScopyは、被害者のスマートコントラクトにおける脆弱性を正確に悪用する、自動的に合成される対抗的スマートコントラクトを生成する画期的なシステムである。このシステムは、経路爆発を抑える一方で精度を維持する要約ベースの記号実行を用い、実際の攻撃の検出を効率的かつスケーラブルかつ健全に行う。実際に、既存のツールでは到達できなかったライブのイーサリアムコントラクトにおいて、20件の以前に発見されていなかったBatchOverflow脆弱性を同定することで、その有効性が実証された。

ABSTRACT

Smart contracts are programs running on top of blockchain platforms. They interact with each other through well-defined interfaces to perform financial transactions in a distributed system with no trusted third parties. But these interfaces also provide a favorable setting for attackers, who can exploit security vulnerabilities in smart contracts to achieve financial gain. This paper presents SmartScopy, a system for automatic synthesis of adversarial contracts that identify and exploit vulnerabilities in a victim smart contract. Our tool explores the space of \emph{attack programs} based on the Application Binary Interface (ABI) specification of a victim smart contract in the Ethereum ecosystem. To make the synthesis tractable, we introduce \emph{summary-based symbolic evaluation}, which significantly reduces the number of instructions that our synthesizer needs to evaluate symbolically, without compromising the precision of the vulnerability query. Building on the summary-based symbolic evaluation, SmartScopy further introduces a novel approach for partitioning the synthesis search space for parallel exploration, as well as a lightweight deduction technique that can prune infeasible candidates earlier. We encoded common vulnerabilities of smart contracts in our query language, and evaluated SmartScopy on the entire data set from etherscan with $>$25K smart contracts. Our experiments demonstrate the benefits of summary-based symbolic evaluation and show that SmartScopy outperforms two state-of-the-art smart contracts analyzers, Oyente and Contractfuzz, in terms of running time, precision, and soundness. Furthermore, running on recent popular smart contracts, SmartScopy uncovers 20 vulnerable smart contracts that contain the recent BatchOverflow vulnerability and cannot be precisely detected by existing tools.

研究の動機と目的

  • スマートコントラクトに存在する実際の利用可能な脆弱性を検出するという、不可逆的であり、破滅的な財務的損失を招く可能性がある深刻な課題に取り組むこと。
  • 既存の記号実行および静的解析ツールが過剰近似するか、実際に攻撃用コントラクトを生成できないという、スケーラビリティと精度の制限を克服すること。
  • ストレージ、ガス、Keccak-256ハッシュ化を含む、イーサリアム仮想マシン(EVM)環境を忠実に再現する対抗的コントラクトの自動合成を可能にすること。
  • 現在のツールが精度の欠如やランダムな入力生成に依存するため見逃されがちな、BatchOverflowのような微細で現実世界に近い脆弱性の検出を向上させること。
  • 既存の静的アナライザーと補完的である、スケーラブルで正確かつ効率的な脆弱性利用フレームワークを提供すること。

提案手法

  • SmartScopyは要約ベースの記号実行を用い、被害コントラクトの各パubリック関数の副作用を事前に計算・保存することで、合成プロセス中に記号的に探索すべきパス数を顕著に削減する。
  • 記号変数の範囲に基づくケーススプリットを用いて合成の探索空間を分割し、SMTベースの記号実行エンジンを用いて複数の候補攻撃プログラムを並列に探索する。
  • 抽象的意味論に基づく軽量な帰納的手法を採用し、合成プロセスの初期段階で非現実的な攻撃候補を早期に除外することで、効率性を向上させる。
  • Ethereumコントラクトのアプリケーションバイナリインターフェース(ABI)を活用して関数呼び出しと相互作用をモデル化し、EVM実行環境の正確なシミュレーションを実現する。
  • セキュリティアナリストが再entrant性、BatchOverflowなど一般的な脆弱性を形式的なパターンとして指定できる、宣言的クエリ言語をサポートする。
  • Vandalの中間表現(IR)と統合することでEVMバイナリコードを解析し、元の高水準言語(例:Solidity)に依存しない。

実験結果

リサーチクエスチョン

  • RQ1要約ベースの記号実行は、実際の脆弱性を悪用する対抗的スマートコントラクトの正確かつスケーラブルな合成を可能にするか?
  • RQ2SmartScopyのアプローチは、再entrant性やBatchOverflowといった既知の脆弱性を検出する際、精度、健全性、パフォーマンスの観点で既存のツールと比較してどのように差をつけるか?
  • RQ3SmartScopyは、現在の静的解析およびファズィングツールが見逃している、実世界のスマートコントラクトにおける以前に発見されていなかった脆弱性をどの程度特定できるか?
  • RQ4パス爆発を引き起こさずに、Keccak-256ハッシュ化およびストレージ操作を含む複雑な相互作用を効率的に処理できるか?
  • RQ5探索空間の分割と早期除外の組み合わせは、攻撃合成のスケーラビリティをどの程度向上させるか?

主な発見

  • SmartScopyは、最適化された記号実行と除外処理のおかげで、2つの最先端のツール(OyenteとContractFuzzer)を、実行時間と精度の両面で大きく上回った。
  • このシステムは、既存のツールが正確に特定できなかった、最近広く展開されたイーサリアムコントラクトに20件の以前に発見されていなかったBatchOverflow脆弱性を正常に検出した。
  • 要約ベースの記号実行により、探索すべきパス数が削減された一方で、完全な精度が維持され、大規模なコントラクトに対しても正確性を損なわずスケーリング可能となった。
  • ケーススプリットと抽象的意味論に基づく除外処理の活用により、SmartScopyは複数の攻撃候補を並列に探索でき、探索効率が顕著に向上した。
  • SmartScopyのクエリ言語は、再entrant性、整数オーバーフロー、ストレージアクセスの欠陥といった、幅広い一般的なスマートコントラクト脆弱性を表現するのに十分な表現力を備えていた。
  • このツールは、Securifyのような既存の静的アナライザーと補完的である:脆弱性が検出されたコントラクトに対して実際に攻撃を生成できるため、静的解析の実用的価値を高めた。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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