Bunni スマートコントラクト捨入誤差釀 840 万ドルフラッシュローン攻撃!詳細が公開され、脆弱性は修正されました。

分散化取引プラットフォーム Bunni は重大なセキュリティ事件の調査結果を発表しました——攻撃者はスマートコントラクト内の切り捨て誤差の脆弱性を利用し、フラッシュローン攻撃を成功させ、840万ドルの資金が盗まれました。転送された資金はすでに Tornado Cash で混合され、追跡が難しくなっています。Bunni は攻撃者に「ホワイトハット報酬」プランを提案し、残りの資金の回収に対して10%の資金を返還する意向を示しました。

イベント概要:2つの資金プールが影響を受ける

Bunni の事後分析報告によると、今回の脆弱性は以下に影響を及ぼしました:

UnichainのweETH / ETHトランザクションプール

イーサリアムメインネット上のUSDC/USDT取引プール

この脆弱性は、プールのアイドルバランスを更新するためのBunniHubLogic::withdraw()関数での丸め方向の不適切な処理に起因します。 単独で運用

時該ロジックは安全ですが、複数回の複合操作において、攻撃者に隙を与えてしまいました。

攻撃方法の解体:流動性を枯渇させるための44の小さな引き出し

Bunniの報告は攻撃の過程を再現しました:

フラッシュローン借入資金:攻撃者はフラッシュローンを通じて 300 万ドル USDT を獲得しました。

価格操作:複数回のスワップ取引により、USDC流動性がわずか28 weiに圧縮される。

丸め誤差の利用:連続して44回の小額引き出しを行い、USDCの残高をさらに削減し、資金プールの流動性が大幅に低下しました。

逆アービトラージ:最後に大口スワップで価格を引き上げ、その操作された価格で逆取引を行い、巨額の利益を得る。

脆弱性の原因:丸め方向の隠れたリスク

Bunniは、問題は引き出し時にアイドルバランスの丸め処理の方向を更新することにあると指摘しています。単一の計算では間違いはありませんが、複数の操作が重なると誤差が増幅され、最終的に悪用可能な攻撃面が形成されます。

Bunniは「すべての丸め方向は個別の場合には安全ですが、複数の操作を組み合わせると脆弱性を引き起こす可能性があります。」と述べています。

対応策とプラットフォームの状態

脆弱性修正:同様の攻撃を防ぐために、丸めロジックを更新しました。

安全検証:ブロックチェーンセキュリティ会社Cyfrinはフォークテストを実施し、修正後の安全性を確認しました。

機能回復:すべてのネットワークの出金機能が再開されましたが、入金、スワップなどの機能はまだ停止しています。

追跡と協力:法執行機関や中央集権的な取引所と協力して、関連資金の流れを凍結しようとします。

資金追跡とバウンティ

Bunniは攻撃に関連する2つのウォレットアドレスをロックしましたが、資金がTornado Cashでミキシングされているため、攻撃者の身元を確認することが難しいです。プラットフォームは攻撃者に対し、残りの資金の返還と引き換えに10%のホワイトハット報酬を提案しました。

未来防御とテストフレームワークのアップグレード

Bunniは、テストフレームワークを全面的にアップグレードし、複合操作シナリオのシミュレーションを強化して、同様の脆弱性が再発しないようにすると述べています。現在の攻撃を防ぐために丸め方向を修正することはできますが、チームは新たな潜在的リスクを導入するかどうかを引き続き評価しています。

まとめ

この事件は、スマートコントラクトの数学的論理における微細なエラーが、巨額の損失を引き起こす可能性があることを浮き彫りにしました。DeFiプロジェクトにとって、安全監査は単一の関数の正確性を確認するだけでなく、複数の操作の相互影響にも注目する必要があります。Bunniの迅速な対応と透明な情報開示は、業界に貴重な安全事例を提供しましたが、同時にすべてのプロトコル開発者に警鐘を鳴らしています——分散化金融の世界では、細部が生死を決定づけるのです。

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