OrionProtocolがリ入攻撃を受け、290万ドルの損失についてデプス分析

robot
概要作成中

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

2023年2月2日午後、イーサリアムとバイナンススマートチェーン上のOrionProtocolプロジェクトは、契約の脆弱性によりリ入攻撃を受けました。攻撃者はイーサリアムチェーンから約284万USDTを盗み、バイナンススマートチェーンから約19万BUSDを盗み、総損失額は約290万ドルに達しました。

攻撃プロセス分析

攻撃者はまずカスタムトークン契約を展開し、一連の準備作業を行いました。その後、攻撃者はあるDEXのスワップ機能を通じて資金を借り入れ、OrionProtocolのExchangeWithAtomic.swapThroughOrionPoolメソッドを呼び出してトークンの交換を行いました。交換経路には攻撃者が作成したトークン契約のアドレスが含まれています。

交換プロセス中に、攻撃者はカスタムトークン契約のコールバック機能を利用して、ExchangeWithAtomic.depositAssetメソッドを繰り返し呼び出し、預金額が何度も加算される事態を引き起こしました。最終的に、攻撃者は引き出し操作を通じて利益を得ました。

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

資金の流れ

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

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

脆弱性分析

コアの問題は、ExchangeWithAtomicコントラクトのdoSwapThroughOrionPool関数にあります。この関数は、トークン転送を実行した後に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コードを提供しました。このコードにはカスタムトークンの作成、流動性プールの構築、操作の権限付与、攻撃の実行などのステップが含まれています。テスト結果は、攻撃の再現が成功し、実際の攻撃の呼び出しスタック結果と一致したことを示しています。

! [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. 契約設計においては、多様なトークンや交換経路がもたらす可能性のあるセキュリティリスクを考慮する必要があります。

  2. "チェック-効果-相互作用"(Checks-Effects-Interactions)のコーディングパターンに従い、最初に条件をチェックし、その後に状態変数を更新し、最後に外部契約と相互作用します。

  3. 外部呼び出しを処理する際は、特に資金移動に関する操作については特に注意を払う必要があります。

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

  5. 合理な権限管理と制限メカニズムを実施し、一度の攻撃による損失を軽減します。

今回の出来事は、Web3プロジェクトの開発チームに対して、革新を追求する際にはスマートコントラクトの安全性を必ず重視する必要があることを再度思い出させています。より安全で信頼性のあるインフラを構築することが、業界全体の健全な発展を促進する唯一の方法です。

TOKEN-2.25%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 8
  • 共有
コメント
0/400
ShadowStakervip
· 07-08 21:29
別の日、別のDeFiの脆弱性…開発者たちはいつリインタビリティを確認することを学ぶのだろう、はぁ
原文表示返信0
TokenTherapistvip
· 07-07 15:54
また一つ倒れた
原文表示返信0
GasWastervip
· 07-06 14:26
また盗まれた
原文表示返信0
SigmaBrainvip
· 07-05 22:13
再びリ入攻撃だ。この勢いでは防御が破られる。
原文表示返信0
ponzi_poetvip
· 07-05 22:13
安全性はどうなったの?どこに行ったの?
原文表示返信0
GetRichLeekvip
· 07-05 22:13
前列でスイカを食べる 契約監査もできず 大損
原文表示返信0
BearMarketGardenervip
· 07-05 22:07
契約がまた爆発した、ああ
原文表示返信0
DaoGovernanceOfficervip
· 07-05 22:00
*ため息* 経験的に言うと、これらのハックの99%は基本的なステート管理の見落としから生じている...
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)