比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

DeFi平臺Grim Finance攻擊事件分析:攻擊者盜幣價值超過3000萬美元_EFI

Author:

Time:1900/1/1 0:00:00

0x1事件背景

GrimFinance是一個智能收益優化平臺,允許用戶將AMMs發行的LP-Tokens押在GrimVaults中,這些LP-Tokens會自動收獲并將其獎勵重新押在LP-Tokens上,以獲得復合效應,幫助用戶收獲更多的獎勵。

零時科技區塊鏈安全情報平臺監控到消息,北京時間2021年12月19日,GrimFinance官方發推文稱平臺被外部攻擊者利用,攻擊者盜幣價值超過3000萬美元,零時科技安全團隊及時對該安全事件進行復盤分析。

0x2攻擊者信息

零時科技安全團隊通過初步追蹤分析,此次攻擊發生在Fantom鏈,主要攻擊信息如下:

Cathie Wood:ARK Invest對以太坊區塊鏈及其DeFi創新表示贊賞:ARK Invest創始人Cathie Wood在推特中表示,ARK Invest對以太坊區塊鏈及其DeFi創新表示贊賞。[2021/8/6 1:38:22]

攻擊者錢包地址https://ftmscan.com/address/0xdefc385d7038f391eb0063c2f7c238cfb55b206c

攻擊者合約地址https://ftmscan.com/address/0xb08ccb39741d746dd1818641900f182448eb5e41#code

攻擊交易https://ftmscan.com/tx/0x19315e5b150d0a83e797203bb9c957ec1fa8a6f404f4f761d970cb29a74a5dd6

跨鏈DeFi平臺Alpha Finance推出預言機聚合器:據官方消息,跨鏈 DeFi 平臺 Alpha Finance Lab (ALPHA)宣布推出預言機聚合器Alpha Oracle Aggregator,結合了預言機 Band Protocol 和 Chainlink 的數據信息。[2021/5/11 21:47:45]

GrimBoostVault合約https://ftmscan.com/address/0x660184ce8af80e0b1e5a1172a16168b15f4136bf#code

0x3攻擊分析

以下將拆解攻擊者交易,方便讀者更清晰地了解攻擊過程。

MXC抹茶MX DeFi機槍池今日11時上線新幣頭礦AC(acBTC):據官方公告,1月11日11:00,MXC抹茶MX DeFi機槍池上線第17期新幣頭礦AC(acBTC)。1月11日-1月15日,質押MX、USDT、BTC可挖AC,單個質押池質押額度無上限限制。據了解,MX DeFi是通過質押MX、USDT、BTC或其他指定數字資產,按比例獲取頭礦收益的機槍池挖礦產品。MX DeFi 支持無常損失代償制度,保障用戶本金不受無常損失侵蝕。1月12日16:00,MXC抹茶創新區上線AC(acBTC),開放USDT交易。用戶可登錄Web首頁或App端首頁中部位置,點擊“MX DeFi”參與挖礦。[2021/1/11 15:50:41]

第一步:攻擊者閃電貸借款30枚BTC和92萬枚WFTM,并通過PancakePair將借款添加流動性獲取0.0476枚SpiritLP。

觀點:真正的DeFi項目可能會擺脫監管行動:8月18日消息,Brookwood律師事務所的常務董事Collins Belton認為,對于立法者來說,真正的DeFi項目與ICOs相比屬于不同的法律問題,后者的集中化操作和安全類代幣的發行在DeFi領域基本上沒有,所以真正的DeFi項目可能會擺脫監管機構的監管。但他認為,穩定幣項目可能會受到更多的監管(decrypt)[2020/8/18]

第二步:將獲取的SpiritLP質押后獲得GB-BTC-FTM。

第三步:通過多次質押存款獲取GB-BTC-FTM。

第四步:將獲取的GB-BTC-FTM歸還,獲得0.0663枚SpiritLP。

第五步:解除流動性獲取41枚BTC和128萬枚WFTM,并歸還閃電貸借款及手續費,隨后將獲利的11枚BTC和36萬枚WFTM轉至攻擊者錢包地址。

動態 | 前MakerDAO貢獻者承諾為卡內基梅隆大學捐贈10000枚MKR用于DeFi研究計劃:金色財經報道,前MakerDAO貢獻者和卡內基梅隆大學校友Nikolai Mushegian已向其母校承諾捐贈10000枚MKR(價值近430萬美元),目標是“建立一個去中心化應用程序/協議和博弈論機制的研究計劃”。根據Mushegian的帳戶,他已捐贈了3200枚MKR(130萬美元),并“非正式地承諾”將捐贈另外6800枚MKR(290萬美元)。[2020/1/3]

攻擊者通過同樣的攻擊手法繼續進行了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:DEFDEFIEFIBTCDeFinomicsDeFi ForgeDragonsGameFiubtc幣最新消息

比特幣交易所
Mina 基于 EVM 狀態驗證的橋是如何工作的?_MINA

由MikhailKomarov寫于2021年11月1日 介紹 本文是Mina-Ethereum橋專欄博文的第二篇。你可以通過此鏈接閱讀第一篇.

1900/1/1 0:00:00
Solana上AI/ML賽車游戲RaceFi完成290萬美元私募輪和種子輪融資_SOL

DeFi之道訊,12月4日,Solana上AI/ML賽車游戲RaceFi宣布完成290萬美元的種子輪和私募輪融資.

1900/1/1 0:00:00
密碼學:從理論到現實_CBC

“一切都會出錯”是任何規劃都應該遵循的主要原則之一。 不穩定是事實 在解決密碼問題時,會出現不可抗力的情況。多年來,許多科學家都在考慮每一個細節,但現實往往會讓你感到驚訝.

1900/1/1 0:00:00
2021上海區塊鏈年度盛典亮點搶先預告 | 獎項征集數據公開,評選啟動,科技榮耀拭目以待!_比特幣

2021上海區塊鏈年度盛典將于2021年12月18日在上海市科學會堂國際會議廳隆重舉行 這是為所有區塊鏈人 和廣大科技工作者搭建互聯互通的金色舞臺, 全面推進數字化轉型.

1900/1/1 0:00:00
Web3.0是下一代互聯網?還是馬斯克口中的「胡說八道」_WEB3.0

文章源自元宇宙見聞 編輯|Mamie 昨日,馬斯克在推特上回復美國創業孵化器YCombinator總裁SamAltman稱——“Web3聽起來像是胡說八道.

1900/1/1 0:00:00
世界經濟論壇:數字貨幣正在跨越國界,監管機構如何迎頭趕上_穩定幣

外文精選 針對穩定幣、零售CBDC以及與其他支付方式共存的生態系統,數字貨幣政策制定者應仔細考慮哪些領域需要制定相應的新法規.

1900/1/1 0:00:00
ads