Euler Finance遭閃電貸攻擊 損失近2億美元

robot
摘要生成中

Euler Finance 遭受閃電貸攻擊,損失近2億美元

2023年3月13日,一場針對Euler Finance的閃電貸攻擊造成了約1.97億美元的巨額損失,涉及6種代幣。這次攻擊利用了項目中Etoken的donateToReserves函數存在的漏洞,該函數缺乏必要的流動性檢查機制。

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

攻擊過程分析

攻擊者首先從某借貸平台獲取了3000萬DAI的閃電貸,隨後部署了兩個關鍵合約:一個用於借貸操作,另一個用於清算。攻擊過程大致如下:

  1. 將2000萬DAI質押到Euler Protocol,獲得1950萬eDAI。
  2. 利用Euler Protocol的10倍槓杆功能,借出約1.956億eDAI和2億dDAI。
  3. 使用剩餘1000萬DAI償還部分債務,銷毀相應dDAI。
  4. 再次借出同等數量的eDAI和dDAI。
  5. 通過donateToReserves函數捐贈1億eDAI,並隨即進行清算操作,獲得3.1億dDAI和2.5億eDAI。
  6. 最後提取約3890萬DAI,償還閃電貸後獲利約887萬DAI。

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

漏洞根源

此次攻擊的核心在於donateToReserves函數缺少必要的流動性檢查。與mint函數相比,donateToReserves函數沒有執行checkLiquidity步驟,這一步驟本應調用RiskManager模塊來確保用戶的Etoken數量大於Dtoken數量。

這個疏忽使得攻擊者能夠操縱自身帳戶狀態,使其符合被清算的條件,然後通過清算過程獲取巨額利潤。

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

安全建議

針對此類漏洞,DeFi項目尤其是借貸平台應當:

  1. 加強合約安全審計,確保所有關鍵函數都包含必要的安全檢查。
  2. 特別關注資金償還、流動性檢測和債務清算等核心功能的安全性。
  3. 實施多重安全機制,避免單點故障導致的大規模損失。
  4. 定期進行安全評估和壓力測試,及時發現並修復潛在風險。

這起事件再次凸顯了智能合約安全的重要性,以及在快速發展的DeFi領域中保持警惕的必要性。項目方應當汲取教訓,不斷完善安全措施,以保護用戶資產和維護生態系統的健康發展。

EUL-4.33%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 3
  • 轉發
  • 分享
留言
0/400
熊市朝阳人vip
· 3小時前
又见闪电贷漏洞 我还是乖乖躺平
回復0
爱发币的阿婆主vip
· 08-14 20:00
又一个项目崩了
回復0
链上流浪诗人vip
· 08-14 19:52
又是扫地出门系列
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)