KeyFrame內部研究專用

DeFi security Summit 2023 - Session 17: Focused Talks 3 - Zeeshan Meghji

DeFi Security Summit - DSS·7月17日週一·8 min英文

三句話摘要

2023年DeFi黑客攻擊事件的根本成因與防護方案。 DeFi安全的核心不在高深技術,而在於系統性地實施基礎檢查——健康驗證、配置測試、參數驗證與重入保護缺一不可。 健康因子檢查的必要性:借貸協議必須在所有相關操作中驗證抵押品是否足以償還債務。Euler Finance的「捐贈儲備」功能因缺失此檢查,允許攻擊者創建可清算頭寸並利用20%清算折扣套利,造成巨額損失。

重點整理

重點
  • 1

    健康因子檢查的必要性:借貸協議必須在所有相關操作中驗證抵押品是否足以償還債務。Euler Finance的「捐贈儲備」功能因缺失此檢查,允許攻擊者創建可清算頭寸並利用20%清算折扣套利,造成巨額損失。

  • 2

    市場配置的災難性影響:DeFi協議的配置錯誤—如Len Hub同時維護新舊市場導致跨市場套利、100 Finance列出重複資產、Yearn Finance配置錯誤的Fulcrum市場—會直接導致資金被竊取,防護需仰賴部署前的本地測試。

  • 3

    外部合約參數驗證的關鍵性:當協議允許用戶指定外部合約地址或調用函數時,必須嚴格驗證這些參數。Daxable和Sushi Swap遭受的攻擊均因缺失驗證,使攻擊者能劫持用戶授權實現資金轉移。

  • 4

    只讀重入攻擊的新威脅:攻擊者透過在交易回調期間操縱依賴外部狀態的價格函數(如Midas利用Curve LP代幣移除流動性改變虛擬價格),在重入時借出高估值的資產,防護需使用重入保護或專業庫。

實用技巧與重點

乾貨
  • 被攻擊協議與損失
  • Euler Finance:2.06億美元以上(健康檢查缺失)
  • 市場配置錯誤:2500萬美元(2023年)
  • Len Hub:舊LBSV市場跨市場套利
  • 100 Finance:HWBTC合約重複配置
  • Yearn Finance:USDT/USDC配置錯誤,損失1100萬美元
  • Daxable Decibel:代幣轉移到攻擊者帳戶
  • Sushi Swap:無效池合約路由利用
  • Midas、D5 Switch、Sentiment、Sturdy:只讀重入攻擊(至少4起)
  • 攻擊機制
  • Euler Finance:捐贈儲備函數缺失健康檢查 → 20%清算折扣套利
  • Platypus:緊急提款函數缺失提款後健康檢查 → 任意提取抵押品
  • Len Hub:兩個LBSV市場指向不同控制器 → 跨市場借貸而不還
  • Daxable:用戶授權DEX轉移代幣 + 參數驗證缺失 → 直接轉移用戶資金
  • Midas:LP代幣移除流動性 → 虛擬價格函數返回高價 → 重入時借出高估資產
  • 防護方案
  • 編寫測試:嘗試將頭寸降至可清算閾值以下並驗證回滾
  • 不變性測試與模糊測試:尋找可達臨界值的特定情況
  • 部署測試:在本地主網Fork上測試配置、檢查重複/空市場
  • 參數驗證:嚴格驗證外部合約地址與調用數據
  • 協議重設計:減少需要靈活參數的設計以縮小攻擊面
  • 重入保護:使用帶重入保護的函數或專業庫(如Balancer Vault重入庫)
  • 審計支援:確保合約狀態正確性的第三方驗證

結論

結論

DeFi安全的核心不在高深技術,而在於系統性地實施基礎檢查——健康驗證、配置測試、參數驗證與重入保護缺一不可。

完整解析

詳細

2023年DeFi生態經歷了一系列重大安全事故,揭露了協議設計中的系統性缺陷。這些攻擊的根本原因並非零日漏洞,而是開發者在部署保護機制時的遺漏。

第一類漏洞源自健康因子檢查的缺失。在借貸協議中,健康因子是確保抵押品足以償還債務的關鍵指標。若未在所有相關操作中實施檢查,系統將陷入不一致狀態。Euler Finance便因其「捐贈儲備」功能缺少此檢查而遭受致命一擊:攻擊者藉由創建可清算頭寸、利用20%的清算折扣進行自我清算,不斷重複此循環耗盡協議資金,損失超過2.06億美元。Platypus的攻擊遵循類似邏輯,其緊急提款函數在扣除抵押品後未驗證頭寸健康狀況,導致攻擊者任意提取資金。

