Balancerが50万ドルのハッカー攻撃を受け、分散型金融の契約の脆弱性が再び警鐘を鳴らす

robot
概要作成中

分散型金融プラットフォームBalancerがハッカー攻撃を受けた事件の分析

6月29日午前、分散型金融プラットフォームBalancerの2つのERC20デフレ通貨プールがハッカーの攻撃を受け、50万ドル以上の損失が発生しました。セキュリティ分析者が調査に介入した後、問題の根源はBalancer上のデフレ型トークンとそのスマートコントラクトが特定のシナリオにおいて互換性がないことにあることが判明し、攻撃者は価格の偏差を持つトークンプールを作成し、そこから利益を得ることができました。

ハッカー攻撃は四つの主要なステップに分かれます:

  1. ある貸出プラットフォームから104,331のWETHのフラッシュローンを取得する。

  2. Balancerが保有するSTAトークンがほぼ尽きるまで、swapexactMountin()を繰り返し実行し、残りは0.000000000000000001個のSTAだけにします。

  3. STAトークンとBalancerスマートコントラクトの非互換性、つまり帳簿と残高の不一致を利用して、資金プール内の他の資産を枯渇させ、最終的に523,616.52ドルのデジタル資産を獲得しました。

  4. フラッシュローンを返済し、攻撃で得たデジタル資産を移転する。

!

攻撃の重要な段階で、ハッカーはswapExactAmountIn()関数を通じてごく少量のSTAをBPoolに送り、非常に高い価値の差で大量のWETHと交換しました。STAの送金時に1%の手数料が焼かれるため、実際にはBPoolはSTAを受け取ることができず、実際の残高と内部帳簿が不一致になる結果となりました。攻撃者はその後、gulp()関数を呼び出すことによって_records[STA]を継続的にリセットし、BPoolにごく少量のSTA残高を維持することで、他の資産を高値で交換し続けました。

!

この事件は再び分散型金融のコンポーザビリティにおける互換性リスクを露呈しました。類似の攻撃を防ぐために、以下の最適化案を検討することができます:

  1. 手数料を支払うのに十分な金額がない場合、STA/STONKはtransfer()またはtransferFrom()を実行する際に、直接ロールバックするか、Falseを返すべきです。

  2. バランサーは、各transferFrom()関数呼び出しの後にBPoolの実際のバランスを確認する必要があります。

!

しかし、最善の解決策は依然として事前の予防です。DeFiプロジェクトの開発者は、良好なコード規範を採用し、第三者のセキュリティ会社の協力を求めて包括的な攻防テストを実施し、さまざまなトークン標準とDeFiプロジェクトの組み合わせ行動を綿密に調査する必要があります。

!

今回のBalancer攻撃事件による具体的な損失は次のとおりです:

  • 601.3 ウェス
  • 11,031.4 SNXの
  • 22,593.2リンク
  • 116,107.8 STA
  • 53.4 コンプ

約523,616.52ドルのデジタル資産の損失。

!

!

!

!

!

この事件は間違いなく分散型金融コミュニティに重要な影響を与え、同時にすべてのDeFiプロジェクトの開発者に対してスマートコントラクトの安全性を重視する必要があることを警告しています。

BAL-6.73%
DEFI-4.98%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • 共有
コメント
0/400
コメントなし
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)