Euler Finance遭2億美元閃電貸攻擊 智能合約漏洞成禍根

robot
摘要生成中

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

近期,Euler Finance項目因智能合約漏洞遭受閃電貸攻擊,導致巨額資金損失。本文將對此次事件進行詳細分析。

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

事件概述

2023年3月13日,Euler Finance項目的Etoken合約中donateToReserves函數缺少必要的流動性檢查,被攻擊者利用進行閃電貸攻擊。攻擊者通過多次操作不同幣種,最終造成約1.97億美元的損失,涉及6種代幣。目前被盜資金仍滯留在攻擊者帳戶中。

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

攻擊過程分析

  1. 攻擊者首先從某借貸平台閃電貸借入3000萬DAI,並部署了借貸合約和清算合約。

  2. 通過deposit函數將2000萬DAI質押到Euler Protocol合約中,獲得1950萬eDAI。

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

  1. 利用Euler Protocol的10倍槓杆功能,借出1.956億eDAI和2億dDAI。

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

  1. 使用剩餘1000萬DAI償還部分債務並銷毀相應dDAI,隨後再次借出同等數量的eDAI和dDAI。

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

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

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

  1. 最後通過withdraw函數提取3890萬DAI,歸還30萬DAI閃電貸,淨獲利887萬DAI。

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

漏洞原因分析

經過代碼審查,發現問題出在donateToReserves函數上。與mint等其他關鍵函數相比,donateToReserves函數缺少了重要的checkLiquidity步驟。

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

checkLiquidity函數通常會調用RiskManager模塊對用戶進行檢查,確保Etoken數量大於Dtoken數量。由於donateToReserves函數未執行此項檢查,攻擊者得以利用協議中的某些功能先將自身置於可被清算的狀態,隨後完成清算獲利。

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

安全建議

針對此類攻擊,項目方應注意以下幾點:

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

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

  3. 所有可能影響用戶資產狀態的函數都應包含必要的安全檢查機制。

  4. 定期進行代碼review和漏洞賞金計劃,及時發現並修復潛在威脅。

  5. 建立應急響應機制,一旦發生攻擊事件能夠迅速採取補救措施。

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

隨着DeFi項目的不斷發展,安全問題愈發重要。項目方應時刻保持警惕,採取全面的安全防護措施,爲用戶資產安全提供有力保障。

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

EUL-3.31%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 3
  • 分享
留言
0/400
钱包被套到退休vip
· 07-24 17:19
玩啥硬核项目 不如跟我抄底大饼
回復0
RadioShackKnightvip
· 07-22 00:56
又一只韭菜割完了
回復0
Blockblindvip
· 07-22 00:52
又一个毒老鼠出来了
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)