Tài sản vẫn tiếp tục bị chuyển khỏi ví Ethereum (ETH) “Binance 14” bằng ủy quyền độc hại EIP-7702 sau khi Binance ngừng rút tiền ngày 30/10. Quyền ủy quyền này vẫn tồn tại trên blockchain, tách biệt với hệ thống rút tiền.
Trong báo cáo sơ bộ công bố ngày 3/11, Binance ghi nhận tài sản bị ảnh hưởng trị giá 6,34 tỷ USD (khoảng 8,49 nghìn tỷ won) và tài sản bị đóng băng hoặc chặn trị giá 2,85 tỷ USD (khoảng 3,82 nghìn tỷ won). Báo cáo cho biết kẻ tấn công đã truy cập trái phép dịch vụ ký giao dịch của ví nội bộ và tạo giao dịch bên ngoài quy trình rút tiền thông thường.
Binance cho biết đã bổ sung 98% tài sản token bị ảnh hưởng tính đến ngày 31/10. Tỷ lệ này khác với tỷ lệ thu hồi tài sản bị đánh cắp.
Báo cáo sơ bộ của Binance cũng ghi nhận một biện pháp ứng phó riêng: gỡ quyền ủy quyền trên blockchain, bên cạnh việc xử lý các giao dịch chuyển tài sản.
Tài khoản do bên ngoài sở hữu (EOA) trên Ethereum là tài khoản thông thường dùng khóa riêng để ký giao dịch. EIP-7702 là tiêu chuẩn cho phép tài khoản ủy quyền thực thi mã của một hợp đồng thông minh cụ thể bằng chữ ký.
Tiêu chuẩn chính thức EIP-7702 cho phép gộp nhiều thao tác vào một giao dịch hoặc để tài khoản khác trả phí. Khi có lệnh gọi đến ví, mã được ủy quyền sẽ chạy trong tài khoản đó.
Quyền ủy quyền không tự biến mất khi giao dịch kết thúc. Cần một giao dịch riêng để chỉ định mã mới hoặc đổi địa chỉ được cấp quyền thành địa chỉ zero. TokenPost trước đó đã đưa tin về một dự thảo nhằm chặn vĩnh viễn quyền ủy quyền mà vẫn giữ nguyên địa chỉ ví.
Trong báo cáo phân tích sự cố, Blockaid cho biết một giao dịch gửi đến ví nóng “Binance 14” vào khoảng 5h20 ngày 30/10, giờ Hàn Quốc, chứa 50 chữ ký cấp quyền EIP-7702. Mỗi chữ ký có một nonce khác nhau; một chữ ký trùng với nonce của ví tại thời điểm đó, khiến quyền được ủy quyền cho hợp đồng do kẻ tấn công triển khai.
Khoảng 3 phút sau, kẻ tấn công chuyển 167.464 ETH, 1,615 tỷ USDT và khoảng 60 loại token khác khỏi ví trong một giao dịch. Blockaid ước tính giá trị tài sản khi đó vào khoảng 2,5 tỷ USD (khoảng 3,35 nghìn tỷ won).
Blockaid phân tích rằng vào lúc 6h44 cùng ngày, sau lần chuyển đầu tiên, kẻ tấn công còn chuyển 200 triệu USDT cùng 13 loại token khác được đưa vào ví. Binance cho biết giao dịch chuyển tài sản trái phép cuối cùng được xác nhận trên blockchain lúc 8h56.
Hai báo cáo mô tả khác nhau cách xử lý 50 chữ ký. Blockaid nói một giao dịch chứa 50 chữ ký cấp quyền, còn báo cáo sơ bộ của Binance cho biết đã gửi “50 giao dịch chữ ký”.
Sự cố Binance còn khiến tài sản trong ví nóng trên các blockchain khác bị chuyển đi. Blockaid phân tích rằng các giao dịch chuyển tài sản từ những ví này được ký bằng khóa riêng của từng ví theo cách thông thường.
EIP-7702 được dùng trong việc chuyển tài sản từ ví Ethereum, nhưng không phải nguyên nhân của toàn bộ sự cố trải rộng trên nhiều blockchain. Cần phân biệt việc truy cập trái phép vào dịch vụ ký nội bộ mà Binance nêu ra với việc chuyển tài sản thông qua quyền ủy quyền trên blockchain.
Ido Ben-Natan, đồng sáng lập kiêm CEO Blockaid, nói trong cuộc phỏng vấn với Cointelegraph: “Ngay cả khi không có 7702, việc lấy cắp tiền vẫn có thể xảy ra, nhưng tính năng này có thể đã giúp chuyển tiền trong một lần và vượt qua một số bước kiểm tra”. Nhận định này phân biệt con đường xâm nhập ban đầu với chức năng được dùng để chuyển tài sản.
Ivo Georgiev, đồng sáng lập kiêm CEO Ambire, nhận định trong cùng cuộc phỏng vấn rằng tác động của EIP-7702 đối với cuộc tấn công sẽ hạn chế nếu kẻ tấn công đã có quyền phê duyệt giao dịch. Ông cũng lưu ý việc gỡ quyền ủy quyền độc hại có thể bị bỏ sót trong quá trình ứng phó sự cố.
Lúc 9h10 ngày 30/10, giờ Hàn Quốc, Binance đổi địa chỉ được ủy quyền của “Binance 14” thành địa chỉ zero để xóa mã độc. Việc ngừng rút tiền không thể tự gỡ quyền đã được thiết lập trên blockchain, nên cần một giao dịch riêng.
Binance cho biết cuộc điều tra vẫn ở giai đoạn đầu và sẽ tiếp tục được các công ty bảo mật bên ngoài rà soát.
Comment 0