Skip to main content
QUICK REVIEW

[論文レビュー] {\AE}GIS: Shielding Vulnerable Smart Contracts Against Attacks

Christof Ferreira Torres, Mathis Baden|arXiv (Cornell University)|Mar 12, 2020
Blockchain Technology Applications and Security参考文献 29被引用数 6
ひとこと要約

ÆGIS は、特定のドメイン言語で記述された攻撃パターンを使用して、実行時における脆弱性の悪用からデプロイ済みスマートコントラクトを保護する動的解析フレームワークである。このフレームワークはブロックチェーン上のスマートコントラクトを活用して攻撃パターンを格納・投票処理することで、再entrant 攻撃その他の攻撃を検出する際、最新の技術的手法よりも高い精度を達成し、偽陽性をゼロに抑える。

ABSTRACT

In recent years, smart contracts have suffered major exploits, costing millions of dollars. Unlike traditional programs, smart contracts are deployed on a blockchain. As such, they cannot be modified once deployed. Though various tools have been proposed to detect vulnerable smart contracts, the majority fails to protect vulnerable contracts that have already been deployed on the blockchain. Only very few solutions have been proposed so far to tackle the issue of post-deployment. However, these solutions suffer from low precision and are not generic enough to prevent any type of attack. In this work, we introduce {\\AE}GIS, a dynamic analysis tool that protects smart contracts from being exploited during runtime. Its capability of detecting new vulnerabilities can easily be extended through so-called attack patterns. These patterns are written in a domain-specific language that is tailored to the execution model of Ethereum smart contracts. The language enables the description of malicious control and data flows. In addition, we propose a novel mechanism to streamline and speed up the process of managing attack patterns. Patterns are voted upon and stored via a smart contract, thus leveraging the benefits of tamper-resistance and transparency provided by the blockchain. We compare {\\AE}GIS to current state-of-the-art tools and demonstrate that our solution achieves higher precision in detecting attacks. Finally, we perform a large-scale analysis on the first 4.5 million blocks of the Ethereum blockchain, thereby confirming the occurrences of well reported and yet unreported attacks in the wild.

研究の動機と目的

  • すでにデプロイ済みのスマートコントラクトを実行時における脆弱性の悪用から保護するという、静的解析ツールが解決できない重要なギャップを埋める。
  • イーサリアムのプロTOCOLレベルの変更を要せず、動的かつデプロイ後における脆弱なスマートコントラクトの保護を可能にする。
  • ブロックチェーンを介して、セキュリティルール(攻撃パターン)の更新をスケーラブルで透明性があり、改ざんに強い方法で行うメカニズムを提供する。
  • 既存の実行時保護ツールの限界、例えば低精度や拡張性の欠如を克服する。
  • 攻撃検出パターンの提案・投票・デプロイを分散型で行う、コミュニティ主導のシステムを構築する。

提案手法

  • システムは、イーサリアムの実行モデルに特化したドメイン固有言語(DSL)を用いて、スマートコントラクト内の悪意のある制御フローおよびデータフローを記述する。
  • 攻撃パターンはプレーンテキストとして専用のスマートコントラクトに提出され、熟練した専門家グループまたは Proof-of-Stake を模倣したメカニズムを介して投票と合意形成が管理される。
  • 各トランザクションは、実行をエミュレートするエキストラクタによってリアルタイムに分析され、DSL で定義されたルールに照合してパターン一致を確認する。
  • 既知の攻撃パターンがトリガーされたトランザクションは、状態変更を防ぐために元に戻され、ガスは消費される。
  • 自己集計メカニズムにより、承認済みのパターンのみが有効化されるため、透明性と整合性が保たれる。
  • 新しいパターンを追加・投票可能にする仕組みを備えることで、コアシステムの変更なしに拡張性を実現する。

実験結果

リサーチクエスチョン

  • RQ1ブロックチェーンネイティブな動的システムは、デプロイ後においても高い精度と偽陽性を抑えた状態でスマートコントラクトの脆弱性利用を検出・防止できるか?
  • RQ2デプロイ後において、攻撃パターンを分散型で安全かつ透明に管理・更新することは可能か?
  • RQ3コミュニティ主導の投票メカニズムは、スケーラブルでありながら改ざんに対して耐性を持つことができるか?
  • RQ4ÆGIS のパフォーマンスおよび検出精度は、既存の最先端の実行時検出ツールと比較してどの程度優れているか?
  • RQ5ÆGIS は、実世界のスマートコントラクトにおいて、既知のものでない脆弱性をどの程度検出できるか?

主な発見

  • ÆGIS は再entrant 攻撃の検出において偽陽性をゼロに達成し、偽陽性を報告する最新の技術的手法を上回る。
  • システムは、DAO や Parity ウォレットのような有名な攻撃に加え、最初の 450 万ブロックにおける未報告の脆弱性を正常に検出できた。
  • 攻撃パターンの管理にブロックチェーンベースの投票メカニズムを採用することで、透明性、改ざん不能性、改ざんへの耐性が確保された。
  • ドメイン固有言語により、悪意のある制御フローおよびデータフローの正確なモデリングが可能となり、検出精度が向上した。
  • システムのアーキテクチャにより、イーサリアムクライアントやコンSENSUSプロトコルの変更なしに、検出ロジックの段階的アップデートが可能である。
  • 大規模な分析により、本番環境のスマートコントラクトに以前文書化されていなかった攻撃パターンが存在することが確認され、本システムの実世界での関連性が裏付けられた。

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

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

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

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