Cointime

Download App
iOS & Android

MEV 攻撃に足を踏み入れ、ハッカーがメザニン技術を通じてどのように巨額の利益を得るのかを見てみましょう。

Validated Individual Expert

著者: Immunefi編集: Cointime.com QDD

序章

ブロックチェーン空間における悪用行為はますます複雑になっています。

これまで、スマート コントラクトの開発者と監査人は主に、単一トランザクション内での悪用からスマート コントラクトを保護する方法を検討する必要がありました。しかし現在では、複数のトランザクションにわたって攻撃が発生することがますます一般的になってきています。

ハッカーはまた、巨額の利益を求めて、個人の資金を危険にさらして攻撃することをいとわないようになっています。

つい先週、あるハッカーが Rodeo Finance への攻撃で50 ETH (約 96,000 ドル) の危険を冒し、その結果約 472 ETH (約 890,000 ドル相当) の利益を得ました。このような事例は、「攻撃コスト」は効果的なセキュリティ抑止力ではないという原則を強化するものであり、自らを守るために高い攻撃コストに依存するプロトコルはその戦略を再考する必要がある。

この記事では、ハッカーが MEV を使用して脆弱なプロトコルを攻撃する一般的な方法の 1 つを説明します。また、バグ ハンターとして PoC (概念実証) を使用して、MEV 攻撃ベクトルを適切に実証する方法についても説明します。

MEVとは

MEV (マイナー抽出可能値または最大抽出可能値) を使用すると、マイナーはマイニング前にブロック内のトランザクションを除外、組み込み、順序付けできます。これは、イーサリアムの合併の結果として大きく変わり、このトランザクション注文の役割がネットワークのバリデーターに移されました。しかし、それにもかかわらず、MEV 攻撃ベクトルは依然として一般的であり、ブロックチェーン分野で関連性があります。

攻撃者はさまざまな方法で MEV を使用する可能性があります。いわゆる「メザニン攻撃」をデモンストレーションします。これは、被害者の交換トランザクションをスワップする前後に行うことによって達成されます。

プレリュード (フロントランニング)

プレリュードは、攻撃者が被害者のトランザクションの前に自分のトランザクションを送信することに成功し、攻撃者のトランザクションが最初に実行されるようにする手法です。これは、悪意のあるトランザクションのガス価格を引き上げ、ガス料金が低い被害者のトランザクションよりも優先されるようにすることで実現できます。

バックランニング

ポストプレイは、攻撃者が被害者のトランザクションの実行後に悪意のあるトランザクションを実行する手法です。攻撃者は、悪意のあるトランザクションのガス価格を下げることでこれを行うことができます。これにより、被害者のトランザクションがフォールアウト トランザクションよりも優先されるようになります。

メザニン攻撃

メザニン攻撃シナリオでは、攻撃者はトランザクション プール (保留中のトランザクションのリスト) を監視して、悪用したいターゲット トランザクションを探します。ターゲットを設定すると、具材を挟んだサンドイッチのように、ターゲット トランザクションの前後に 1 つずつ、2 つのトランザクションを送信します。このメザニンの目的は、攻撃者に有利になるように対象のトランザクションの実行や結果を操作することです。

前のセクションで説明した方法を使用して、攻撃者は被害者のトランザクションよりも高いガス料金と低いガス料金で 2 つのトランザクションを送信し、メザニン攻撃を成功させます。あるいは、有料でトランザクションの順序付けを保証する、専門の RPC プロバイダーを通じてトランザクション バンドルを送信することもできます。

トークン、流動性プール、または分散型取引所を含むトランザクションはトランザクション順序の影響を非常に受けやすいため、このタイプの攻撃は DeFi エコシステムで特に問題となる可能性があります。このような場合、攻撃者の目的は多くの場合、資産価格を操作したり、裁定取引の機会から利益を得たり、個人的な利益を得るためにプロトコルの他の脆弱性を悪用したりすることです。

MEV 攻撃をテストする方法

トークン、流動性プール、または分散型取引所を含むトランザクションはトランザクション順序の影響を非常に受けやすいため、このタイプの攻撃は DeFi エコシステムで特に問題となる可能性があります。このような場合、攻撃者の目的は多くの場合、資産価格を操作したり、裁定取引の機会から利益を得たり、個人的な利益を得るためにプロトコルの他の脆弱性を悪用したりすることです。

MEV 攻撃をテストする方法

MEV 攻撃を実証する PoC を作成するには、Hardhat や Forge などのツールを使用してブロックチェーンのローカル フォークを作成します。

これら 2 つのテスト間の決定的な結果を実証するために、この Github Gist からアクセスできる同じ攻撃者コントラクトを使用します。

