合約授權的風險:Transit Swap 被盜約2100萬美元事件分析

2022年10月2日,據成都鏈安鷹眼-區塊鏈安全態勢感知平台輿情監測顯示,Transit Swap 項目遭受攻擊,被盜約2100萬美元。關於本次事件,成都鏈安安全團隊第一時間進行了分析。

首先在今早發現被盜後,Transit Swap 技術團隊緊急暫停服務,無法進行任何操作,很多用戶也在社交平台紛紛表示自己錢包的資產被盜。

據悉,本次事件的主角Transit Swap是某加密錢包下的閃兌交易平台。

首先我們需要知道什麼是閃兌?

很多加密錢包出了閃兌功能,之所以叫這個名字主要就是因為不同數字貨幣之間的交易速度很快,因為閃兌不需要像交易所那樣來撮合買方和賣方之間的訂單,閃兌更像是櫃檯交易,就像去銀行拿美元兌換人民幣,在匯率已知的情況下,給多少美元,銀行就會根據匯率兌換給你相應數量的人民幣。

閃兌除了兌換交易速度快之外,還有一些其他的功能,這也是很多用戶使用它的原因。

下面,我們回到本次事件技術層面來分析。

BSC鏈上的攻擊交易:

https://bscscan.com/tx/0x181a7882aac0eab1036eedba25bc95a16e10f61b5df2e99d240a16c334b9b189

以太坊上的攻擊交易:

https://etherscan.io/tx/0x743e4ee2c478300ac768fdba415eb4a23ae66981c076f9bff946c0bf530be0c7

用戶進行swap兌換時,正常流程是先通過Transit Cross Router v3合約選擇路由合約,隨後通過Transit Swap&Cross Approve Proxy合約進行權限驗證後,調用claimTokens函數將用戶兌換的token轉入路由合約中。而Transit Swap 合約實現時,上述三個合約均未對用戶輸入數據進行正確的驗證,導致攻擊者可以構造出任意指定的兌換數據calldata,其中可以將授權過的用戶的代幣轉入攻擊者指定的任意地址之中。

這個合約未對下面的calldata進行驗證,解析後為下圖的input,裡面指定了收款人為攻擊者地址。

攻擊者就通過這種方式,共獲利約2100萬美元。隨後將資金歸集到獲利地址0x75F2abA6a44580D7be2C4e42885D4a1917bFFD46,

但是項目方依然沒有放棄,隨後Transit Swap 官方發佈公告稱,目前已確定黑客IP、電子郵件地址,以及相關的鏈上地址。 Transit Swap 團隊表示將盡力追踪黑客,並嘗試與黑客溝通,幫助用戶挽回損失。

隨著事件的影響力擴大,攻擊者似乎也知道真實身份難保。也可能是被項目方“感化”,這位攻擊者決定退回盜取的資產。

截止發稿前,目前攻擊者已將BNB鏈上的37,000 BNB 和1500 ETH,以太坊上的3,180 ETH歸還給項目方。 2500 BNB被轉移到Tornado.Cash,剩餘的12,612 BNB仍在攻擊者地址上,價值約356萬美元。成都鏈安鏈必追-虛擬貨幣案件智能研判平台正在對被盜資金進行實時追踪。

從本次事件,我們可以看到,合約授權依然潛藏著諸多風險。

來源:成都鏈安

Total
0
Shares
Related Posts