資安科普|黑客是如何通過Tornado.Cash洗白贓款的?

ABMedia
分享
資安科普|黑客是如何通過Tornado.Cash洗白贓款的?

(本文經授權轉載自慢霧科技)

前段時間,我們發佈了鏈上追蹤:洗幣手法科普之 Peel Chain,今天繼續該系列。這次的主題是混幣器 Tornado.Cash。

隨著黑客盜幣事件愈演愈烈,Tornado.Cash 也變得越來越「有名」,大多數黑客在獲利後都毫不留情地將「贓幣」轉向 Tornado.Cash。我們曾對 Tornado.Cash 的匿名性進行過探討,詳見:慢霧 AML:「揭開」 Tornado.Cash 的匿名面紗。而今天以一個真實案例來看看這名黑客是怎麼通過 Tornado.Cash 洗幣的。

基礎知識

Tornado.Cash 是一種完全去中心化的非託管協議,通過打破源地址和目標地址之間的鏈上鏈接來提高交易隱私。為了保護隱私,Tornado.Cash 使用一個智能合約,接受來自一個地址的 ETH 和其他代幣存款,並允許他們提款到不同的地址,即以隱藏發送地址的方式將 ETH 和其他代幣發送到任何地址。這些智能合約充當混合所有存入資產的池,當你將資金放入池中(即存款)時,就會生成私人憑據(隨機密鑰),證明你已執行了存款操作。而後,此私人憑據作為你提款時的私鑰,合約將 ETH 或其他代幣轉移給指定的接收地址,同一用戶可以使用不同的提款地址。

案例分析

今天要分析的是一個真實案例,當受害平台找到我們時(具體不便透露),在 Ethereum、BSC、Polygon 三條鏈上的被盜資金均被黑客轉入 Tornado.Cash,所以我們主要分析 Tornado.Cash 的部分。

黑客地址:

(為保護受害平台,文中地址均做了處理)

0x489…1F4(Ethereum/BSC/Polygon)

0x24f…bB1(BSC)

Ethereum 部分

借助慢霧 MistTrack 反洗錢追蹤系統,我們先對地址進行一個大概的特徵分析。

從部分展示結果來看,可以看到交易行為裡黑客使用較多的除了 Bridge 就是混合器 Mixer,這些對我們分析黑客畫像十分重要。

接著,我們對 Ethereum 上的資金與行為進行深入分析:據慢霧 MistTrack 反洗錢追蹤系統的分析,黑客將 2450 ETH 以 5×10 ETH+24×100 ETH 的形式分批轉入 Tornado.Cash,將 198 ETH 轉入 FixedFloat,這讓我們繼續追蹤 Tornado.Cash 部分留了個心眼。

既然想要嘗試追蹤黑客從 Tornado.Cash 轉出的地址,那我們就得從 Ethereum 上第一筆資金轉入 Tornado.Cash 的時間點開始,我們發現第一筆 10 ETH 和第二筆 10 ETH 間的時間跨度較大,所以我們先從跨度小的 100 ETH 開始分析。

定位到 Tornado.Cash:100 ETH 合約相對應的交易,發現從 Tornado.Cash 轉出的地址非常多。經過慢霧 MistTrack 的分析,我們篩選出了符合時間線和交易特徵的地址。當然,地址依然很多,這需要我們不斷去分析。不過很快就出現了第一個讓我們饒有懷疑的地址(0x40F…952)。

據慢霧 MistTrack 的分析,地址(0x40F…952)將 Tornado.Cash 轉給它的 ETH 轉到地址(0x8a1…Ca7),接著把 ETH 分為三筆轉到了 FixedFloat。

當然,這也可能是巧合,我們需要繼續驗證。

繼續分析,接連發現三個地址均有同樣的特徵:

A→B→(多筆)FixedFloat

A→(多筆)FixedFloat

在這樣的特徵佐證下,我們分析出了符合特徵的地址,同時剛好是 24 個地址,符合我們的假設。

 

Polygon 部分

如下圖,黑客將獲利的 365,247 MATIC 中的部分 MATIC 分 7 次轉到 Tornado.Cash。

而剩下的 25,246.722 MATIC 轉到了地址(0x75a…5c1),接著追蹤這部分資金,我們發現黑客將 25,246.721 MATIC 轉到了 FixedFloat,這讓我們不禁思考黑客在 Polygon 上是否會以同樣的手法來洗幣。

我們首先定位到 Tornado:100,000 MATIC 合約與上圖最後三筆對應的交易,同時發現從 Tornado.Cash 合約轉出的地址並不多,此時我們可以逐個分析。

很快,我們就發現了第一個讓我們覺得有問題的地址(0x12e…69e)。我們看到了熟悉的 FixedFloat 地址,不僅 FixedFloat 轉 MATIC 到地址(0x12e…69e),從地址(0x12e…69e)轉出資金的接收地址也都將 MATIC 轉給了 FixedFloat。

分析了其他地址後,發現都是一樣的洗幣手法,這裡就不再贅述。從前面的分析看來黑客對 FixedFloat 實在獨有偏愛,不過這也成了抓住他的把柄。

BSC 部分

下面我們來分析 BSC 部分。BSC 上黑客地址有兩個,我們先來看地址(0x489…1F4):

黑客地址分 17 次轉了 1700 ETH 到 Tornado.Cash,時間範圍也比較連貫。就在我們以為黑客會故技重施的時候,發現並非如此。同樣,經過慢霧 MistTrack 的分析與篩選,我們篩選出了符合時間線和交易特徵的地址,再進行逐個突破。

分析過程中,地址(0x152…fB2)引起了我們的注意。如圖,據慢霧 MistTrack 顯示,該地址將 Tornado.Cash 轉給它的 ETH 轉出給了 SimpleSwap。

繼續分析後發現,換湯不換藥,雖然黑客換了平台,手法特徵卻還是類似:

A→SimpleSwap

A→B→SimpleSwap

另一個黑客地址(0x24f…bB1)是以 10 BNB 為單位轉到了 Tornado.Cash。

而在這個地址的洗幣手法中,黑客選擇了另一個平台,不過手法依然類似。這裡就不再一一分析。

總結

本文主要由一個真實案例開啓,分析並得出在不同的鏈上黑客是如何試圖使用 Tornado.Cash 來清洗盜取的資金,本次洗幣手法具有極相似性,主要特徵為從 Tornado.Cash 提幣後或直接或經過一層中間地址轉移到常用的混幣平台(FixedFloat/SimpleSwap/Sideshift.ai)。當然,這只是通過 Tornado.Cash 洗幣的其中一種方法,更多手法仍等著我們發現。

而想要更有效率更準確地分析出結果,必然得借助工具。憑借超 2 億個錢包地址標籤,慢霧 MistTrack 反洗錢追蹤系統能夠識別全球主流交易平台的各類錢包地址,如用戶充值地址、溫錢包地址、熱錢包地址、冷錢包地址等。通過 MistTrack 反洗錢追蹤系統可對任意錢包地址進行特徵分析和行為畫像,在反洗錢分析評估工作中起到至關重要的作用,為加密貨幣交易平台、用戶個人等分析地址行為並追蹤溯源提供了強有力的技術支撐。