Truebit協議因智能合約攻擊損失2640萬美元

iconPANews
分享
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary icon精華摘要

expand icon
Truebit Protocol 在一次針對五年前所撰寫的非開源合約中智能合約漏洞的攻擊中損失了 2640 萬美元。攻擊者鑄造了 TRU 代幣,並提走了 8,535.36 個 ETH。Beosin 追蹤到資金流入了三個高風險的以太坊地址。這次攻擊利用了反覆呼叫一個存在缺陷的函數,且每次呼叫僅需極少的 msg.value。一份有關合約安全漏洞及資金流向的詳細報告已經公佈。

作者:Beosin

於1月9日凌晨,Truebit Protocol在5年前部署的未開放原始碼合約遭受攻擊,損失8,535.36 ETH(價值約2,640萬美元)。Beosin安全團隊對此次安全事件進行了漏洞與資金追蹤分析,並分享結果如下:

攻擊手法分析

在本次事件中,我們以最主要的交易作為分析,交易哈希為:0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014

1. 攻擊者調用 getPurchasePrice() 獲取價格

2. 隨後會呼叫有缺陷的函數0xa0296215(),並將msg.value的值設置得極小

由於合約未開源,透過反編譯的程式碼推測該函數存在算術邏輯漏洞,例如整數截斷出現問題,導致攻擊者成功鑄造大量TRU代幣。

3. 攻擊者透過 burn 函數將鑄造的代幣「賣回」給合約,從合約儲備中提走大量 ETH。

這個過程再重複4次,每次msg.value值增加,直至將合約中的ETH幾乎全部提取。

被盜資金追蹤

根據鏈上交易數據,Beosin 通過旗下區塊鏈鏈上調查與追蹤平台 BeosinTrace 進行了詳細的資金追蹤,並分享結果如下:

現時,被盜的8,535.36 ETH經過轉移後,大部分分別存放在0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60和0x273589ca3713e7becf42069f9fb3f0c164ce850a。

其中地址 0xd12f 持有 4,267.09 ETH,地址 0x2735 持有 4,001 ETH。攻擊者發動攻擊的地址(0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50)亦存有 267.71 ETH,三個地址暫時未有進一步資金轉移。

被盜資金流向分析圖 by Beosin Trace

以上地址均已被 Beosin KYT 標記為高風險地址,以攻擊者地址為例:

Beosin KYT

結語

今次被盜資金涉及五年前未開放原始碼的智能合約。針對這類合約,項目方應對合約進行升級,引入緊急暫停、參數限制以及新版本 Solidity 的安全特性。此外,安全審計依然是合約不可或缺的環節。透過安全審計,Web3 企業可以盡可能全面地檢測智能合約代碼,發現並修復潛在漏洞,提高合約安全性。

Beosin 將提供今次所有資金流向與地址風險的完整分析報告,歡迎透過官方電郵 support@beosin.com 領取。

免責聲明:本頁面資訊可能來自第三方,不一定反映KuCoin的觀點或意見。本內容僅供一般參考之用,不構成任何形式的陳述或保證,也不應被解釋為財務或投資建議。 KuCoin 對任何錯誤或遺漏,或因使用該資訊而導致的任何結果不承擔任何責任。 虛擬資產投資可能存在風險。請您根據自身的財務狀況仔細評估產品的風險以及您的風險承受能力。如需了解更多信息,請參閱我們的使用條款風險披露