Skip to main content
QUICK REVIEW

[論文レビュー] Combatting Front-Running in Smart Contracts: Attack Mining, Benchmark Construction and Vulnerability Detector Evaluation

Wuqi Zhang, Lili Wei|arXiv (Cornell University)|Dec 23, 2022
Blockchain Technology Applications and Security被引用数 4
ひとこと要約

本稿では、イーサリアムスマートコントラクトにおけるフロントランニング脆弱性について包括的な研究を提示する。攻撃マイニングアルゴリズムを導入して実世界のフロントランニング侵害を検出する。動的タンタイル分析を用いて脆弱なコードを局所化し、235件のコントラクトにまたがる513件の実際の攻撃を含むベンチマークを構築。さらに、最先端の脆弱性検出ツール7種を評価した結果、再現率が≤6.04%という低さであり、既存ツールの主な限界が明らかになった。

ABSTRACT

Front-running attacks have been a major concern on the blockchain. Attackers launch front-running attacks by inserting additional transactions before upcoming victim transactions to manipulate victim transaction executions and make profits. Recent studies have shown that front-running attacks are prevalent on the Ethereum blockchain and have caused millions of US dollars loss. Vulnerable smart contracts, blockchain programs invoked by transactions, are held responsible for front-running attacks. Although techniques to detect front-running vulnerabilities have been proposed, their performance on real-world vulnerable contracts is unclear. There is no large-scale benchmark based on real attacks to evaluate their capabilities. This motivates us to build a benchmark consisting of 513 real-world attacks with vulnerable code labeled in 235 distinct smart contracts. We propose automated techniques to effectively collect real-world attacks and localize the corresponding vulnerable code at scale. Our experiments show that our approaches are effective, achieving higher recall in finding real attacks and higher precision in pinpointing vulnerabilities compared to the existing techniques. The evaluation of seven state-of-the-art vulnerability detection techniques on the benchmark reveals their inadequacy in detecting front-running vulnerabilities, with a low recall of at most 6.04%. Our further analysis identifies four common limitations in existing techniques: lack of support for inter-contract analysis, inefficient constraint solving for cryptographic operations, improper vulnerability patterns, and lack of token support.

研究の動機と目的

  • スマートコントラクトにおけるフロントランニング脆弱性検出のための、大規模かつ実世界に即したベンチマークの欠如に対処すること。
  • 先行研究より高い再現率を達成する、ブロックチェーン履歴から実際のフロントランニング攻撃をマイニングする効果的なアルゴリズムの開発。
  • 動的タンタイル分析を用いて、トランザクション入力からコントラクト関数呼び出しへの信頼およびデータフローを伝搬させ、脆弱なコードセグメントの高精度な局所化を実現すること。
  • 実世界のベンチマークを用いて、7種の最先端脆弱性検出ツールの性能を実証的に評価し、その限界を明らかにすること。
  • 既存ツールの低性能な検出性能の根本的原因を同定・分析すること。特に、コントラクト間解析、暗号演算処理、トークン操作に関する限界を対象とする。

提案手法

  • イーサリアムブロック内のトランザクションシーケンスを分析する自動攻撃マイニングアルゴリズムを設計。攻撃者が被害者トランザクションに先んじて利益を得るパターンを検出することで、フロントランニングパターンを同定する。
  • マイニングされた攻撃トレースに動的タンタイル分析を適用。トランザクション入力からコントラクト関数呼び出しへの信頼およびデータフローを伝搬させ、脆弱なコードスニペットの正確な局所化を可能にする。
  • 235件の異なるスマートコントラクトにまたがる513件の実際のフロントランニング攻撃を含むベンチマークを構築。各攻撃に対して、実際に攻撃に寄与した脆弱なコードセグメントを明示的にアノテートした。
  • ベンチマークを用いて7種の最先端脆弱性検出ツールを評価。精度、再現率、偽陽性率の観点から結果を分析。
  • 3名の経験豊富な研究者が共同で手作業による検証を実施。客観的基準と合意形成によるレビューにより、攻撃および脆弱性ラベルの真実性を保証。
  • 検出失敗の系統的分析により、4つの主要な限界を同定:コントラクト間解析の欠如、暗号演算処理の非効率な処理、誤った脆弱性パターンの検出、ERC20トークンへの対応不足。

実験結果

リサーチクエスチョン

  • RQ1提案された攻撃マイニングアルゴリズムは、先行研究と比較して、実世界のフロントランニング攻撃をどの程度効果的に検出できるか?
  • RQ2動的タンタイル分析を用いた局所化手法は、スマートコントラクト内の脆弱なコードセグメントをどの程度高精度に特定できるか?
  • RQ3提示されたベンチマークは、イーサリアムスマートコントラクトにおける実際のフロントランニング脆弱性をどの程度包括的かつ代表的であるか?
  • RQ4実世界の攻撃を対象に評価した場合、既存の最先端脆弱性検出ツールの実際の再現率と精度はどの程度か?
  • RQ5フロントランニング脆弱性の検出性能が低い原因となる、現行ツールにおける主な技術的限界は何か?

主な発見

  • 提案された攻撃マイニングアルゴリズムは、先行研究を上回る再現率を達成し、イーサリアムブロックチェーン履歴に存在する実際のフロントランニング攻撃をより多く同定できた。
  • 動的タンタイル分析に基づく局所化手法は、ベースライン手法と比較して、脆弱なコードセグメントの特定においてより高い精度を示した。
  • ベンチマークには、235件の異なるスマートコントラクトにまたがる513件の実際のフロントランニング攻撃が含まれており、すべての脆弱性が手作業による検証で真陽性として確認された。
  • 実証的評価の結果、既存の脆弱性検出ツールの再現率はベンチマーク上で最大で6.04%にとどまり、著しい性能不足が明らかになった。
  • 本研究では、現行ツールに4つの主要な限界を同定した:コントラクト間解析の欠如、暗号演算処理における制約の効率的でない解決、誤った脆弱性パターンの検出、ERC20トークンへの対応不足。
  • 既存ツールが報告した脆弱性の多くは偽陽性であり、24の関数のうち23件以上が、2つ以上のツールによって脆弱と報告されたが、手作業による確認の結果、view関数、アクセス制限、または状態の隔離によるもので、実際には非脆弱と判明した。

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

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

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

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