OrionProtocolはリエントランシー攻撃を受け、290万ドルを失い、ETHとBSCのデュアルチェーンが影響を受けました

robot
概要作成中

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

2023年2月2日午後、イーサリアムとバイナンススマートチェーン上のオリオンプロトコルは、契約の脆弱性によりリ入攻撃を受け、約290万ドルの損失を被りました。攻撃者は自作のトークン契約のコールバック機能を利用し、取引の過程で入金関数を繰り返し呼び出すことで、資金が誤って累積されて引き出されました。

攻撃プロセス

  1. 攻撃者は最初にカスタムトークン契約を作成し、必要な転送と承認操作を行いました。

  2. 攻撃者はあるDEXのswapメソッドを通じて借入を行い、その後ExchangeWithAtomic.swapThroughOrionPoolメソッドを呼び出してトークンの交換を行います。交換パスはUSDC → 攻撃者が作成したトークン → USDTに設定されています。

  3. 交換プロセス中に、攻撃者のトークン契約が transfer 関数を利用してコールバックを引き起こし、ExchangeWithAtomic.depositAsset 関数を繰り返し呼び出すことで、預金額が誤って累積される。

4.最後に、攻撃者は引き出し機能を通じて余分な資金を引き出し、攻撃を完了します。

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

脆弱性分析

この脆弱性は主に doSwapThroughOrionPool と ExchangeWithAtomic コントラクトの _doSwapTokens 関数に存在します。 主な質問は次のとおりです。

  1. コントラクトは転送が実行された後にcurBalance変数を更新します。
  2. 再入攻撃を効果的に防ぐことができず、転送プロセス中にコールバック関数を実行することを許可します。

これにより、攻撃者はcurBalanceが更新される前にdepositAsset関数を繰り返し呼び出すことができ、資金の計算エラーが発生します。

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

! [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(

攻撃の影響

  • イーサリアムチェーン上で2,844,766 USDTの損失
  • バイナンススマートチェーンで191,606 BUSDを失いました
  • 総額約290万ドル

資金の流れ

攻撃者が得た1,651枚のETHのうち、657.5枚は依然としてウォレットアドレスに残っており、残りはある混合サービスを通じて移動されています。初期資金はある取引所のホットウォレットアカウントから来ています。

セキュリティの提案

  1. スマートコントラクトは「チェック-効果-相互作用」(Checks-Effects-Interactions)モデルに厳密に従って記述してください。
  2. 再入ロックを実装し、関数が実行中に再度呼び出されるのを防ぐ。
  3. トークン交換を行う際には、さまざまなトークンの種類や交換パスを考慮し、異常時の処理を適切に行う。
  4. 定期的にスマートコントラクトのセキュリティ監査を行い、潜在的な脆弱性を迅速に発見し修正します。

今回の事件は、プロジェクト側に対して、資金のやり取りに関わるスマートコントラクトの開発時に、安全性を非常に重視し、包括的な防護策を講じて、契約リスクを最小限に抑える必要があることを再度思い出させるものである。

ETH0.58%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 8
  • 共有
コメント
0/400
AirdropHustlervip
· 07-18 17:53
啧 このスマートコントラクトは紙のように脆い
原文表示返信0
MerkleDreamervip
· 07-18 06:45
また盗まれたの?驚きはないね。
原文表示返信0
rekt_but_resilientvip
· 07-16 11:57
またまた290万を奪われた
原文表示返信0
LiquidationWatchervip
· 07-15 21:48
またリ入攻撃ですね。学習しないですね。
原文表示返信0
ForkTonguevip
· 07-15 21:48
信頼できるプロジェクトがすべて爆発した。いつ終わるのだろうか。
原文表示返信0
OnchainFortuneTellervip
· 07-15 21:44
こんなに長い間、バグはまだ修正されていないのですか?
原文表示返信0
AirdropChaservip
· 07-15 21:38
また罠に人をカモにされました
原文表示返信0
MentalWealthHarvestervip
· 07-15 21:22
ああ、また問題が発生したの??
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)