# Euler Financeがフラッシュローン攻撃を受け、約2億ドルの損失を被った3月13日、Euler Financeプロジェクトはそのスマートコントラクトに脆弱性があったためにフラッシュローン攻撃を受け、約1.97億ドルの巨額な損失を被りました。この攻撃には6種類の異なる暗号通貨トークンが関与しています。! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-d96e9a72838647eecb62e1dfc48f2f5d)## 攻撃プロセスの分析攻撃者はまずある貸出プラットフォームから3000万DAIのフラッシュローンを取得し、2つの重要な契約を展開しました:1つは貸出操作用、もう1つは清算用です。その後、攻撃者は2000万DAIをEuler Protocolの契約にステーキングし、約1950万eDAIを獲得しました。Euler Protocolの10倍のレバレッジ機能を利用して、攻撃者はさらに1.956億eDAIと2億dDAIを借り出しました。次に、攻撃者は残りの1000万DAIを使って一部の債務を返済し、対応するdDAIを消却しました。その後、再び同じ量のeDAIとdDAIを借り出しました。重要なステップは、攻撃者がdonateToReserves関数の脆弱性を利用して、返済資金の10倍に相当する金額、すなわち1億eDAIを寄付したことです。この操作により、攻撃者は清算メカニズムをトリガーし、3.1億dDAIと2.5億eDAIを得ることができました。最後に、攻撃者は出金機能を通じて3890万DAIを取得し、3000万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)! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-c071e7e84eb0dc7826b7c954f546987e)## 脆弱性の原因分析この攻撃の主な脆弱性は、Euler Finance の donateToReserves 関数に必要な流動性チェックが欠けていることです。 mint 関数などの他の主要な関数とは対照的に、donateToReserves 関数はユーザーの流動性検証のために checkLiquidity を呼び出しません。通常、checkLiquidity関数はRiskManagerモジュールを呼び出して、ユーザーのeToken数量がdToken数量よりも大きいことを確認し、システムの安全性を維持します。しかし、donateToReserves関数がこの重要なステップを欠いているため、攻撃者は自身のアカウント状態を操作し、清算の条件を満たすことができ、その後、清算で利益を得ることができます。! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/social/moments-a00d28f9fe7463d52cfd055540fad6af)## セキュリティの提案この種の攻撃に対して、私たちはブロックチェーンプロジェクトの関係者に次のことをお勧めします:1. スマートコントラクトのローンチ前に、特に資金の借入、流動性管理、債務清算などの重要なプロセスに焦点を当てた包括的なセキュリティ監査を実施する。2. ユーザーの資産状態に影響を与える可能性のあるすべての関数に対して厳格なセキュリティチェックを実施します。これには流動性検証を含むが、これに限定されません。3. 定期的にコードレビューと脆弱性スキャンを行い、潜在的なセキュリティリスクを迅速に修正します。4. 完璧なリスク管理メカニズムを確立し、合理的な借入限度額と清算閾値を設定します。5. 大規模な資金流出を防ぐために、マルチシグやタイムロックなどの追加のセキュリティ対策を導入することを検討してください。これらの予防措置を講じることで、DeFiプロジェクトの安全性を大幅に向上させ、同様の攻撃を受けるリスクを低減できます。
Euler Financeが2億ドルのフラッシュローン攻撃を受け、スマートコントラクトの脆弱性が原因となる
Euler Financeがフラッシュローン攻撃を受け、約2億ドルの損失を被った
3月13日、Euler Financeプロジェクトはそのスマートコントラクトに脆弱性があったためにフラッシュローン攻撃を受け、約1.97億ドルの巨額な損失を被りました。この攻撃には6種類の異なる暗号通貨トークンが関与しています。
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-d96e9a72838647eecb62e1dfc48f2f5d.webp)
攻撃プロセスの分析
攻撃者はまずある貸出プラットフォームから3000万DAIのフラッシュローンを取得し、2つの重要な契約を展開しました:1つは貸出操作用、もう1つは清算用です。
その後、攻撃者は2000万DAIをEuler Protocolの契約にステーキングし、約1950万eDAIを獲得しました。Euler Protocolの10倍のレバレッジ機能を利用して、攻撃者はさらに1.956億eDAIと2億dDAIを借り出しました。
次に、攻撃者は残りの1000万DAIを使って一部の債務を返済し、対応するdDAIを消却しました。その後、再び同じ量のeDAIとdDAIを借り出しました。
重要なステップは、攻撃者がdonateToReserves関数の脆弱性を利用して、返済資金の10倍に相当する金額、すなわち1億eDAIを寄付したことです。この操作により、攻撃者は清算メカニズムをトリガーし、3.1億dDAIと2.5億eDAIを得ることができました。
最後に、攻撃者は出金機能を通じて3890万DAIを取得し、3000万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)
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-c071e7e84eb0dc7826b7c954f546987e.webp)
脆弱性の原因分析
この攻撃の主な脆弱性は、Euler Finance の donateToReserves 関数に必要な流動性チェックが欠けていることです。 mint 関数などの他の主要な関数とは対照的に、donateToReserves 関数はユーザーの流動性検証のために checkLiquidity を呼び出しません。
通常、checkLiquidity関数はRiskManagerモジュールを呼び出して、ユーザーのeToken数量がdToken数量よりも大きいことを確認し、システムの安全性を維持します。しかし、donateToReserves関数がこの重要なステップを欠いているため、攻撃者は自身のアカウント状態を操作し、清算の条件を満たすことができ、その後、清算で利益を得ることができます。
! [オイラーファイナンスの脆弱性分析:フラッシュローンに攻撃され、1億9,700万ドルを失う方法] ](https://img-cdn.gateio.im/webp-social/moments-a00d28f9fe7463d52cfd055540fad6af.webp)
セキュリティの提案
この種の攻撃に対して、私たちはブロックチェーンプロジェクトの関係者に次のことをお勧めします:
スマートコントラクトのローンチ前に、特に資金の借入、流動性管理、債務清算などの重要なプロセスに焦点を当てた包括的なセキュリティ監査を実施する。
ユーザーの資産状態に影響を与える可能性のあるすべての関数に対して厳格なセキュリティチェックを実施します。これには流動性検証を含むが、これに限定されません。
定期的にコードレビューと脆弱性スキャンを行い、潜在的なセキュリティリスクを迅速に修正します。
完璧なリスク管理メカニズムを確立し、合理的な借入限度額と清算閾値を設定します。
大規模な資金流出を防ぐために、マルチシグやタイムロックなどの追加のセキュリティ対策を導入することを検討してください。
これらの予防措置を講じることで、DeFiプロジェクトの安全性を大幅に向上させ、同様の攻撃を受けるリスクを低減できます。