マルチチェーン攻撃事件分析:ホワイトハット救援プロセスと分散型金融の安全に関する示唆

robot
概要作成中

2022年1月18日、ある異常取引監視システムがAnySwapプロジェクト(つまりMultichain)に対する攻撃を発見しました。契約関数に脆弱性が存在したため、ユーザーがこのプロジェクトに対して承認したトークンが攻撃者によって引き出される可能性がありました。

プロジェクト側が影響を受けたユーザーに様々な方法でリマインダーを送ろうとしても、多くのユーザーが権限をタイムリーに撤回できず、攻撃者が利益を得続けることができました。

攻撃が継続していることを受けて、あるセキュリティチームは緊急対応策を講じることを決定しました。この救助は、イーサリアム上の影響を受けたアカウントを対象としており、関連する資金は特別に設立されたマルチシグホワイトハットアカウントに移されました。行動の透明性を確保するために、関連計画の文書ハッシュ(内容ではなく)がコミュニティに公開されました。救助活動は2022年1月21日に開始され、3月11日に正式に終了しました。

緊急救援は多くの技術的および非技術的な課題に直面しています。以下に全体のプロセスの心得と体験を共有します。DeFiエコシステムの安全に役立つことを願っています。

概要:

  • ホワイトハットと攻撃者の間、そしてそれぞれのグループ内部でFlashbotsの使用に激しい競争が生じ、支払い費用も急速に増加している。

  • Flashbotsは万能ではなく、一部の攻撃者はmempoolを利用し、巧妙な戦略によって攻撃を成功させている。

  • 一部の攻撃者はプロジェクト側と合意し、一部の所得を返還し、一部を報酬として保持することで、クリーンなイメージを作り出しました。このような行為はコミュニティ内で論争を引き起こしています。

  • ホワイトハットは敏感情報を漏らすことなくコミュニティに行動を公開でき、この信頼構築方法は効果的です。

  • コミュニティのさまざまな力の協力により、救助がより迅速かつ効果的になる。例えば、ホワイトハット同士が協力して無駄な競争を減らすことができる。

以下の4つの側面から議論を展開します: イベントの全体的な振り返り、救助方法の実施と直面する課題、感想、および関連する提案。

!

攻撃・救助状況の概要

全体的な結果:

1月18日から3月20日までの観測(2022 )期間中、全体的な攻撃・救助状況は以下の通りでした。

9つの救済アカウントが483.027693 ETHを保護し、Flashbots手数料として295.970554 ETHを支払いました(は61.27%)を占めています。

21の攻撃アカウントが1433.092224 ETHを得て、Flashbots手数料148.903707 ETHを支払いました(は10.39%を占めています)。

注意が必要です。複雑な相互作用があるため、(のように、一部の攻撃者が利益の一部を返還した後、アドレスラベルが変更されることがあります)。上記はあくまでおおよその統計です。

!

Flashbotsの料金変更傾向:

競争の激しさを評価するために、取引ブロックに基づいて攻撃および救助取引のFlashbots手数料の割合を統計しました。

初期のいくつかの攻撃取引においてFlashbotsの手数料は0であり、攻撃者がまだFlashbotsを使用していないことを示しており、競争は激しくなかった。その後、手数料の割合は急速に上昇し、あるブロックでは80%に達し、その後91%にまで達した。これはFlashbots上の権利争いに起因する手数料の軍拡競争に進化したことを示している。

!

実施された救援活動と直面している課題

救援基本思路:監視潜在な被害者アカウント、WETHが転送されたときに脆弱性を利用してホワイトハットのマルチシグウォレットに転送します。鍵となるのは:

1.トランザクションを効果的に特定(、トランザクション)を被害者に転送します 2. 正しく救助の取引(を構築して実施する救助取引) 3. 成功したフロントラン攻撃者(または第三者)の取引(攻撃取引)

