# Euler Financeプロジェクトがフラッシュローン攻撃を受け、近2億ドルの損失3月13日、Euler Financeプロジェクトはスマートコントラクトの脆弱性によりフラッシュローン攻撃を受け、損失は最大1.97億ドルに達しました。攻撃者はプロジェクト内のEtokenコントラクトのdonateToReserves関数に流動性チェックがないという脆弱性を利用し、複数の暗号通貨を通じて何度も攻撃操作を行いました。! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-d96e9a72838647eecb62e1dfc48f2f5d)## 攻撃プロセスの分析攻撃者はまず、ある貸出プラットフォームから3000万DAIのフラッシュローンを取得し、その後、貸出と清算の2つの契約を展開しました。攻撃の過程は大まかに以下の通りです:1. オイラー議定書契約に2,000万DAIを賭け、1,950万eDAIを取得します。2. オイラー議定書の10倍のレバレッジを活用して、1億9,560万eDAIと2億dDAIを貸し出します。3. 残りの1000万DAIを使用して一部の債務を返済し、対応するdDAIを焼却します。4. eDAIとdDAIを同額再度貸し出します。5. donateToReserves関数を通じて1億eDAIを寄付し、次に清算関数を呼び出して清算し、3億1,000万dDAIと2億5,000万eDAIを取得します。6. 最後に3890万DAIを引き出し、フラッシュローンを返済した後に887万DAIの利益を得ました。! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-32928681c9e7631491b5a5f1699820a9)! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-6d4e5a95a6c33353e8f326a5f074b12b)! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-a52f3c784e670d5ebb507b20436f78a0)! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-6246cad18508cd8a8c88619d67fe149c)! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-84b8e2f409d5518b194b74407b07e02e)! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-17ba97f8bbe91404afdca27e5c1dc559)! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-469ffb75f34d18ce6807e39d655ca789)! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-365fa6b36d54052ee6efd59f44a1a6f5)## 脆弱性の原因分析今回の攻撃の核心は、Euler FinanceプロジェクトのdonateToReserves関数に必要な流動性チェックが欠けていることです。mintなどの他の重要な関数と比較して、donateToReserves関数はユーザーの流動性検証のためにcheckLiquidityを呼び出していませんでした。これにより、攻撃者は自身のアカウントの状態を操作し、清算条件に合致させることができ、不当な利益を得ることが可能になりました。通常、checkLiquidity関数はRiskManagerモジュールを呼び出して、ユーザーのEtokenの数がDtokenの数より常に大きいことを確認します。しかし、donateToReserves関数がこのステップをスキップしたため、攻撃者はセキュリティメカニズムを回避することができました。! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-c071e7e84eb0dc7826b7c954f546987e)## セキュリティの提案この事件は、スマートコントラクトのセキュリティ監査の重要性を再度浮き彫りにしました。貸借型プロジェクトにおいては、特に以下のいくつかの側面に重点を置く必要があります:1. 資金返還メカニズムの完全性2. 流動性テストの網羅性3. 借金清算プロセスの安全性プロジェクトチームは契約を展開する前に、同様の脆弱性の発生を防ぐために、包括的かつ詳細なセキュリティ監査を実施する必要があります。また、継続的なセキュリティ監視と迅速な脆弱性修正も、プロジェクトの長期的な安全運営を保障するための鍵となります。! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-a00d28f9fe7463d52cfd055540fad6af)
Euler Financeがフラッシュローン攻撃を受け、約2億ドルの損失を被った
Euler Financeプロジェクトがフラッシュローン攻撃を受け、近2億ドルの損失
3月13日、Euler Financeプロジェクトはスマートコントラクトの脆弱性によりフラッシュローン攻撃を受け、損失は最大1.97億ドルに達しました。攻撃者はプロジェクト内のEtokenコントラクトのdonateToReserves関数に流動性チェックがないという脆弱性を利用し、複数の暗号通貨を通じて何度も攻撃操作を行いました。
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-d96e9a72838647eecb62e1dfc48f2f5d.webp)
攻撃プロセスの分析
攻撃者はまず、ある貸出プラットフォームから3000万DAIのフラッシュローンを取得し、その後、貸出と清算の2つの契約を展開しました。攻撃の過程は大まかに以下の通りです:
オイラー議定書契約に2,000万DAIを賭け、1,950万eDAIを取得します。
オイラー議定書の10倍のレバレッジを活用して、1億9,560万eDAIと2億dDAIを貸し出します。
残りの1000万DAIを使用して一部の債務を返済し、対応するdDAIを焼却します。
eDAIとdDAIを同額再度貸し出します。
donateToReserves関数を通じて1億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)
脆弱性の原因分析
今回の攻撃の核心は、Euler FinanceプロジェクトのdonateToReserves関数に必要な流動性チェックが欠けていることです。mintなどの他の重要な関数と比較して、donateToReserves関数はユーザーの流動性検証のためにcheckLiquidityを呼び出していませんでした。これにより、攻撃者は自身のアカウントの状態を操作し、清算条件に合致させることができ、不当な利益を得ることが可能になりました。
通常、checkLiquidity関数はRiskManagerモジュールを呼び出して、ユーザーのEtokenの数がDtokenの数より常に大きいことを確認します。しかし、donateToReserves関数がこのステップをスキップしたため、攻撃者はセキュリティメカニズムを回避することができました。
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-c071e7e84eb0dc7826b7c954f546987e.webp)
セキュリティの提案
この事件は、スマートコントラクトのセキュリティ監査の重要性を再度浮き彫りにしました。貸借型プロジェクトにおいては、特に以下のいくつかの側面に重点を置く必要があります:
プロジェクトチームは契約を展開する前に、同様の脆弱性の発生を防ぐために、包括的かつ詳細なセキュリティ監査を実施する必要があります。また、継続的なセキュリティ監視と迅速な脆弱性修正も、プロジェクトの長期的な安全運営を保障するための鍵となります。
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-a00d28f9fe7463d52cfd055540fad6af.webp)