Beosin:FTX 遭 Gas 竊取攻擊事件技術分析
ChainCatcher 消息,Beosin 安全團隊針對 FTX 遭 Gas 竊取攻擊事件分析稱,以其中一筆攻擊交易為例 (0x8eb73bd5c08318a4cfd233940c3a58744830cda999e59ecbc56f094618a91d69),攻擊者先在鏈上部署攻擊合約 (0xCba9b1Fd69626932c704DAc4CB58c29244A47FD3)。
FTX 熱錢包地址會向攻擊合約地址轉入小額的資金,利用攻擊合約 (0xCba9…7FD3) 進行批量創建子合約。由於整個攻擊中創建了大量合約,並且每次執行完子合約之後,子合約都會自毀。
接下來子合約 fallback() 函數去向 Xen 合約發起鑄幣請求,如下函數,claimRank() 函數傳入一個時間期限(最小 1 天)進行鑄幣,鑄幣條件是只用支付調用 gas 費,並無其他成本,並且 claimMintReward() 函數為提取函數,該函數只判斷是否達到時間期限(本次黑客設定的時間期限為最小值 1 天),便可無條件提取。但在此次調用過程中,交易發起者為 FTX 熱錢包地址,所以整個調用過程的 Gas 都是由 FTX 熱錢包地址所支付,而 Xen 鑄幣地址為攻擊者地址。
前三個步驟重複多次,並且每次重複過程中都會將已到期的代幣提取出來,並且同時發起新的鑄幣請求。
截止發文時,通過 Beosin Trace 追蹤發現,FTX 交易所損失 81ETH,黑客通過 DODO、Uniswap 將 XEN Token 換成 ETH 轉移。
鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。