Tác giả: Beosin
Vào rạng sáng ngày 9 tháng 1, hợp đồng chưa được mở nguồn được triển khai cách đây 5 năm của Truebit Protocol đã bị tấn công, thiệt hại 8,535.36 ETH (trị giá khoảng 26.4 triệu USD). Đội ngũ bảo mật Beosin đã tiến hành phân tích lỗ hổng và theo dõi dòng tiền cho sự kiện bảo mật lần này và chia sẻ kết quả như sau:
Phân tích thủ thuật tấn công
Trong sự kiện này, chúng tôi lấy một giao dịch tấn công chính để phân tích, hash giao dịch là: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
1. Kẻ tấn công gọi getPurchasePrice() để lấy giá
2. Sau đó gọi hàm 0xa0296215() có lỗ hổng và đặt giá trị msg.value cực kỳ nhỏ
Do hợp đồng không mở nguồn, thông qua mã đã dịch ngược, suy đoán rằng hàm này có lỗ hổng logic số học, chẳng hạn như vấn đề cắt bỏ số nguyên, dẫn đến việc kẻ tấn công đúc thành công một lượng lớn token TRU.
3. Kẻ tấn công thông qua hàm burn "bán lại" token đã đúc cho hợp đồng, rút một lượng lớn ETH từ kho dự trữ của hợp đồng.
Quá trình này lặp lại thêm 4 lần, mỗi lần giá trị msg.value tăng lên, cho đến khi rút gần như toàn bộ ETH trong hợp đồng.
Theo dõi tiền bị đánh cắp
Theo dữ liệu giao dịch trên chain, Beosin thông qua nền tảng điều tra và theo dõi trên chain BeosinTrace đã tiến hành theo dõi chi tiết dòng tiền và chia sẻ kết quả như sau:
Hiện tại, 8,535.36 ETH bị đánh cắp sau khi chuyển đi, phần lớn được lưu trữ lần lượt tại 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 và 0x273589ca3713e7becf42069f9fb3f0c164ce850a.
Trong đó địa chỉ 0xd12f nắm giữ 4,267.09 ETH, địa chỉ 0x2735 nắm giữ 4,001 ETH. Địa chỉ phát động tấn công của kẻ tấn công (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50) còn lưu trữ 267.71 ETH, ba địa chỉ này tạm thời chưa có chuyển động tiền tiếp theo.
Biểu đồ phân tích dòng tiền bị đánh cắp bởi Beosin Trace
Tất cả các địa chỉ trên đều đã được Beosin KYT đánh dấu là địa chỉ rủi ro cao, lấy địa chỉ kẻ tấn công làm ví dụ:
Beosin KYT
Lời kết
Tiền bị đánh cắp lần này liên quan đến hợp đồng thông minh chưa mở nguồn từ 5 năm trước, đối với loại hợp đồng này, dự án nên nâng cấp hợp đồng, đưa vào tính năng tạm dừng khẩn cấp, giới hạn tham số cũng như các tính năng bảo mật mới của Solidity. Ngoài ra, kiểm toán bảo mật vẫn là khâu không thể thiếu của hợp đồng. Thông qua kiểm toán bảo mật, doanh nghiệp Web3 có thể kiểm tra mã hợp đồng thông minh một cách toàn diện nhất có thể, phát hiện và sửa chữa các lỗ hổng tiềm ẩn, nâng cao tính bảo mật của hợp đồng.
*Beosin sẽ cung cấp báo cáo phân tích đầy đủ về tất cả dòng tiền và rủi ro địa chỉ của lần này, vui lòng nhận qua email chính thức [email protected].





