OrionProtocolは再入攻撃により290万ドルの損失を被りました。セキュリティの脆弱性分析と防止策の提案

robot
概要作成中

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

2023年2月2日午後、イーサリアムおよびバイナンススマートチェーン上のOrionProtocolは、契約の脆弱性により再入攻撃を受け、約290万ドルの損失を被りました。攻撃者は契約の脆弱性を利用し、特殊なトークン契約を作成することでコールバック操作を行い、再入攻撃を実現しました。

攻撃プロセス分析

攻撃者はまず特別なToken契約を作成し、関連する転送と承認操作を行いました。その後、攻撃者はあるDEXのswapメソッドを通じて借入を行い、OrionProtocolのswapThroughOrionPoolメソッドを呼び出してトークンの交換を行いました。交換の過程で、攻撃者は自分が作成したToken契約を利用してコールバックを行い、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(

脆弱性分析

コアの問題はdoSwapThroughOrionPool関数にあります。この関数はトークンの転送を実行した後、curBalance変数を更新しますが、再入攻撃のリスクを考慮していません。攻撃者はカスタムTokenのtransfer関数にコールバックロジックを追加することで、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コードを提供し、攻撃プロセスをシミュレートしました。テスト結果は、契約内の脆弱性を利用することで、実際の攻撃に類似した資金の流れを成功裏に実現したことを示しています。

! [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-1.13%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 7
  • 共有
コメント
0/400
MevTearsvip
· 07-23 02:41
知的障害!また古くさい再入
原文表示返信0
MetaMiseryvip
· 07-21 02:18
またカモにされるのか、ひどいな
原文表示返信0
RetailTherapistvip
· 07-20 20:40
まだ罠にかかった人はいますか
原文表示返信0
PositionPhobiavip
· 07-20 03:55
またスマートコントラクトが失敗しました。
原文表示返信0
CryptoTherapistvip
· 07-20 03:55
再入国のトラウマを解消する前に、少しマインドフルな呼吸をしましょう。
原文表示返信0
RektCoastervip
· 07-20 03:45
古典的な再入れ再帰のシナリオは、老生常談です。
原文表示返信0
SnapshotDayLaborervip
· 07-20 03:33
またクリップクーポンされてしまった、惨
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)