SharkTeam:Midas Capital攻擊事件原理分析
北京時間2023年6月18日,Midas Capital遭受攻擊,攻擊者已獲利約60萬美元。
SharkTeam對此事件第一時間進行了技術分析,並總結了安全防範手段,希望後續項目可以引以為戒,共築區塊鏈行業的安全防线。
一、事件分析
攻擊者地址:
0x4b92cc3452ef1e37528470495b86d3f976470734
攻擊合約:
0xc40119c7269a5fa813d878bf83d14e3462fc8fde
被攻擊合約:
0xF8527Dc5611B589CbB365aCACaac0d1DC70b25cB
攻擊交易:
0x1ebc03f0f2257c275f4990b4130e6c3e451125aa98ee8bbde8aba5dc0320c659
攻擊流程:
(1)攻擊者(0x4b92cc34)調用攻擊合約(0xc40119c7)的0x117741f7函數,然後首先調用被攻擊合約(0xF8527Dc5)的mint函數將518614966827953435094個sAMM-HAY/BUSD代幣轉換為2個fsAMM-HAY-BUSD代幣,也就是質押幣。
(2)隨後調用被攻擊合約(0xF8527Dc5)的redeemUnderlying函數提取518614966827953435091個sAMM代幣。並未選擇全部提取,而是剩了3個。但注意此時只從攻擊合約轉移走了1個fsAMM代幣。
(3)然後又調用了被攻擊合約(0xF8527Dc5)的redeemUnderlying函數,又提取518096869957995439653個sAMM代幣,由於攻擊合約(0xc40119c7)账戶中還存有1個fsAMM代幣,所以能夠成功提取。
(4)循環上面的操作,並且隨着套利的過程,mint的數量翻倍,調用redeemUnderlying函數的次數也隨之翻倍。
(5)在多次攻擊交易後,最後將獲得的sAMM代幣換成BUSD,HAY,ANKR,WBNB,ankrBNB等獲利離場。
二、漏洞分析
由於被攻擊合約(0xF8527Dc5)目前的邏輯合約並不开源,我們只能從trace和之前的邏輯合約中找线索。我們發現代碼中fork了compound的代碼,並與hundred Finance相同,引入了第三方運算庫。
而在divUInt函數中,使用了a/b,計算上沒有問題,但由於solidity不支持浮點數的運算,所以會向下取整。而攻擊者(0x4b92cc34)每次調用redeemUnderlying函數都對輸入的數量都進行嚴格控制,就會導致計算結果出現1.99999999999...這種情況,但默認向下取整,所以計算結果是1。
在第三步中,攻擊合約(0xc40119c7)少取了一點sAMM代幣,那么計算出的結果就變成了1。所以攻擊者(0x4b92cc34)每次質押後提取到的本金都會翻倍。
三、安全建議
本次事件發生原因是由於被攻擊合約(0xF8527Dc5)中引入了計算庫,而在redeemUnderlying函數中計算攻擊者(0x4b92cc34)需要轉入的fsAMM代幣數量都會出現向下取整的情況,導致攻擊者(0x4b92cc34)本身需要付出的代價減半,重復套利。
針對本次攻擊事件,我們在开發過程中應遵循以下注意事項:
(1)solidity不支持浮點數運算,在开發整數運算時推薦先乘後除,或使用合適的精度。
(2)項目上线前,需要向第三方專業的審計團隊尋求技術幫助。
About Us
SharkTeam的愿景是全面保護Web3世界的安全。團隊由來自世界各地的經驗豐富的安全專業人士和高級研究人員組成,精通區塊鏈和智能合約的底層理論,提供包括智能合約審計、鏈上分析、應急響應等服務。已與區塊鏈生態系統各個領域的關鍵參與者,如Polkadot、Moonbeam、polygon、OKC、Huobi Global、imToken、ChainIDE等建立長期合作關系。
官網:https://www.sharkteam.org
Twitter:https://twitter.com/sharkteamorg
Discord:https://discord.gg/jGH9xXCjDZ
Telegram:https://t.me/sharkteamorg
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
XRP 漲至 7.5 美元?分析師告訴 XRP 大軍為純粹的煙火做好准備!
加密貨幣分析師 EGRAG 表示,XRP 即將迎來關鍵時刻,價格可能大幅上漲,這取決於能否突破關鍵...
今晚ETH迎來暴漲時代 op、arb、metis等以太坊二層項目能否跑出百倍幣?
北京時間7月23日晚上美股开盤後 ETH 的ETF开始交易。ETH的裏程碑啊,新的時代开啓。突破前...
Mt Gox 轉移 28 億美元比特幣 加密貨幣下跌 ETH ETF 提前發行
2014 年倒閉的臭名昭著的比特幣交易所 Mt Gox 已向債權人轉移了大量比特幣 (BTC),作...
SharkTeam
文章數量
37粉絲數
0