Tin nóng ⇢

Khám phá cách truy vết tiền được rửa trên Tornado.Cash

Trọng tâm của bài viết này là giải thích phương thức các hacker dùng Tornado.Cash để rửa số ETH họ đánh cắp. Kết quả phân tích khiến ta phải tự hỏi: Liệu Tornado.Cash có thực sự hoàn toàn ẩn danh? Một mặt, ta biết được đáp án là không có bất cứ thứ gì ẩn danh tuyệt đối. Mặt khác, ta nhận thấy Tornado.Cash không phải là lựa chọn tối ưu để tiến hành một phi vụ quy mô lớn trong thời gian ngắn.

Sự phát triển nhanh chóng của các dự án DeFi, NFT và cầu nối cross-chain đáng tiếc thay lại kéo theo hàng loạt sự cố trong ngành tiền điện tử. Theo MistTrack, hệ thống AML của SlowMist, 80% số tiền bị đánh cắp được gửi vào một giao thức "trộn" (mixer protocol) để che đậy dấu vết kỹ thuật số. Tuy nhiên, các nạn nhân đừng vội từ bỏ hy vọng tìm lại tiền của mình. Hãy cùng nhìn lại sự cố trên sàn giao dịch Kucoin. MistTrack đã được sử dụng như một công cụ hữu hiệu để lần theo dấu vết của số tiền bị mất cắp.

Tổng quan về sự cố

Sáng sớm ngày 26/9/2020, KuCoin thông báo họ phát hiện ra một khoản tiền đáng ngờ đã được chuyển đi từ một địa chỉ ví nóng. Số tiền này có giá trị khá lớn, bao gồm ETH, BTC cùng nhiều loại tiền điện tử khác.

Theo thống kê của MistTrack, tổng giá trị ước tính vượt mốc 270 triệu đô la Mỹ. 

Sau khi tiến hành điều tra, SlowMist nhận thấy các hacker đã chuyển đổi toàn bộ tiền sang ETH, tiếp đến lợi dụng Tornado.Cash để rửa tiền. Bài viết này sẽ tập trung tìm hiểu phương thức thủ phạm thực hiện quá trình trên, đồng thời phân tích các giao dịch từ Tornado.Cash để tìm ra đích đến cuối cùng của khoản tiền.

Tornado.Cash là gì?

Tornado.Cash là một giao thức hoàn toàn phi tập trung, không có cơ quan quản lý, hỗ trợ cải thiện quyền riêng tư của giao dịch bằng cách phá vỡ liên kết on-chain giữa địa chỉ của người gửi và người nhận. Để tăng tính riêng tư, Tornado.Cash sử dụng một hợp đồng thông minh nhận ETH cũng như token khác từ một địa chỉ và cho phép chúng được gửi đến một địa chỉ khác. Các hợp đồng thông minh này "trộn" tất cả tài sản được đưa vào và tạo một private key chứng minh rằng người dùng đã thực hiện việc nạp tiền vào. Sau đó, người gửi có thể sử dụng private key này để rút tiền đã gửi vào bất kỳ địa chỉ nào họ muốn.

Quá trình chuyển tiền

Sau khi lấy cắp tiền từ KuCoin, hacker đã cố gửi chúng vào nhiều sàn giao dịch khác nhau. Tuy nhiên, ý định này bất thành và họ buộc phải chuyển sang phương án B – các nền tảng DeFi – để rửa tiền.

Theo hệ thống MistTrack, hacker (0xeb31… c23) đã phân phối token ERC20 đến nhiều địa chỉ và đổi chúng thành ETH thông qua những sàn giao dịch phi tập trung như Uniswap, 1inch và Kyber.

Sau khi chuyển thành ETH, khoản tiền được tập hợp đến các địa chỉ dưới đây:

Theo dõi sát sao token ETH và ERC20, MistTrack đã tìm ra cách thức hacker di chuyển tiền giữa các địa chỉ cũng như gửi đến Tornado.Cash.


Lần theo dấu vết

Phỏng đoán

– Một lượng lớn ETH được gửi vào Tornado.Cash và có thể rút ra một số đặc điểm chung.

