🎉 攢成長值,抽華爲Mate三折疊!廣場第 1️⃣ 2️⃣ 期夏季成長值抽獎大狂歡開啓!
總獎池超 $10,000+,華爲Mate三折疊手機、F1紅牛賽車模型、Gate限量週邊、熱門代幣等你來抽!
立即抽獎 👉 https://www.gate.com/activities/pointprize?now_period=12
如何快速賺成長值?
1️⃣ 進入【廣場】,點擊頭像旁標識進入【社區中心】
2️⃣ 完成發帖、評論、點讚、發言等日常任務,成長值拿不停
100%有獎,抽到賺到,大獎等你抱走,趕緊試試手氣!
截止於 8月9日 24:00 (UTC+8)
詳情: https://www.gate.com/announcements/article/46384
#成长值抽奖12期开启#
Euler Finance遭1.97億美元閃電貸攻擊 donateToReserves函數漏洞成禍因
Euler Finance漏洞事件分析:閃電貸攻擊導致1.97億美元損失
2023年3月13日,Euler Finance項目遭遇了一次重大安全事件。根據鏈上監控數據顯示,由於Etoken中的donateToReserves函數存在流動性檢查漏洞,項目遭受了閃電貸攻擊。攻擊者通過多次操作不同幣種,最終造成了高達1.97億美元的巨額損失,涉及6種代幣。目前,這筆資金仍然留存在攻擊者的帳戶中。
攻擊過程分析
攻擊者首先從某借貸平台獲取了3000萬個Dai的閃電貸,隨後部署了兩個合約:一個用於借貸,另一個用於清算。
攻擊者將借來的2000萬Dai質押到Euler Protocol合約中,獲得了約1950萬個eDAI。
利用Euler Protocol的10倍槓杆功能,攻擊者借出了1.956億個eDAI和2億個dDAI。
攻擊者使用剩餘的1000萬DAI償還部分債務並銷毀相應的dDAI,隨後再次借出1.956億個eDAI和2億個dDAI。
關鍵步驟:攻擊者調用donateToReserves函數,捐贈了10倍於償還資金的金額,即1億eDAI。緊接着,攻擊者觸發清算函數,獲得了3.1億dDAI和2.5億eDAI。
最後,攻擊者提取了3890萬Dai,歸還了3000萬的閃電貸,最終獲利約887萬Dai。
漏洞成因分析
此次攻擊的核心問題出在donateToReserves函數上。與其他關鍵函數(如mint函數)相比,donateToReserves函數缺少了一個至關重要的步驟:checkLiquidity。
checkLiquidity函數的作用是調用RiskManager模塊,對用戶進行檢查,確保Etoken大於Dtoken,從而保證用戶的流動性狀況。正常情況下,每次操作都需要進行這項檢查。然而,donateToReserves函數缺少這一步驟,導致攻擊者可以先將自己置於可被清算的狀態,然後完成清算操作。
安全建議
針對此類漏洞,我們建議項目方在上線前務必進行全面的安全審計,以確保合約的安全性。對於借貸類項目,尤其需要重點關注以下幾個方面:
只有通過嚴格的安全審核和全面的風險評估,才能最大程度地降低類似安全事件的發生概率,保障項目和用戶的資金安全。