このデモでは、最小金額を 0 に設定して、被害者が UniswapV2 で WETH から USDC へのスワップ トランザクションを意図的に呼び出せるようにします。このトランザクションをメザニン攻撃に対して脆弱にする脆弱性は、最小金額を 0 に設定することです。これは、被害者が 0 USDC または 99% のスリッページしか受け取らない場合でも、トランザクションはロールバックされないことを意味します。そのため、最低金額を設定することが重要です。

ヘルメット

Hardhat は、開発者が JavaScript/TypeScript を使用してスマート コントラクトを操作できるようにするスマート コントラクト開発用のフレームワークです。 Forge (新しいフレームワーク) が登場する前は、ほとんどのホワイト ハット ハッカーは Hardhat を使用してブロックチェーンをフォークして PoC を作成していました。

便利なことに、Hardhat はトランザクションをファイナライズした状態に保つメカニズムをすでに提供しているので、トランザクションがファイナライズされる前に、呼び出したトランザクションをトランザクション プールに集約できます。

ステップバイステップガイド:

l Hardhat がマシンにインストールされていることを確認してください ( https://github.com/NomicFoundation/hardhat )

l 単純なヘルメットプロジェクトを作成する

l mkdir MEV-poc

l cd MEV-poc

l 糸でヘルメットを追加します

l npx ヘルメット初期化

l 契約を攻撃者契約に変更します。

l scriptフォルダー内のファイルをsandwich Attack.jsに変更しますhttps://gist.github.com/GibranAkbaromiL/05020630475f4f2599f72b47e52c7949#file-sandwich Attack-js

l npx ハードハットを実行します scripts/sandwich Attack.js を実行します

出力:

フォージ

Forge は、Solidity スクリプトを使用してブロックチェーンのテスト、デプロイ、操作を可能にするスマート コントラクト開発ツールチェーンです。これにより、テスト ファイル内のトランザクションを順序付けるだけで MEV 攻撃を実証できるようになります。

ステップバイステップガイド:

Forge は、Solidity スクリプトを使用してブロックチェーンのテスト、デプロイ、操作を可能にするスマート コントラクト開発ツールチェーンです。これにより、テスト ファイル内のトランザクションを順序付けるだけで MEV 攻撃を実証できるようになります。

ステップバイステップガイド:

l マシンに Forge がインストールされていることを確認してください ( https://book.getfoundry.sh/getting-started/installation )。

l 単純な forge プロジェクトを作成します。

l mkdir MEV-poc

l cd MEV-poc

初期化を鍛造します

l src フォルダー内のコントラクトを攻撃者のコントラクトに変更します。

l テストフォルダー内のテストファイルを Sandwich.t.sol に変更します。 https://gist.github.com/GibranAkbaromiL/05020630475f4f2599f72b47e52c7949#file-sandwich-t-sol

出力:

これら 2 つのテスト ケースでは、Hardhat と Forge を使用した MEV メザニン攻撃を実証することに成功しました。テスト ケースの出力から、攻撃者と被害者の両方の初期残高は 1000 WETH で、攻撃者は被害者の前奏と後戯のトレードに成功し、その結果、攻撃者に約 123 WETH の利益が得られたことがわかります。被害者が受け取るUSDCは減ります。

私たちが学んだこと

セキュリティ研究で最も重要な部分の 1 つは、発見した潜在的な脆弱性に基づいて PoC を作成することです。なぜそれほど重要なのでしょうか?潜在的な脆弱性を特定するだけでは攻撃が効果的になるわけではないからです。攻撃が機能することを確認できる唯一の方法は、PoC を作成することです。PoC は、特定された脆弱性ごとに個別に作成する必要があります。

ここでは、MEV が発生する可能性のある多くの攻撃ベクトルのうちの 1 つについて説明しただけであり、研究者が発見する実際の攻撃シナリオは、ここで示したものとは大幅に異なる可能性があります。上記の例では、最も一般的なベクトルの 1 つであるスリッページ保護のないスワップ サンドイッチ攻撃のみを取り上げました。自分のスキルをテストし、他の攻撃ベクトルを再現してみたい場合は、 「NFT Minting Prelude」「Off-Chain Word Machine Price Update Prelude」、および「JIT (Instant) Liquidity」も参照してください。

この記事は以上です。ここに数分間時間を費やして、新たな理解を深めたり、既存の知識を強化したりしていただければ幸いです。学習をやめずにバグを探し続けてください。新しいエクスプロイトや脆弱性が毎日発見されるのを待っているため、熱心に働くホワイト ハット ハッカーには報酬と機会が不足することはありません。

コメント

全てのコメント

Recommended for you

  • Ellipsis Labs は、検証可能な金融に焦点を当てた第 2 層ブロックチェーンである Atlas の立ち上げを加速するために、Haun Ventures から 2,000 万ドルの投資を確保しました。チームは現在、Solana ベースの分散型取引所である Phoenix を運営しています。 Ellipsesは4月にParadigm主導による2,000万ドルのシリーズA資金調達ラウンドを完了した。

    Ellipsis Labs は、検証可能な金融に焦点を当てた第 2 層ブロックチェーンである Atlas の立ち上げを加速するために、Haun Ventures から 2,000 万ドルの投資を確保しました。チームは現在、Solana ベースの分散型取引所である Phoenix を運営しています。 Ellipsesは4月にParadigm主導による2,000万ドルのシリーズA資金調達ラウンドを完了した。

  • ブロックチェーン太陽光発電会社Glowが3,000万米ドルの資金調達を完了

    ブロックチェーン太陽光発電会社Glowは、Framework VenturesとUnion Square Venturesが主導して3,000万米ドルの資金調達を完了した。グローは、米国とインドの太陽光発電所で構成される分散型物理インフラストラクチャネットワーク(DePIN)を運営していると報じられている。ネットワーク上の農場にクリーン エネルギーの使用を奨励するために、創設者らは補助金とトークン インセンティブに基づいた経済モデルを設計しました。

  • SOLが170ドルを下回る

    市場では、SOL が 170 米ドルを下回り、現在 169.96 米ドルで取引されており、24 時間で 3.6% 下落しています。市場は大きく変動するため、リスクを管理してください。

  • ビットコインプロジェクトCitrea、ゼロ知識テクノロジーを通じたシリーズA資金調達で1,400万ドルを調達

    ビットコインプロジェクトCitreaは、ピーター・ティール氏のファウンダーズ・ファンド主導によるシリーズA資金調達ラウンドで1,400万ドルを調達した。このプロジェクトは、ゼロ知識 (ZK) テクノロジーを使用してビットコイン ブロックチェーンをスマート コントラクトの場に変えることで、ビットコインをプログラム可能な資産にすることを目的としています。シトレア氏は、ビットコインの有用性を高めることが重要だと述べた。ゼロ知識技術の使用を通じて元の暗号通貨の有用性を拡張することに焦点を当てたビットコインプロジェクトであるCitreaは、シリーズA資金で1400万ドルを調達したと発表した。

  • ビットコインプロジェクトCitreaがシリーズA資金調達で1400万ドルを調達

    ビットコインロールアッププロジェクトのCitreaは、ピーター・ティール氏のファウンダーズ・ファンド主導によるシリーズA資金調達で1400万ドルを調達したと発表し、エンジェル投資家のエリック・ボーヒーズ氏とバラジ・スリニバサン氏も参加している。 Galaxy主導のラウンドで2月に270万ドルのシード資金を調達したCitreaは、ビットコイン上でイーサリアムスタイルのスマートコントラクトの使用を可能にするように設計されたBitVMコンピューティングパラダイムを使用している。

  • イーサリアムのスケーリングインフラストラクチャのSpire Labsがシード資金で700万ドルを調達

    イーサリアムスケーリングインフラストラクチャ開発者のSpire Labsはシードラウンドで700万ドルを調達し、Maven 11 CapitalとAnagram、a16z Crypto Startup Accelerator、Digital Currency Group、Bankless Ventures、Volt Capital、Finality Capitalなどの企業も共同でこの資金調達ラウンドを主導した。関与した。 Celestia LabsのNick White氏とJacob Arluck氏、AltLayerのAmrit Kumar氏とAnthony Sassano氏を含むエンジェル投資家もこのラウンドに参加した。

  • ビットコインプロジェクトCitrea、ゼロ知識テクノロジーを通じたシリーズA資金調達で1,400万ドルを調達

    ビットコインリールのCitreaは、ピーター・ティール氏のファウンダーズ・ファンドが主導するシリーズA資金で1,400万ドルを確保した。このプロジェクトは、ゼロ知識 (ZK) テクノロジーを使用してビットコイン ブロックチェーンをスマート コントラクトの場に変えることで、ビットコインをプログラム可能な資産にすることを目的としています。シトレア氏は、ビットコインの有用性を高めることが重要だと述べた。ゼロ知識技術の使用を通じて元の暗号通貨の有用性を拡張することに重点を置いたビットコインプロジェクトであるCitreaは、シリーズAで1,400万ドルの資金を確保したと発表した。

  • BTCが71,000ドルを下回る

    市場状況によると、BTCは71,000米ドルを下回り、現在は70,990米ドルで取引されており、24時間で1.32%下落しています。市場は大きく変動するため、リスクを管理してください。

  • SUIが2ドルを下回る

    市場では、SUI は 2 ドルを下回り、現在は 1.99 ドルで取引されており、24 時間で 1% 下落しています。市場は大きく変動するため、リスクを管理してください。

  • BNBが580ドルを下回る

    市場状況を見ると、BNBは580米ドルを下回り、現在579.3米ドルで取引されており、24時間で3.14%下落しています。市場は大きく変動するため、リスクを管理してください。