買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > Gateio > Info

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

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函數,利用該函數獲取大量代幣:

Nervos基金會宣布與Grin社區合作,以集成Grin底層隱私技術:Nervos基金會宣布與Grin社區合作,以集成Grin底層隱私技術。Nervos基金會將在Nervos上探討隱私層設計方案。通過隱私層技術,可以實現Nervos用戶在使用CKB或任何其他發行在CKB上的Token交易時的隱私性和匿名性。[2020/8/7]

0x03:漏洞分析

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

動態 | Grin現已上線Bittrex International:Grin現已上線Bittrex International,并已開通其存款和交易業務,此外將很快開放Grin提幣業務。[2019/2/10]

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

動態 | Grin將完成首次出塊:據MORECOIN研究院消息,Grin主網的第一個區塊將在北京時間1月16日的00:01:27被挖出。[2019/1/16]

以實施了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:GRIGRINRINPOSIGRI幣grin古靈幣boring幣未來價值posi幣最新消息

Gateio
MOON:ZT創新板即將上線MBS_TMO

親愛的ZT用戶: ZT創新板即將上線MBS,並開啟MBS/USDT交易對。具體上線時間如下:交易:2021年12月22日18:00; MBS 項目簡介:MonkeyBall旨在成為下一世代的電競.

1900/1/1 0:00:00
區塊鏈:云南省芒市開展區塊鏈電子發票核查工作_人工智能

巴比特訊,云南省芒市稅務局開展區塊鏈電子發票核實核查工作,對企業存在的風險點提前監控和預警,成效明顯。一是重時效.

1900/1/1 0:00:00
Gate.io Startup:Cherry Token (CHER) Initial Sale Result & Listing Schedule

1CherryToken(CHER)TokenSaleResultTheGate.ioStartupCherryToken(CHER)saleresultisasfollows:CHERStar.

1900/1/1 0:00:00
FLOKI:開啟FLOKI?(FLOKI)交易 / 2021.12.24_GLO

親愛的BitGlobal用戶:BitGlobal將在GEM上線FLOKI數位資產服務,?詳情如下充提安排:12月27日11:00(UTC8)開放?立即充值>>交易時間:12月27日1.

1900/1/1 0:00:00
EST:雙幣投資(第72期)產品上線_USD

FellowBinancians,Weareexcitedtolaunchthe72ndphaseofDualInvestmentproductsSubscriptionstartsat:202.

1900/1/1 0:00:00
SHI:BKEX Global 關于上線 SHIBA(Shibainuswap)的公告_SHIBKING幣

尊敬的用戶:?????????????BKEXGlobal即將上線SHIBA,詳情如下:上線交易對:SHIBA/USDT幣種類型:BEP20充值功能開放時間:2021年12月29日17:00交易.

1900/1/1 0:00:00
ads