前の2つの点は私たちにとって障害とはなりません。3つ目の点は依然として挑戦的です:

  • Flashbotsを使って先行することは可能ですが、攻撃者も使用する可能性があるため、費用設定戦略を追加で考慮する必要があります。
  • 競争が激しい時、Flashbotsは最良の選択肢ではなく、mempoolを使用して通常の取引を送信する必要があります。
  • 他の"ホワイトハット"と競争し、特定の行動には論争が存在する可能性がある

私たちは171の潜在的な被害者アカウントを保護しようとしました。10個のアカウントは自ら権限を撤回し、残りの161のうち、私たちはわずか14個を救出することに成功しました。失敗したケースには3つの救出アカウントと16の攻撃アカウントが含まれます。

!

教訓

Flashbotsの手数料をどのように確認しますか?

私たちは比較的保守的な戦略を採用し、被害者の利益を保護するために料金をできるだけ少なく設定します。成功した攻撃取引が発生した場合にのみ、料金の割合をわずかに引き上げることがあります。しかし、この戦略はあまり成功しておらず、相手は通常より攻撃的です:

  • ある攻撃者は比率を70%に設定しました
  • あるホワイトハットが比率を79%、80%に設定しました。
  • 別のホワイトハットは比率を81%に設定しました
  • 攻撃者はさらに86%に達しました

これはゼロサムゲームになっているようで、コスト削減と競争に勝つことのバランスを求める必要があります。

!

mempoolで取引の位置を正しく配置するにはどうすればよいですか?

激しい競争のため、Flashbotsは常に有効ではありません。mempoolを通じて通常の取引を送信することも可能な方法であり、重要なのは、適切な位置に(を配置し、送金取引の直後)に続けることです。

ある攻撃者はこの戦略を用いて312 ETHの利益を得ることに成功し、Flashbotsの手数料を支払う必要がありませんでした。あるブロックで、被害者の送金取引が65にあり、攻撃取引が66にある場合、50 ETHの利益を得ることに成功しました。

この巧妙な戦略は注目と学習に値します。

!

他の考え

ホワイトハットと攻撃者をどのように区別しますか?

ホワイトハットを識別することは常に直感的ではありません。あるアカウントは最初に攻撃者としてマークされ、その後プロジェクト側との協議の結果、50 ETHを報酬として保持し、他の利益を返還することに同意した後、ホワイトハットとして再マークされました。この現象は、インセンティブの公平性についてコミュニティでの議論を引き起こしました。

ホワイトハットの間の競争

コミュニティは、ホワイトハット間の競争を減らすために調整メカニズムを構築する必要があります。競争は救助リソースを浪費し、Flashbotsの手数料を押し上げることもあります。例えば、異なるホワイトハットが手数料の割合を80%、81%に次々と引き上げる場合です。調整メカニズムがなければ、ホワイトハットはこの競争を止めることが困難です。

救助活動をより良く展開するにはどうすればいいですか?

  • ホワイトハットは、敏感な情報を漏らすことなく、コミュニティに行動を公開し、コミュニティの信頼を得ることができます。
  • コミュニティのさまざまな側面が協力して手を携えることができる:
    • Flashbots/マイナーは信頼できるホワイトハットにグリーン・パスを提供します
    • プロジェクト側がFlashbotsの費用を負担する
    • プロジェクト側は便利なメカニズムを採用して、ユーザーにタイムリーに警告します。
    • プロジェクト側はコード内で必要な緊急措置を講じます

!

MULTI-2.83%
DEFI-4.96%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 5
  • リポスト
  • 共有
コメント
0/400
NftDeepBreathervip
· 07-26 00:13
へへ、ホワイトハットはお互いに助け合わなければならないね。
原文表示返信0
TheMemefathervip
· 07-24 22:39
また通貨で騙されたの?慣例になってるね
原文表示返信0
MidsommarWalletvip
· 07-23 05:20
また一つのプロジェクトが人をカモにされた。
原文表示返信0
RektButAlivevip
· 07-23 05:18
ホワイトハットはハッカーよりも忙しい 唔
原文表示返信0
wrekt_but_learningvip
· 07-23 05:15
またホワイトハットが飯を奪い取るのか
原文表示返信0
  • ピン
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)