比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

GRI:Grim Finance閃電貸安全事件分析

Author:

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

安全實驗室第一時間對本次事件深入跟蹤并進行分析。0x02:事件詳情

交易細節如下圖所示:

瀏覽上圖的交易過程可知,攻擊合約利用閃電貸借取代幣WFTM和BTC,將借取的代幣與自己鑄造的代幣質押到SpiritSwap里增加流動性獲取lp代幣,而問題就出現在攻擊者通過depositFor()實現質押的過程中。

通過Tenderly(https://http://dashboard.tenderly.co/tx/fantom/0x19315e5b150d0a83e797203bb9c957ec1fa8a6f404f4f761d970cb29a74a5dd6/debugger調試該筆交易,攻擊者多次遞歸調用depositFor函數,利用該函數獲取大量代幣:

Grin開發者正在開發Grin和BTC原子互換:官方消息,隱私幣Grin表示,Grin資助的開發者目前正在進行的工作包括:實現硬件錢包Ledger支持Grin,以及Grin和BTC原子互換。[2021/4/3 19:43:28]

0x03:漏洞分析

depositFor()函數位于https://http://ftmscan.com/address/0x660184ce8af80e0b1e5a1172a16168b15f4136bf#code的第1115行:

美國紐約聯邦法官駁回以太坊開發者Virgil Griffith的動議:此前,美國紐約南區美國檢察官辦公室和聯邦調查局宣布,已逮捕并指控以太坊開發者Virgil Griffith違反美國制裁法。罪名是聯邦政府指控他于4月非法前往朝鮮,并在“平壤區塊鏈和加密貨幣會議”上作了陳述。對此,Griffith在其動議中聲稱,他在“平壤區塊鏈和加密貨幣會議”上發表的講話受到言論自由權保護。并且,針對他的四頁起訴書“簡短而含糊”,并且缺乏概述其犯罪行為的具體細節。法官駁回此動議,認為已提供對Griffith的指控的充分告知。(Cointelegraph)[2021/1/29 14:17:46]

該函數的safeTransferFrom()方法從IERC20(token)調用,調用完該方法后,余額balance也會隨之變動,最后通過_mint()方法向用戶添加質押憑證代幣。其中調用的變量token可控,導致攻擊者可以自己實現safeTransferFrom()方法,將該方法重入到depositFor()發起攻擊。

動態 | Innosilicon將推出挖掘GRIN的ASIC礦機:據bitcoinexchangeguide報道,礦機公司Innosilicon宣布將于2019年夏末發布首款用于GRIN的ASIC礦機。[2019/1/31]

以實施了5次重入攻擊為例,開始_pool的值為0,在重入depositFor方法的前四次里,攻擊者一直傳入自己鑄造的代幣,_pool的值會一直保持為0,但在第五次,也就是最后一次傳入100個受認可的代幣時,_after的值會變成100,而_afer-_pool的差值_amount也就是100,最后由于重入了5次,導致合約會向攻擊者鑄造100*5的質押憑證代幣。

其后果就是攻擊者向該合約質押自己鑄造不受認可的代幣,同樣會增加質押總量,最后利用多出來的質押憑證實現套利。

0x04:修復方案

1.由于depositFor()方法里的token可控才是導致這次攻擊事件的原因,因此只需要在傳遞參數的時候讓token不可控就行:

2.由于套利的原因是depositFor()方法里存在修改代幣數量的函數,因此還可以將修改代幣的方法單獨實現,這樣即使token變量可控,也無法成功套利:

3.鎖定交易token:

0x05:總結

經過完整分析,知道創宇區塊鏈安全實驗室明確了該次攻擊事件的源頭并非網傳的閃電貸攻擊,攻擊者利用GrimBoostVault合約的depositFor方法參數可控,實施了重入攻擊,將自己的鑄造的無價值代幣兌換成了質押憑證,最后通過withdrawAll方法實現套利,而閃電貸?攻擊者只是利用閃電貸擴大了套利值。

對于合約代碼而言安全性是十分重要的,每一個未經驗證的傳入參數都可能導致巨大的經濟損失,開發者在編寫重要操作方法時,須記住零信任原則,謹慎對待每一個傳入參數。

Tags:GRIITFFORPOSmassgridfitfi幣屬于什么公鏈FORTH幣POSI幣

火幣網下載官方app
POLY:Polygon聯合創始人:承諾為零知識技術投資10億美元

12月25日消息,Polygon聯合創始人SandeepNailwal在接受采訪時表示,根據PolygonScan瀏覽器,Polygon平均出塊時間約為2.3秒,以太坊平均出塊時間則是15秒.

1900/1/1 0:00:00
ETH:展望2022:未來最具潛力的賽道是什么?如何獲取高級Beta收益?

原文作者:五火球教主 向前展望,經常讓人感覺前方充滿了朦朧或是混沌感,看不清方向。我們所以能做的,便是沿著2021年的主線繼續向前延伸,添加點邏輯推理和想象力,試著找出下一年的明線,暗線,支線….

1900/1/1 0:00:00
LUS:TGV4 Plus將向五家Web3區塊鏈初創公司投資2500萬美元

12月23日消息,總部位于新加坡的TrueGlobalVentures4PlusFund(TGV4Plus)宣布到2022年1月底,將向五家Web3區塊鏈初創公司投資2500萬美元.

1900/1/1 0:00:00
USD:定期理財限時10%高息!申購額外瓜分9000USDT!

定期理財限時10%高息!申購額外瓜分9000USDT!作者AAXManager昨日已更新 親愛的AAX用戶: 為給您提供更好的理財體驗,AAX將于2021年12月28日17點(UTC8)起.

1900/1/1 0:00:00
加密貨幣:土耳其總統宣布加密法案即將提交議會

本文來自Decrypt,原文作者:EkinGen?Odaily星球日報譯者|念銀思唐土耳其總統雷杰普·塔伊普·埃爾多安周五在伊斯坦布爾舉行的新聞發布會上表示,土耳其的加密法案草案已經準備就緒.

1900/1/1 0:00:00
GEL:Gelato以白帽奇襲挽救用戶資金,處理Sorbet Finance漏洞與dYdX有何不同?

本文來自GelatoNetwork,原文作者:GelatoNetwork,由Odaily星球日報譯者Katie辜編譯.

1900/1/1 0:00:00
ads