據慢霧AML 團隊分析統計,THORChain 三次攻擊真實損失如下:
2021 年6 月29 日,THORChain 遭“假充值” 攻擊,損失近35 萬美元;
2021 年7 月16 日,THORChain 二次遭“假充值” 攻擊,損失近800 萬美元;
2021 年7 月23 日,THORChain 再三遭攻擊,損失近800 萬美元。
這不禁讓人有了思考:三次攻擊的時間如此相近、攻擊手法如此相似,背後作案的人會是同一個嗎?
慢霧AML 團隊利用旗下 MistTrack 反洗錢追踪系統對三次攻擊進行了深入追踪分析,為大家還原整個事件的來龍去脈,對資金的流向一探究竟。
第一次攻擊:“假充值”漏洞
攻擊概述
本次攻擊的發生是由於THORChain 代碼上的邏輯漏洞,即當跨鏈充值的ERC20 代幣符號為ETH 時,漏洞會導致充值的代幣被識別為真正的以太幣ETH,進而可以成功的將假ETH 兌換為其他的代幣。此前慢霧安全團隊也進行了分析,詳見:假幣的換臉戲法—— 技術拆解THORChain 跨鏈系統“假充值”漏洞。
根據THORChain 官方發布的複盤文章[1],此次攻擊造成的損失為:
9352.4874282 PERP1.43974743 YFI2437.936 SUSHI10.615 ETH
資金流向分析
根據官方提供的黑客地址,慢霧AML 團隊分析並整理出了攻擊者相關的錢包地址情況如下:
經 MistTrack 反洗錢追踪系統分析發現,攻擊者在6 月21 號開始籌備,使用匿名兌換平台ChangeNOW 獲得初始資金,然後在5 天后(6 月26 號) 部署攻擊合約。
在攻擊成功後,多個獲利地址都把攻擊獲得的ETH 轉到混幣平台Tornado Cash 以便躲避追踪,未混幣的資金主要是留存在錢包地址(0xace...d75) 和(0x06b.. .2fa) 上。
慢霧AML 團隊統計攻擊者獲利地址上的資金發現,官方的統計遺漏了部分損失:
29777.378146 USDT78.14165727 ALCX11.75154045 ETH0.59654637 YFI
第二次攻擊:取值錯誤導致的“假充值” 漏洞
攻擊概述
根據分析發現,攻擊者在攻擊合約中調用了THORChain Router 合約的deposit 方法,傳遞的amount 參數是0。然後攻擊者地址發起了一筆調用攻擊合約的交易,設置交易的value(msg.value) 不為0,由於THORChain 代碼上的缺陷,在獲取用戶充值金額時,使用交易裡的msg.value 值覆蓋了正確的Deposit event 中的amount 值,導致了“空手套白狼” 的結果。
根據THORChain 官方發布的複盤文章[2],此次攻擊造成的損失為:
2500 ETH57975.33 SUSHI8.7365 YFI171912.96 DODO514.519 ALCX1167216.739 KYL13.30 AAVE
資金流向分析
慢霧AML 團隊分析發現,攻擊者相關的錢包地址情況如下:
MistTrack 反洗錢追踪系統分析發現,攻擊者地址(0x4b7...c5a) 給攻擊者地址(0x3a1...031) 提供了初始資金,而攻擊者地址(0x4b7...c5a) 的初始資金來自於混幣平台Tornado Cash 轉出的10 ETH。
在攻擊成功後,相關地址都把攻擊獲得的幣轉到地址(0xace...70e)。
該獲利地址(0xace...70e) 只有一筆轉出記錄:通過Tornado Cash 轉出10 ETH。
慢霧AML 團隊統計攻擊者獲利地址上的資金發現,官方的統計遺漏了部分損失:
2246.6 SUSHI13318.35 DODO110108 KYL243.929 USDT259237.77 HEGIC
第三次攻擊:退款邏輯漏洞
攻擊概述
本次攻擊跟第二次攻擊一樣,攻擊者部署了一個攻擊合約,作為自己的router,在攻擊合約裡調用THORChain Router 合約。但不同的是,攻擊者這次利用的是THORChain Router 合約中關於退款的邏輯缺陷,攻擊者調用returnVaultAssets 函數並發送很少的ETH,同時把攻擊合約設置為asgard。然後THORChain Router 合約把ETH 發送到asgard 時,asgard 也就是攻擊合約觸發一個deposit 事件,攻擊者隨意構造asset 和amount,同時構造一個不符合要求的memo,使THORChain 節點程序無法處理,然後按照程序設計就會進入到退款邏輯。
(截圖來自viewblock.io)有趣的是,推特網友把這次攻擊交易中的memo 整理出來發現,攻擊者竟喊話THORChain 官方,表示其發現了多個嚴重漏洞,可以盜取ETH/BTC/LYC /BNB/BEP20 等資產。
(圖片來自https://twitter.com/defixbt/status/1418338501255335937)
根據THORChain 官方發布的複盤文章[3],此次攻擊造成的損失為:
966.62 ALCX20,866,664.53 XRUNE1,672,794.010 USDC56,104 SUSHI6.91 YEARN990,137.46 USDT
資金流向分析
慢霧AML 團隊分析發現,攻擊者相關的錢包地址情況如下:
MistTrack 反洗錢追踪系統分析發現,攻擊者地址(0x8c1...d62) 的初始資金來源是另一個攻擊者地址(0xf6c...747),而該地址(0xf6c...747) 的資金來源只有一筆記錄,那就是來自於Tornado Cash 轉入的100 ETH,而且時間居然是2020 年12 月!
在攻擊成功後,攻擊者將資金轉到了獲利地址(0x651...da1)。
總結
通過以上分析可以發現,三次攻擊的初始資金均來自匿名平台(ChangeNOW、Tornado Cash),說明攻擊者有一定的“反偵察” 意識,而且第三次攻擊的交易都是隱私交易,進一步增強了攻擊者的匿名性。
從三次攻擊涉及的錢包地址來看,沒有出現重合的情況,無法認定是否是同一個攻擊者。從資金規模上來看,從第一次攻擊到第三次攻擊,THORChain 被盜的資金量越來越大,從14 萬美金到近千萬美金。但三次攻擊獲利的大部分資金都沒有被變現,而且攻擊間隔時間比較短,慢霧AML 團隊綜合各項線索,推理認為有一定的可能性是同一人所為。
截止目前,三次攻擊後,攻擊者資金留存地址共有餘額近1300 萬美元。三次攻擊事件後,THORChain 損失資金超1600 萬美元!
(被盜代幣價格按文章發佈時價格計算)
依托慢霧BTI 系統和AML 系統中近兩億地址標籤,慢霧MistTrack 反洗錢追踪系統全面覆蓋了全球主流交易所,累計服務50+ 客戶,累計追回資產超2 億美金。 (詳見:慢霧AML 升級上線,為資產追踪再增力量)。針對THORChain 攻擊事件, 慢霧AML 團隊將持續監控被盜資金的轉移,拉黑攻擊者控制的所有錢包地址,提醒交易所、錢包注意加強地址監控,避免相關惡意資金流入平台。
跨鏈系統的安全性不容忽視,慢霧科技建議項目方在進行跨鏈系統設計時應充分考慮不同公鏈不同代幣的特性,充分進行“假充值” 測試,必要時可聯繫專業安全公司進行安全審計。
參考資料
THORChain 官方復盤文章:
[1] https://medium.com/thorchain/eth-parsing-error-and-exploit-3b343aa6466f
[2] https://thearchitect.notion.site/THORChain-Incident-07-15-7d205f91924e44a5b6499b6df5f6c210
[3] https://thearchitect.notion.site/THORChain-Incident-07-22-874a06db7bf8466caf240e1823697e35