第二類漏洞涉及市場配置錯誤,其危害往往被低估。Len Hub同時維護已棄用與當前LBSV市場,兩者連結不同控制器,攻擊者藉此在舊市場存入抵押品、從新市場借貸、直接從舊市場提取而無需還款。100 Finance因控制器列出重複的HWBTC合約而淪陷。Yearn Finance則因配置錯誤的Fulcrum市場(USDC而非USDT)使攻擊者得以操縱儲備金並竊取1100萬美元資產。此類漏洞僅2023年就造成2500萬美元損失。

第三類漏洞源於參數驗證不足。部分協議允許用戶指定外部合約地址甚至調用函數,若缺乏驗證會成為攻擊向量。Daxable Decibel因允許攻擊者指定代幣合約地址並調用轉移函數,使攻擊者劫持用戶對DEX的授權實現直接轉帳。Sushi Swap遭遇類似攻擊,攻擊者傳入無效池合約利用用戶對路由函數的授權。

最新的威脅是只讀重入攻擊。這類攻擊利用交易回調期間外部狀態的變化。Midas協議使用Curve LP代幣作為抵押品,其價格取決於池的虛擬價格函數,而該函數依賴LP代幣總供應量。攻擊者透過從Curve移除大量流動性銷毀LP代幣,使虛擬價格驟升,在回調時以高估價格向Midas借出資金。D5 Switch、Sentiment、Sturdy也遭遇類似攻擊,至少四起重大事件源於此漏洞。

防護策略必須多管齊下:針對健康檢查,編寫負面測試用例驗證拒絕操作;針對配置錯誤,在本地主網Fork上測試並檢查重複市場;針對參數驗證,實施白名單與嚴格驗證甚至重新設計以減少靈活性;針對重入攻擊,使用帶重入保護的函數或借助專業庫如Balancer Vault。同時,審計公司的介入可強化狀態一致性驗證。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web3 安全」的內容

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️
8 min
Web3 安全英文8月14日

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️

Zach Humphries

  • 機構支撐的積極意義:價格操縱常被視為負面,但Ripple掌握大量XRP供應與escrow,在熊市期間提高價格下限,實際上替零售投資者鎖定了低風險的積累區間,這不是剝削而是市場穩定機制。
  • 歷史模式驗證:2024年7月至11月XRP在50美分附近橫盤整理,低點觸及42美分(wick),高點65美分;隨後11月5日至12月5日單月上漲456%,年底到2025年初累計漲幅534%,這個歷史周期正在1美元價位重演。
  • 比特幣聯動邏輯:講者在4-5月就預測「如果比特幣跌至60k以下,XRP會跌至1美元或更低」,此預測精準應驗,反映出熊市中兩者的明確連動關係。
Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady
72 min
Web3 安全英文PODCAST8月5日

Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady

Zero Knowledge

  • 反向 Linux 架構:Commonware 刻意暴露棧各層級控制,讓開發者自訂執行環境、共識機制、密碼學實現,而非像 Cosmos SDK 只允許應用層以上定制。2-3 個月能組裝一條定製鏈,代價是額外深度但回報是長期維護成本降低及效能優化彈性。
  • 容錯假設的典範轉移:Alpine Glow(Solana 2025)實現單輪投票定終的關鍵是將容錯預算分離為獨立的 Byzantine 和 Crash 容限。傳統系統把 33% 當一個整體預算;新模型允許 20% 惡意加 20% 崩潰,打破了 PBFT 理論界線,釋放單輪設計空間。
  • Minimet 與 Multimet 的遞進:Minimet 是 5F+1 設定下的乾淨構造,實現更短視圖延遲;Multimet(剛發布)進一步允許並行 mini-commits 且驗證者可推翻領導者審查,使用者交易在全球分布式網路達到 200-300 毫秒端到端定終。
Private Information Retrieval (PIR) with Alex Hoover
64 min
Web3 安全英文PODCAST7月29日

Private Information Retrieval (PIR) with Alex Hoover

Zero Knowledge

  • PIR 保護的是訪問模式,不是資料本身
  • PIR 與加密不同,它關注的是隱藏「客戶端查詢了什麼」,而非「資料是否加密」。在公開資料庫(如區塊鏈)上,客戶端可以在不洩露查詢對象給伺服器的情況下檢索特定條目,解決了輕量級客戶端的隱私和防審查問題。
  • 客戶端預處理方案是突破瓶頸的關鍵