0x1事件背景
GrimFinance是一個智能收益優化平臺,允許用戶將AMMs發行的LP-Tokens押在GrimVaults中,這些LP-Tokens會自動收獲并將其獎勵重新押在LP-Tokens上,以獲得復合效應,幫助用戶收獲更多的獎勵。
零時科技區塊鏈安全情報平臺監控到消息,北京時間2021年12月19日,GrimFinance官方發推文稱平臺被外部攻擊者利用,攻擊者盜幣價值超過3000萬美元,零時科技安全團隊及時對該安全事件進行復盤分析。
0x2攻擊者信息
零時科技安全團隊通過初步追蹤分析,此次攻擊發生在Fantom鏈,主要攻擊信息如下:
Terra鏈上DeFi鎖倉量為180.2億美元:金色財經報道,據DefiLlama數據顯示,當前Terra鏈上DeFi鎖倉量為180.2億美元,在公鏈中仍排名第2位。目前,鎖倉量排名前5的公鏈分別為以太坊(1479.7億美元)、Terra(180.2億美元)、BSC(148.6億美元)、Avalanche(113.1億美元)、Solana(96.5億美元)[2022/1/14 8:49:24]
攻擊者錢包地址https://ftmscan.com/address/0xdefc385d7038f391eb0063c2f7c238cfb55b206c
攻擊者合約地址https://ftmscan.com/address/0xb08ccb39741d746dd1818641900f182448eb5e41#code
SushiSwap創始人:將1%DeFi資金分配給YFI生態新項目Woofy很明智:5月12日,yearn.finance (YFI)核心開發者banteg推出拆分YFI代幣的新項目Woofy,允許將YFI和WOOFY雙向轉換,YFI持有者將能兌換為WOOFY,1枚YFI可兌換為 100 萬枚WOOFY,也可將WOOFY兌換回YFI。SushiSwap聯合創始人0×Maki今日發推表示,SushiHOUSE提案通過了2%的DeFi可分配資金,我認為將1%的資金分配給WOOFY是目前唯一明智的事情,其余部分則分配yearn生態指數。[2021/5/12 21:51:51]
攻擊交易https://ftmscan.com/tx/0x19315e5b150d0a83e797203bb9c957ec1fa8a6f404f4f761d970cb29a74a5dd6
歐易OKEx DeFi播報:DeFi總市值1022.50億美元,歐易OKEx平臺WING領漲:據歐易OKEx統計,DeFi項目當前總市值為1022.50億美元,總鎖倉量為571.00億美元;
行情方面,今日DeFi代幣有漲有跌,歐易OKEx平臺DeFi幣種漲幅最大前三位分別是WING、MASK、OM;
截至18:15,OKEx平臺熱門DeFi幣種如圖所示。[2021/3/15 18:46:43]
GrimBoostVault合約https://ftmscan.com/address/0x660184ce8af80e0b1e5a1172a16168b15f4136bf#code
0x3攻擊分析
以下將拆解攻擊者交易,方便讀者更清晰地了解攻擊過程。
ChainUP深圳負責人Joy:DeFi處于發展早期,助力傳統金融需完善基礎設施:11月3日下午5點,深圳區塊鏈技術應用峰會在深圳市會展中心正式落下帷幕,此次峰會與“2020第十四屆深圳國際金融博覽會”同期舉辦,鏈上ChainUP作為領先的區塊鏈技術服務商參與此次峰會。
ChainUP Capital合伙人&ChainUP集團深圳負責人Joy表示,DeFi真正的意義在于使區塊鏈回歸去中心化的本質,目前DeFi助力傳統金融的落地點之一是借貸領域,這個領域也是DeFi當前發展最快的。DeFi助力傳統金融實現轉型,對DeFi協議、智能合約的安全性,以及基礎底層網絡的性能都有很高的要求,現階段DeFi仍舊處于發展的早期,相信隨著基礎設施越來越完善,DeFi的未來會更好。[2020/11/5 11:43:13]
報告:歐洲新加密法規對DeFi行業構成特定風險:據行業監管顧問XReg Consulting稱,歐盟委員會新提出的加密貨幣法規對DeFi行業構成了特定風險。9月24日,歐盟委員會通過了擬議中的加密資產市場(MiCA)法規,旨在通過對加密資產發行者提出一系列義務,加強該行業中的消費者和投資者保護。該條例規定,加密資產發行人必須作為一個法人實體在歐盟運營加密服務。XReg在10月5日的一份報告中指出,這一特殊要求可能代表了DeFi項目的一個重大挑戰,因為DeFi代幣的發行者“有時無法識別”。XReg指出,MiCA可普遍促進消費者和投資者保護、市場完整性和金融穩定。不過,DeFi行業最終可能會遇到“重大的、不可調和的監管挑戰和可能存在的問題,至少在歐洲是這樣”。(Cointelegraph)[2020/10/6]
第一步:攻擊者閃電貸借款30枚BTC和92萬枚WFTM,并通過PancakePair將借款添加流動性獲取0.0476枚SpiritLP。
第二步:將獲取的SpiritLP質押后獲得GB-BTC-FTM。
第三步:通過多次質押存款獲取GB-BTC-FTM。
第四步:將獲取的GB-BTC-FTM歸還,獲得0.0663枚SpiritLP。
第五步:解除流動性獲取41枚BTC和128萬枚WFTM,并歸還閃電貸借款及手續費,隨后將獲利的11枚BTC和36萬枚WFTM轉至攻擊者錢包地址。
攻擊者通過同樣的攻擊手法繼續進行了8次攻擊,如下圖
至此
攻擊者通過9筆攻擊交易共獲取累計獲取26萬枚BTC,1865萬枚,75萬枚DAI,75萬枚USDC,13萬枚BOO,價值約3000萬美元。
下來通過合約代碼了解漏洞發生的原因。
0x4漏洞細節
通過查詢交易詳情可以找出本次攻擊中使用的合約方法主要有兩個:
GrimBoostVault.depositFor方法,用戶質押資金并返回相應的證明代幣。
GrimBoostVault.withdrawAll方法,用戶歸還證明代幣獲取對應的質押資金。
通過交易分析我們可以得知,攻擊者成功的第三步主要是由于多次運轉depositFor方法造成,首先來分析該方法,通讀depositFor方法流程,主要是判斷用戶將資金質押轉入合約后,計算合約余額差值,隨后將差值進行計算后發送給用戶相應的質押證明代幣。乍一看貌似沒有安全問題,但細心的同學會發現,這里的token地址并沒有做固定限制,該token地址是由用戶傳入,由于depositFor方法中會用到token合約地址中的safeTransferFrom方法,token合約地址為用戶可控后,safeTransferFrom方法隨之可控。
現在可明確攻擊者的攻擊路徑,首先創建Token合約,并在合約中的safeTransferFrom方法中寫入重新調用GrimBoostVault.depositFor方法的邏輯,在進行多次重入后最后傳入一筆正常的Token代幣質押,之后雖然會進入到正常流程,但是由于之前的多次重入,導致獲取合約余額的前后差值過大,最終鑄造了大量的證明代幣。
例如:攻擊者進行了6次重入,最后一次傳入資金為100,那么最終得到的差值就是100*6,鑄幣時的計算值也是600。
重入成功后,攻擊者調用withdrawAll方法歸還重入獲取的大量證明代幣獲取對應的質押資金,完成獲利。
目前,GrimFinance官方已暫停所有金庫,并提醒用戶盡快提取自身所有資金,暫未聲明合約修改方案和補償方案。
0x5總結
通過此次攻擊事件來看,攻擊者主要利用GrimBoostVault合約depositFor方法未進行Token地址檢查,通過多次重入造成巨大的合約余額差值,鑄造大量資金,隨后通過withdrawAll方法取走獲利的資金,DeFi項目中類似的攻擊事件居多,為何還會頻頻發生,對于DeFi項目而言,合約代碼的安全,代幣價格的相對穩定,方法傳參的可控性,舊版本的及時更新都是保證項目安全極其重要的部分,任何細節的馬虎都可能導致項目及用戶資金受到損失。對于此類閃電貸攻擊事件,零時科技安全團隊給出以下建議。
0x6安全建議
對于合約代碼安全,可找多家安全審計公司進行審計。對于涉及資金轉賬的方法,應進行嚴格的權限控制。對敏感性較強的代碼,要做到及時更新完善。
Tags:DEFDEFIEFITOKERio DeFiKingDeFiCEFI價格iTrust Governance Token
隨著Facebook更名為Meta,投資者越來越好奇未來元宇宙到底是什么樣子的。摩根士丹利認為,雖然創造和演變可能需要數年時間,元宇宙仍很可能成為下一代社交媒體、流媒體和游戲平臺.
1900/1/1 0:00:00作者&來源:嚴鋒,復旦大學中文系教授、科學雜志《新發現》主編。一個幽靈,元宇宙的幽靈,在人類世界游蕩。一時間,萬眾爭說元宇宙,無數企業想戴上元宇宙這頂帽子.
1900/1/1 0:00:00據彭博社12月8日消息,全球資管公司NatixisInvestmentManagers的調查顯示,數字資產是2022年“重大修正”的“首要競爭者”,近四分之三的受訪機構表示.
1900/1/1 0:00:00DeFi之道訊,12月5日,經濟學家PeterSchiff再次回應薩爾瓦多總統NayibBukele稱:“年輕人,僅僅因為你賭博贏了,并不意味你賭得很好。你很幸運,但用納稅人的錢賭博是錯誤的.
1900/1/1 0:00:00作者:PanteraCapital合伙人PaulVeradittakit隨著2021年即將結束.
1900/1/1 0:00:00據PRNewswire消息,11月30日,元宇宙3DNFT市場MetaMundo宣布完成270萬美元種子輪融資,AnimocaBrands領投.
1900/1/1 0:00:00