首發 | 一個小數點造成數百萬美元蒸發 Fantasm Finance攻擊事件分析

發表於 2022-03-11 00:55 作者: 區塊鏈情報速遞pro

  首發 | 一個小數點造成數百萬美元蒸發 Fantasm Finance攻擊事件分析 CertiK中文社區 剛剛

  北京時間2022年3月9日21:50,CertiK安全專家團隊檢測到Fantasm Finance抵押池被惡意利用。

  攻擊者鑄造了大量的XFTM代幣,並將其交易爲ETH,總損失約爲1000ETH(價值約270萬美元)。

  下文CertiK安全團隊將從合約地址及攻擊操作等方面爲大家進行詳細的解讀並分析。

  攻擊步驟

  ①攻擊者在地址0x944b58c9b3b49487005cead0ac5d71c857749e3e部署了一個未經驗證的合約。

  ②在第一個tx中,攻擊者將Fantom代幣(FTM)換成FSM代幣,並在合約0x880672ab1d46d987e5d663fc7476cd8df3c9f937中調用MINT()函數。

  ③攻擊者調用collect()函數,以此鑄造了超出權限更多的XFTM代幣。

  ④攻擊者多次重復步驟②和③,造成Fantasm Finance巨額損失。

  漏洞分析

  在函數calcMint中,合約使用以下公式來計算鑄幣量:

  _xftmOut = (_fantasmIn * _fantasmPrice * COLLATERAL_RATIO_MAX * (PRECISION - mintingFee)) PRECISION (COLLATERAL_RATIO_MAX - collateralRatio) PRICE_PRECISION。

  由於小數點錯誤,導致_xftmOut最終的值遠遠大於代碼的設計初衷。

  資金去向

  攻擊者可因此獲取大約1000個ETH,所有的資金均被轉移至Etherscan(地址爲0x47091e015b294b935babda2d28ad44e3ab07ae8d)並被發送到tornado proxy。

  寫在最後

  本次事件主要是由合約公式計算錯誤引起的。

  只需通過適當的同行評審、單元測試和安全審計,這一類型的風險往往極易避免。

  在加密世界裏大家一提到漏洞,往往會認爲漏洞必然是很復雜的,其實並非總是如此。有時一個小小的計算錯誤,就可以導致數百上千萬美元的資產一朝蒸發。

  本次事件的預警已於第一時間在CertiK項目預警推特【https://twitter.com/CertiKAlert】進行了播報。

  近期攻擊事件高發,加密項目方及用戶們應提高相關警惕並及時對合約代碼進行完善和審計。

  除此之外,技術團隊應及時關注已發生的安全事件,並且檢查自己的項目中是否存在類似問題。

標題:首發 | 一個小數點造成數百萬美元蒸發 Fantasm Finance攻擊事件分析

地址:https://www.coinsdeep.com/article/89.html

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

你可能還喜歡
熱門資訊