GMXのセキュリティ事件の脆弱性分析と盗まれた資金の追跡

GMXが攻撃を受け、攻撃者はプロジェクト契約の再入可能な脆弱性を通じて攻撃を実施し、約4200万ドルを得ました。Beosinのセキュリティチームは今回の攻撃事件に対して脆弱性分析と資金追跡を行い、その結果を以下のように共有しました:

詳細な攻撃手順

攻撃者は最初にOrderBookコントラクトのexecuteDecreaseOrder関数における保証金返還メカニズムを利用し、再入攻撃を発動してプロジェクトのTimelockコントラクトのレバレッジスイッチを回避します:

!

その後、攻撃者はフラッシュローンを通じてUSDCを借りて質入れし、GLPを鋳造し、同時にUSDCを保証金としてBTCのショートポジションを増加させ、GLPマネージャー契約のAUM値を虚偽に高くします。この値の計算はGLPの価格に影響を与えます。

!

最後に、攻撃者は異常な価格でGLPを償還して利益を得て、他のトークンに交換することを指定しました。

脆弱性分析

上記の攻撃プロセスを通じて、イベント全体の脆弱性の利用理由は以下の2点であることがわかります。

  • 再入可能な保護が欠如しており、償還プロセス中に内部状態が再入によって変更される。

  • リデンプションロジックは比較的複雑で、十分なセキュリティチェックが欠如しています。

GMXは複数回のセキュリティ監査を受けましたが、この再入可能な脆弱性は見落とされました。もし、償還ロジックに対してより厳格なチェックが行われ、存在する可能性のある再入脆弱性を考慮していたなら、このようなセキュリティ事件を回避できたかもしれません。

盗まれた資金の追跡

Beosin Traceによる盗まれた資金の追跡結果:攻撃者アドレス0x7d3bd50336f64b7a473c51f54e7f0bd6771cc355は約4200万ドルの利益を得た。次にDeFiプロトコルはステーブルコインとアルトコインをETHとUSDCに交換し、複数のクロスチェーンプロトコルを通じて盗まれた資産をEthereumネットワークに移転した。現在、盗まれた資産の中で約3200万ドル相当のETHは以下の4つのEthereumネットワークアドレスに保管されている:

  • 0xe9ad5a0f2697a3cf75ffa7328bda93dbaef7f7e7

  • 0x69c965e164fa60e37a851aa5cd82b13ae39c1d95

  • 0xa33fcbe3b84fb8393690d1e994b6a6adc256d8a3

  • 0x639cd2fc24ec06be64aaf94eb89392bea98a6605

約1000万ドルの資産がArbitrumネットワークのアドレス0xdf3340a436c27655ba62f8281565c9925c3a5221に保管されています。Beosin Traceはハッカー関連のアドレスをブラックリストに追加し、今後も追跡を続けます。

!

Beosin Traceの分析によると、すべての盗まれた資金は攻撃者の複数のアドレスにまだ保管されています。

まとめ

今回の攻撃の核心はGMX契約に重入れの脆弱性が存在し、攻撃者が虚偽に増加させたAUM値を利用して大量の資産を引き出し利益を得ることができた点です。GMXのような複雑なDeFiプロトコルは、複数の側面や多層的なセキュリティ監査を通じて、契約コードを詳細にテストし、審査する必要があります。これまでに、BeosinセキュリティチームはSurf Protocol、SyncSwap、LeverFi、Owlto Financeなどの複数のDeFiプロトコルのセキュリティ監査を完了しており、契約の論理的欠陥や見落とされがちな極端な状況を発見することに重点を置いて、DeFiプロトコルが全方位で検査されることを保証しています。

原文表示
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • 報酬
  • コメント
  • 共有
コメント
0/400
コメントなし
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)