Back to Blog

DeFi 攻擊分析:Euler 損失 2 億美元的根本原因

Code Auditing
March 13, 2023
6 min read
Key Insights

2023 年 3 月 13 日,以太坊上的去中心化金融(DeFi)借貸協議 Euler Finance 遭受了閃電貸攻擊,導致約 2 億美元的損失。其根本原因被認定為 donateToReserves() 函數中缺乏流動性檢查。作為一家區塊鏈安全公司,BlockSec 持續監測此類攻擊,旨在提升 DeFi 安全性並保護數位資產。

日期 攻擊類型 損失 是否追回
2023-03-13 業務邏輯漏洞 ETH 約 2 億美元

Euler Finance 在攻擊前曾位列 DefiLlama 前 30 大 DeFi 協議。其總鎖倉量 (TVL) 從 2.64 億美元急劇下降至 1000 萬美元,跌幅達 96%。

關鍵概念

要理解此次攻擊,必須先了解 Euler Finance 的**自借貸(self-borrow)軟清算(soft liquidation)**機制:

  • 自借貸: 允許用戶使用新鑄造的 EToken 作為抵押品來鑄造新資產並增加債務,從而有效實現槓桿。
  • 軟清算: 允許清算人靈活地為被清算方償還債務,而非使用固定的清算係數。

這些機制雖然具備創新性,但也引入了可被攻擊者利用的漏洞。

攻擊分析

攻擊者透過以下步驟執行了此次攻擊:

  1. 從 AAVE 閃電貸借出 3000 萬 DAI。
  2. 將 2000 萬 DAI 存入 Euler Finance 並獲得 2000 萬 eDAI。
  3. 利用 Euler 的借貸能力鑄造了 1.95 億 eDAI 和 2 億 dDAI。
  4. 償還 1000 萬債務以鑄造更多 eDAI,持有 2.15 億 eDAI 和 1.9 億 dDAI。
  5. 重複步驟 4,將持倉增加至 4.1 億 eDAI 和 3.9 億 dDAI。
  6. 調用 donateToReserves() 函數捐贈了 1 億 eDAI。
function donateToReserves(uint256 amount) external {
    // 缺少流動性檢查導致了漏洞
    // 此處為函數邏輯
}

在此過程中,攻擊者的健康因子(health factor)未被驗證,從而允許攻擊者清算自己的倉位以獲取利潤。攻擊者清算了自己,提取了 3800 萬 eDAI 並償還了閃電貸。

此次攻擊屬於閃電貸攻擊,利用了智慧合約中的業務邏輯漏洞

開始使用 Phalcon Security

檢測每一項威脅,針對重要事項發出警報,並阻斷攻擊。

立即免費試用

總結

核心問題在於 donateToReserves() 函數中缺失流動性檢查,結合動態清算折扣機制,造成了套利機會,使攻擊者能夠在沒有足夠抵押品或償還債務的情況下,搾取大量加密資產。

後續追蹤

值得注意的是,約 1.35 億美元的被盜資金(主要是質押以太幣 stETH、比特幣以及 DAI 和 USDC 等穩定幣)已全數追回。攻擊者是一位 19 歲的阿根廷人 Federico Jaime,他在三週後出於道德原因歸還了所有被盜資產。[1]

BlockSec 一直在密切關注該事件。我們的官方 Twitter 帳號 @BlockSecTeam@MetaSleuth 提供了持續更新。2023 年 3 月 18 日,攻擊者歸還了 3,000 枚以太幣,一週後又歸還了 51,000 枚,餘款在隨後的幾天內陸續歸還。

在退還過程中,網路上出現了利用該事件進行的網絡釣魚詐騙。詐騙者建立了釣魚網站 eulerrefunds.cxx,欺騙了一些用戶。

MetaSleuth 作為 BlockSec 的高效能跨鏈資金流向分析工具,在攻擊與退還階段實現了對相關數位資產近乎即時的追蹤。

探索 MetaSleuth 調查工具

追蹤資金流向並為調查建立證據

立即免費試用

更多關於區塊鏈安全資訊

此案例是說明加強區塊鏈安全之必要性的眾多案例之一。BlockSec 為區塊鏈專案提供全面的安全服務,包括:

  • 智慧合約審計:在開發過程中識別漏洞。
  • Phalcon Security:一個提供安全事件警報與自動攔截功能的 SaaS 平台,旨在防止加密貨幣駭客攻擊。
  • MetaSleuth:用於增強數位資產的可追溯性與透明度。
  • 基礎設施審計:確保底層區塊鏈環境的安全。

Web3 領域的最佳安全審計師

在啟動前驗證設計、程式碼與業務邏輯


參考文獻

[1] 他竊取了 2 億美元。他歸還了款項。現在,他準備解釋原因

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit