零時科技 || TransitSwapRouterV5攻擊分析

2024-01-03 20:01:38

事件背景

2023 年 12 月 20 日下午 我們監控到 Transit Swap 項目遭到黑客在多個公鏈上的攻擊交易,且最終黑客共計獲利約 110k $。

下方為該漏洞合約在多個鏈上的部署地址:

https://docs.transit.finance/en/reference/smart-contracts

攻擊交易:

0x93ae5f0a121d5e1aadae052c36bc5ecf2d406d35222f4c6a5d63fef1d6de1081(BSC鏈)

攻擊分析

由於攻擊者在多個鏈上對該項目進行攻擊,本文主要通過對BNB鏈上攻擊者交易數據進行分析,並對其交易進行整理歸納。

黑客通過 TransitSwapRouterV5 合約的多路徑兌換功能將 0.01 BNB 成功兌換了約為 173.9 BNB ,如下圖:

通過交易堆棧數據,我們看出該筆兌換操作經過 2 次兌換操作,不過期間調用了一個未驗證的交易對合約

(0x7d7583724245eeebb745ebcb1cee0091ff43082b),並將一個最小單位的BNB( 1/1e18 BNB )兌換為了約 43841.86 USDT,而且此處兌換得到的金額與當前 TransitSwapRouterV5 合約的自身USDT儲備余額一致。

根據攻擊交易的參數對其合約邏輯進行分析:

當兌換路徑大於1時的邏輯如下:

深入 _swap 函數,查看具體兌換邏輯,此處的內部兌換函數在調用外部傳入的 pool 池子進行代幣兌換後,未對兌換後的資金進行校驗,直接使用 pool 返回的兌換金額進行下一個路徑的兌換操作,從而導致攻擊者構造假的 pool 合約並直接在swap函數中返回當前TransitSwapRouterV5 合約自身的USDT儲備,進而造成合約資金被拿去做第二次兌換,最終使攻擊者獲利。

經分析該攻擊者獲利資金最終流入 Tornado Cash 混幣平臺。

總結

簡單來說,TransitSwapRouterV5 合約中多路徑兌換函數缺少兌換成功校驗,導致多路徑兌換中使用虛假的兌換金額在後續的兌換中換取真實資金並成功獲利。

安全建議

  • 在多路徑兌換代幣時對傳入的交易對池子進行校驗,或對多路徑兌換操作中的兌換結果進行校驗,如某次兌換資金未到账或兌換失敗則直接回滾,避免攻擊者使用虛假交易池造成的虛假兌換。

  • 建議項目方上线前進行多次審計,避免出現審計步驟缺失。

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

推薦文章

btc日內再次下跌 短线應當如何處理?

盡管以太坊現貨ETF獲批是個好消息,但市場反應卻不如預期。在消息公布後,以太坊價格出現了小幅下跌,...

加密蓮
133 3個月前

7月23日、BTC(合約)ETH(合約)行情分析及操作策略

昨日收益還是不錯的,日內給出的現價空單分別止盈我們目標點位,恭喜跟上的朋友喫肉。時間一晃到月底了,...

倪老師
133 3個月前

幣圈院士:血與淚的教訓!交易者為何總是撞死在同一棵樹上?

幣圈院士談。交易市場中的幾種“死法” 在幣圈市場鱗次櫛比的海洋,風起雲湧,時常讓人感到驚手不及。在...

幣圈院士
138 3個月前

7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC

7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC一個引...

168超神
130 3個月前

悅盈:比特幣68000的空完美落地反彈繼續看跌 以太坊破前高看回撤

一個人的自律中,藏着無限的可能性,你自律的程度,決定着你人生的高度。 人生沒有近路可走,但你走的每...

我是周悅盈
111 3個月前

btc完美盈利 晚間波動較大注意

昨日btc空單完美給到,最大化走出一千七百點空間~ btc: 日內开盤下跌繼續測試66000一线,...

加密蓮
120 3個月前