Euler Finance遭2億美元閃電貸攻擊 DeFi安全再敲警鍾

robot
摘要生成中

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

2023年3月13日,Euler Finance項目因其Etoken合約中的donateToReserves函數存在漏洞,遭受了一次大規模閃電貸攻擊。攻擊者利用多種代幣進行了多次操作,最終造成約1.97億美元的巨額損失。

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,隨後再次借出同等數量的eDAI和dDAI。

  4. 通過donateToReserves函數捐贈1億eDAI,隨即調用liquidate函數進行清算,獲得3.1億dDAI和2.5億eDAI。

  5. 最後提取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億美金!

漏洞原因分析

此次攻擊的核心問題在於donateToReserves函數缺少必要的流動性檢查。與mint函數相比,donateToReserves函數未執行checkLiquidity步驟,導致用戶可以繞過正常的流動性檢查機制。

正常情況下,checkLiquidity函數會調用RiskManager模塊來確保用戶的Etoken數量大於Dtoken數量。然而,由於donateToReserves函數跳過了這一步驟,攻擊者得以先將自己置於可被清算的狀態,然後完成清算操作。

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

安全建議

針對此類漏洞,我們建議DeFi項目方:

  1. 在合約上線前進行全面的安全審計,確保合約的安全性。

  2. 特別關注借貸類項目中的資金償還、流動性檢測和債務清算等關鍵環節。

  3. 對所有可能影響用戶資產狀態的函數實施嚴格的流動性檢查。

  4. 定期進行代碼review,及時修復潛在的安全隱患。

  5. 考慮引入多重籤名機制或時間鎖等額外的安全措施。

此次事件再次凸顯了智能合約安全的重要性。項目方應當始終將安全放在首位,通過不斷完善的安全實踐來保護用戶資產和項目生態的健康發展。

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

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 6
  • 分享
留言
0/400
MEV之泪vip
· 07-07 18:24
defi躺着数钱很香?
回復0
rekt_but_vibingvip
· 07-06 05:25
又一个项目跑路了
回復0
P2ENotWorkingvip
· 07-06 05:23
又炸了,不意外
回復0
token_therapistvip
· 07-06 05:14
又一个割韭菜盛宴
回復0
炒币老母亲vip
· 07-06 05:10
币圈韭菜又割一茬
回復0
熊市避雷针vip
· 07-06 05:00
项目审计也没用啊
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)