– Dựa trên phân tích hành vi của những kẻ tấn công, ta có thể suy đoán họ sẽ rút tiền ngay sau khi gửi tiền vào Tornado.Cash hoặc rút tiền ở lần gửi tiếp theo.

– Nếu đúng như vậy, MistTrack có thể theo dõi tất cả các lần rút tiền được thực hiện sau khi hacker gửi khoản tiền ban đầu

Hành vi on-chain khả thi

– Bằng cách tiếp cận nêu trên, ta có thể giả định khung thời gian rút tiền tương đồng hoặc gần với thời gian mà hacker gửi tiền vào Tornado.Cash.

– Khoản tiền rút từ Tornado.Cash sẽ được gửi vào cùng một địa chỉ trong khoảng thời gian đó.

Xác minh giả thuyết

Bắt đầu bằng địa chỉ của hacker (0x34a… c6b):

Tiến hành phân tích blockchain, ta nhận thấy hacker đã gửi khoảng 11.500 ETH vào Tornado.Cash trong khoảng thời gian từ 16:06:28 ngày 23/10/2020 đến 10:32:24 ngày 26/10/2020. Cứ vào mỗi đợt trong số 115 lần gửi tiền, 100 ETH sẽ được thêm vào địa chỉ. Sau đây là lịch sử gửi tiền của địa chỉ này trong khoảng thời gian từ 3:00:07 đến 6:28:33 ngày 24/10/2020. 

Trong cùng một khoảng thời gian, một lượng lớn ETH được chuyển ra khỏi Tornado.Cash. 100 ETH cũng được gửi vào cùng một địa chỉ (0x82e… 398).

Khi xem xét các giao dịch của địa chỉ (0x82e… 398), MistTrack chỉ ra ETH không được rút về chính địa chỉ này, mà một hợp đồng đã chuyển toàn bộ tiền đến địa chỉ (0xa4a… 22f).

Sử dụng phương pháp này, MistTrack đã lần ra các địa chỉ khác có khả năng nhận được tiền từ địa chỉ ban đầu của hacker (0x34a… c6b) thông qua Tornado.Cash. 

Sau khi điều tra thêm, họ phát hiện số tiền rút từ Tornado.Cash đến 6 địa chỉ khớp với 11.500 ETH mà hacker đã gửi vào đó, xác thực giả thuyết ban đầu là hoàn toàn chính xác.

Tiếp đến, họ dùng hệ thống MistTrack để theo dõi và phân tích 6 địa chỉ này. Hacker đã chuyển một số tiền với mức tăng từ 50 đến 53 ETH vào các nền tảng giao dịch như ChangeNOW, CoinSwitch và Binance. Một vài khoản tiền khác được chuyển đến nhiều sàn giao dịch trung gian trước khi đến các sàn giao dịch nêu trên.

Tổng kết

Trọng tâm của bài viết này là giải thích phương thức các hacker dùng Tornado.Cash để rửa số ETH họ đánh cắp. Kết quả phân tích khiến ta phải tự hỏi: Liệu Tornado.Cash có thực sự hoàn toàn ẩn danh? Một mặt, ta biết được đáp án là không có bất cứ thứ gì ẩn danh tuyệt đối. Mặt khác, ta nhận thấy Tornado.Cash không phải là lựa chọn tối ưu để tiến hành một phi vụ quy mô lớn trong thời gian ngắn.

Trong một tuyên bố chính thức, sàn KuCoin cho hay họ đã thu hồi được khoảng 24 triệu đô la nhờ sự hỗ trợ của các sàn giao dịch, thành viên nhóm dự án, cơ quan thực thi pháp luật và an ninh. Trong quá khứ, các giao thức DeFi có thể là địa điểm lý tưởng để các hacker xử lý số tiền họ đánh cắp, nhưng tình thế bây giờ đã thay đổi. Với hệ thống chống rửa tiền MistTrack, ngay cả khi hacker "nhờ cậy" đến DeFi, dấu vết phạm tội vẫn có thể bị lần ra.

Có thể bạn quan tâm

Mục lục