This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
OrionProtocolが再入攻撃を受け、290万ドルの損失。スマートコントラクトの安全性が再び警鐘を鳴らす。
OrionProtocolのリエントランシー攻撃の分析
2023年2月2日午後、イーサリアムとバイナンススマートチェーン上のオリオンプロトコルが契約の脆弱性により再入攻撃を受け、合計約290万ドルの損失を被りました。攻撃者は独自のトークン契約のコールバック機能を利用し、取引所のセキュリティメカニズムを回避することに成功しました。
攻撃プロセス
攻撃者は最初に特別なトークン契約を作成しました。
ある分散型取引所を通じて資金を借り入れ、OrionProtocolのトークン交換機能を呼び出します。
交換プロセス中に、攻撃者のトークン契約がコールバックをトリガーし、入金機能を繰り返し呼び出すことで、システムが誤って入金額を加算しました。
最後に、攻撃者は過剰資金を引き出し、攻撃を完了します。
! [PoCによるOrionProtocolリエントランシー攻撃分析](https://img-cdn.gateio.im/webp-social/moments-730464b2d4d7f6e0ff21a0289a2d5d68.webp0192837465674839201
脆弱性分析
コアの問題は、OrionProtocolのdoSwapThroughOrionPool関数にあります。この関数はトークンの転送後に残高を更新しますが、再入可能性リスクを考慮していません。攻撃者はコールバック機能を持つ偽のトークンを作成することにより、転送プロセス中に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(
資金の流れ
攻撃で得た1651枚のETHのうち、657.5枚は攻撃者のウォレットに残っており、残りはミキシングサービスを通じて移動されました。初期資金はある大手取引所のホットウォレットからのものでした。
! [PoCによるOrionProtocolリエントランシー攻撃分析])https://img-cdn.gateio.im/webp-social/moments-f3c5f9416cfb9b7b791d86eeffb933be.webp(
セキュリティに関する推奨事項
"チェック-効果-相互作用"(Checks-Effects-Interactions)パターンに従ってスマートコントラクトを作成します。
トークン交換に関する機能については、さまざまなトークンタイプと交換パスがもたらす可能性のあるセキュリティリスクを十分に考慮する必要があります。
より厳格な残高更新メカニズムを実施し、再入攻撃を防止します。
定期的に第三者のセキュリティ監査を行い、潜在的な脆弱性を迅速に発見し修正します。
今回の事件は、複雑なDeFiエコシステムにおいて、スマートコントラクトの安全性が非常に重要であることを再度思い出させてくれます。プロジェクトチームは、ますます複雑化する攻撃手段に対処するために、安全対策を継続的に改善する必要があります。