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.
Euler Financeが2億ドルのフラッシュローン攻撃を受け、分散型金融の安全性が再び警鐘を鳴らす
Euler Financeはフラッシュローン攻撃を受け、約2億ドルの損失を被った
2023年3月13日、Euler FinanceプロジェクトはそのEtoken契約におけるdonateToReserves関数の脆弱性により、大規模なフラッシュローン攻撃を受けました。攻撃者は複数のトークンを利用して何度も操作を行い、最終的に約1.97億ドルの巨額な損失を引き起こしました。
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-d96e9a72838647eecb62e1dfc48f2f5d.webp)
攻撃プロセスの分析
攻撃者はまずある貸出プラットフォームから3000万DAIのフラッシュローンを取得し、その後2つの重要なコントラクトをデプロイしました:1つは貸出操作用、もう1つは清算用です。攻撃プロセスは以下のいくつかのステップに分けられます:
オイラー議定書契約に2,000万DAIを賭け、約1,950万eDAIを取得します。
オイラー議定書の10倍のレバレッジを活用して、1億9,560万eDAIと2億dDAIを貸し出します。
残りの1000万DAIを使用して、一部の債務を返済し、対応するdDAIを焼却します。その後、同等の数量のeDAIとdDAIを再度借り出します。
donateToReserves関数を通じて100,000,000 eDAIを寄付し、次に清算関数を呼び出して清算し、3億1,000万dDAIと2億5,000万eDAIを取得します。
最後に3890万DAIを引き出し、フラッシュローンを返済した後、約887万DAIの純利益を得ました。
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-32928681c9e7631491b5a5f1699820a9.webp)
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-6d4e5a95a6c33353e8f326a5f074b12b.webp)
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-a52f3c784e670d5ebb507b20436f78a0.webp)
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-6246cad18508cd8a8c88619d67fe149c.webp)
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-84b8e2f409d5518b194b74407b07e02e.webp)
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-17ba97f8bbe91404afdca27e5c1dc559.webp)
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-469ffb75f34d18ce6807e39d655ca789.webp)
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-365fa6b36d54052ee6efd59f44a1a6f5.webp)
脆弱性の原因分析
今回の攻撃の核心的な問題は、donateToReserves関数に必要な流動性チェックが欠けていることです。mint関数と比較して、donateToReserves関数はcheckLiquidityステップを実行していないため、ユーザーは通常の流動性チェックメカニズムを回避することができます。
通常、checkLiquidity関数はRiskManagerモジュールを呼び出して、ユーザーのEtokenの数がDtokenの数よりも大きいことを確認します。しかし、donateToReserves関数がこのステップをスキップしたため、攻撃者は自らを清算可能な状態に置いた後、清算操作を完了することができました。
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-c071e7e84eb0dc7826b7c954f546987e.webp)
セキュリティの提案
この種の脆弱性に対して、DeFiプロジェクト側に提案します:
コントラクトが稼働する前に、全面的なセキュリティ監査を実施し、コントラクトの安全性を確保します。
借貸系プロジェクトにおける資金返済、流動性検査、債務清算などの重要なプロセスに特に注目する。
ユーザーの資産状態に影響を与える可能性のあるすべての関数に対して厳格な流動性チェックを実施する。
定期的にコードレビューを行い、潜在的なセキュリティリスクを迅速に修正する。
マルチシグネチャメカニズムやタイムロックなどの追加の安全対策を導入することを検討してください。
今回の事件は、スマートコントラクトのセキュリティの重要性を再度浮き彫りにしました。プロジェクトチームは常にセキュリティを最優先とし、ユーザー資産とプロジェクトエコシステムの健全な発展を守るために、継続的にセキュリティプラクティスを改善する必要があります。
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-a00d28f9fe7463d52cfd055540fad6af.webp)