Vẫn còn các chuyên gia; họ đã phân tích cách Binance bị tấn công lần này trên chuỗi Ethereum, và giờ tôi nghĩ mình đã hiểu chuyện gì xảy ra.

Lần này, vụ tấn công xảy ra ở bước ký, chứ không phải ở khóa riêng.

Trên Ethereum có một tính năng gọi là 7702, cho phép ví thông thường ký giấy ủy quyền và giao quyền quản lý tài khoản cho một hợp đồng thông minh.

Cứ như thể bạn đang ký giấy ủy quyền với nội dung: kể từ hôm nay, một chương trình của người khác sẽ quản lý tài khoản, và hễ có tiền chuyển vào thì nó sẽ chuyển tiền ra ngoài.

Sau khi ký ủy quyền, tài khoản không còn nằm dưới sự kiểm soát của bạn nữa

Ủy quyền này có hiệu lực tại một số nonce cụ thể

Mỗi ví có một bộ đếm gọi là nonce, tăng thêm một sau mỗi giao dịch bạn gửi

Ủy quyền được gắn với một số cụ thể và chỉ có hiệu lực khi tài khoản đạt đến số đó; sau khi được sử dụng một lần, nó sẽ bị hủy

Khi đó, những kẻ tấn công không biết ví Binance đã đạt đến nonce nào, vì ví liên tục gửi giao dịch

Vì vậy, họ khiến Binance ký 50 ủy quyền liên tiếp cùng một lúc, lần lượt từng cái một, với hy vọng một cái sẽ trúng nonce chính xác

Chỉ cần một trong 50 ủy quyền khớp với nonce hiện tại là nó sẽ có hiệu lực

Và đó chính xác là điều đã xảy ra

Điều thực sự đáng lo ngại là chính Binance đã tự ký 50 ủy quyền này

Có thể thấy các số liên tiếp trên chuỗi, cho thấy chúng được ký cùng lúc trong một khoảng thời gian cực ngắn

Blockaid cho rằng sự việc này giống với việc lạm dụng khóa hơn là đánh cắp khóa

Khóa riêng vẫn nằm trong tay Binance, nhưng những kẻ tấn công đã khiến hệ thống ký tin rằng 50 giao dịch này xứng đáng được ký

Một khi ủy quyền có hiệu lực, ví đó không còn là một chiếc ví thông thường nữa

Thay vào đó, nó trở thành lối vào hợp đồng của những kẻ tấn công, và hợp đồng đó chỉ có một chức năng: rút toàn bộ coin và ETH rồi chuyển đi, chỉ để lại 1 ETH

1 ETH được giữ lại để tài khoản vẫn có thể gửi giao dịch; nếu ai đó gửi thêm tiền vào, số tiền đó cũng sẽ bị rút theo cách tương tự

Đây không phải là một vụ trộm chỉ xảy ra một lần, mà là việc rút tiền liên tục

Trong khi đó, tiền liên tục chảy ra từ các ví nóng của Binance trên nhiều chuỗi

Điều này có nghĩa là những kẻ tấn công không chiếm được một ví cụ thể nào, mà có được khả năng ký cho phép họ tác động đến nhiều ví cùng lúc

Trong mười năm qua, các vụ sàn giao dịch bị trộm tiền thường xảy ra do khóa riêng hoặc cụm từ khôi phục bị rò rỉ, hoặc do nhân viên nội bộ tiếp tay

Nhưng lần này, chẳng có gì bị đánh cắp; chính hệ thống đã ký

Sau 7702, một chữ ký có thể làm được nhiều việc hơn rất nhiều so với chỉ một lần chuyển tiền… lần lượt từng cái một, với hy vọng một cái sẽ trúng nonce chính xác

Chỉ cần một trong 50 ủy quyền khớp với nonce hiện tại là nó sẽ có hiệu lực

Và đó chính xác là điều đã xảy ra

Điều thực sự đáng lo ngại là chính Binance đã tự ký 50 ủy quyền này

Có thể thấy các số liên tiếp trên chuỗi, cho thấy chúng được ký cùng lúc trong một khoảng thời gian cực ngắn

Blockaid cho rằng sự việc này giống với việc lạm dụng khóa hơn là đánh cắp khóa

Khóa riêng vẫn nằm trong tay Binance, nhưng những kẻ tấn công đã khiến hệ thống ký tin rằng 50 giao dịch này xứng đáng được ký

Một khi ủy quyền có hiệu lực, ví đó không còn là một chiếc ví thông thường nữa

Nhưng nó đã trở thành lối vào hợp đồng của những kẻ tấn công, và hợp đồng đó chỉ có một chức năng: rút toàn bộ coin và ETH rồi chuyển đi, chỉ để lại 1 ETH

1 ETH được giữ lại để tài khoản vẫn có thể gửi giao dịch; nếu ai đó gửi thêm tiền vào, số tiền đó cũng sẽ bị rút theo cách tương tự

Đây không phải là một vụ trộm chỉ xảy ra một lần, mà là việc rút tiền liên tục