OrionProtocolはリエントランシー攻撃を受け、290万ドルの暗号資産を失いました

OrionProtocolのリエントランシー攻撃の分析

2023年2月2日午後、イーサリアムとバイナンススマートチェーン上のOrionProtocolが契約の脆弱性により再入攻撃を受け、合計約290万ドルの暗号資産が損失しました。その中にはイーサリアム上の2,844,766 USDTとバイナンススマートチェーン上の191,606 BUSDが含まれています。

攻撃プロセス分析

攻撃者はまず特注のトークン契約を展開し、次の攻撃に備えて必要な移転および権限操作を行いました。その後、攻撃者はあるDEXのスワップ機能を通じて資金を借り入れ、OrionProtocolのExchangeWithAtomic.swapThroughOrionPoolメソッドを呼び出してトークンの交換を行いました。交換経路は[USDC, 攻撃者トークン, USDT]に設定されました。

交換プロセス中に、攻撃者のTokenコントラクトはそのtransfer関数を利用してExchangeWithAtomic.depositAssetメソッドを呼び出し、再入攻撃を実現しました。これにより、預金額が重複計算され、攻撃者はその後、引き出し操作を通じて過剰な利益を得ました。

! [PoCによるOrionProtocolリエントランシー攻撃分析](https://img-cdn.gateio.im/webp-social/moments-730464b2d4d7f6e0ff21a0289a2d5d68.webp0192837465674839201

資金の流れ

攻撃者の初期資金は、ある取引プラットフォームのホットウォレットから来ています。攻撃によって得られた1,651 ETHのうち、657.5 ETHは攻撃者のウォレットアドレスに残っており、残りはミキシングサービスを通じて移動されました。

! [PoCによるOrionProtocolリエントランシー攻撃分析])https://img-cdn.gateio.im/webp-social/moments-caac189901b7aaad5abd8be30bb4361a.webp(

脆弱性分析

コアの脆弱性はdoSwapThroughOrionPoolおよび_doSwapTokens関数に存在します。重要な問題は、契約が送金操作を実行した後にcurBalance変数を更新するため、再入攻撃の条件が生まれることです。攻撃者はカスタムトークンのtransfer関数にコールバックロジックを追加することで、depositAsset関数が繰り返し呼び出され、curBalanceが誤って更新されることを引き起こします。

! [PoCによるOrionProtocolリエントランシー攻撃分析])https://img-cdn.gateio.im/webp-social/moments-7e21c34158a85d4c387fcdbec136d31b.webp(

! [PoCによるOrionProtocolリエントランシー攻撃分析])https://img-cdn.gateio.im/webp-social/moments-24819b5154419e86ea523a25a9101f67.webp(

! [PoCによるOrionProtocolリエントランシー攻撃分析])https://img-cdn.gateio.im/webp-social/moments-7c4bde9d6a35da4304844a3bbb934fae.webp(

! [PoCによるOrionProtocolリエントランシー攻撃分析])https://img-cdn.gateio.im/webp-social/moments-7239f8886fe83c1da8b1b42545185811.webp(

! [PoCによるOrionProtocolリエントランシー攻撃分析])https://img-cdn.gateio.im/webp-social/moments-e5042932f0e1b7fa96e3f6e749231957.webp(

! [PoCによるOrionProtocolリエントランシー攻撃分析])https://img-cdn.gateio.im/webp-social/moments-4bd31735de09c63c490488e887118038.webp(

! [PoCによるOrionProtocolリエントランシー攻撃分析])https://img-cdn.gateio.im/webp-social/moments-cd401091e63ab21864f39cd650014b97.webp(

! [PoCによるOrionProtocolリエントランシー攻撃分析])https://img-cdn.gateio.im/webp-social/moments-e010d0f0c02fb8bbc648f755b0ac464c.webp(

! [PoCによるOrionProtocolリエントランシー攻撃分析])https://img-cdn.gateio.im/webp-social/moments-f3c5f9416cfb9b7b791d86eeffb933be.webp(

予防に関する推奨事項

  1. Checks-Effects-Interactions パターンに従って、外部呼び出しの前に状態変数が更新されるようにします。

  2. 再入ロックを実装して、関数が実行中に再度呼び出されるのを防ぎます。

  3. 様々なトークンタイプと交換経路がもたらす可能性のあるセキュリティリスクを包括的に考慮する。

  4. 外部呼び出しの制限と監視を強化し、特に資金移動に関する操作について。

  5. 定期的にセキュリティ監査を行い、潜在的な脆弱性を迅速に発見し修正します。

今回の事件は、スマートコントラクトを開発する際に、安全なコーディング規範を厳守する重要性を再確認させるものです。プロジェクトチームは、契約の安全性に継続的に注意を払い、攻撃を受けるリスクを最小限に抑えるために、複数の防護策を講じるべきです。

TOKEN-1.06%
ETH1.24%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 6
  • リポスト
  • 共有
コメント
0/400
New_Ser_Ngmivip
· 07-13 12:19
またハッカーがクリップクーポンを利用しました
原文表示返信0
DegenMcsleeplessvip
· 07-13 03:32
またプロジェクトが崩壊しました〜
原文表示返信0
SatoshiSherpavip
· 07-12 13:26
またスマートコントラクトを手に入れましたね、ああ
原文表示返信0
VCsSuckMyLiquidityvip
· 07-10 17:44
また一人倒れたのは意外ではない
原文表示返信0
GasFeeDodgervip
· 07-10 17:37
また一つのプロジェクトが逃げた 逃げた逃げた
原文表示返信0
FOMOSapienvip
· 07-10 17:16
もう一つの鉄鉱の釣り
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)