
Airdrop: bước nhận chính là đòn tấn công
Trong ví của bạn xuất hiện một token bạn không hề mua. Số dư trông như thật. Có một trang web in ngay trong tên token, và trang ấy nói bạn còn được nhận thêm.
Gần như mọi thứ trong câu đó được thiết kế để khiến bạn làm đúng một việc: kết nối ví và ký. Token là mồi. Bước nhận là đòn tấn công.
Airdrop thật có tồn tại, và vài cái từng thực sự có giá trị. Nhưng cơ chế của một lần nhận hợp lệ và một lần nhận độc hại trông gần như y hệt từ phía người dùng, và đó chính là lý do loại trộm cắp này cứ mãi hiệu quả.
Vì sao token miễn phí là mồi nhử hoàn hảo
Ai cũng có thể tạo một token và gửi tới bất kỳ địa chỉ nào. Người gửi tốn một khoản phí nhỏ, bạn chẳng tốn gì, và bạn không thể từ chối. Sự bất đối xứng đó là toàn bộ nền móng của trò lừa.
Một token không mời mà đến làm được ba việc có ích cho kẻ tấn công. Nó đưa thông điệp của họ vào giao diện ví, nơi bạn quen tin những gì mình thấy. Nó tạo cảm giác sở hữu — mình có thứ gì đó, nên làm gì đó với nó. Và nó cho họ cái cớ để đưa bạn tới một trang web.
Một số token mang URL làm tên hoặc ký hiệu. Một số hiện số dư khổng lồ, thường với tổng cung dài phi lý để gây ấn tượng thoáng nhìn. Vài cái được dựng để chính việc thử bán hay chuyển chúng sẽ trực tiếp kích hoạt tương tác độc hại.
Đây là họ hàng gần của đầu độc địa chỉ và tấn công bụi: giá trị không ai yêu cầu rơi vào ví bạn như phương tiện chuyên chở một thứ khác.
Giữ token không phải là mối nguy
Đây là phần yên tâm, và cần nói cho chính xác.
Một token nằm ở địa chỉ của bạn không thể lấy đi thứ gì. Nó không thể chuyển các tài sản khác của bạn, không thể ký thay bạn và không thể thò tay vào ví. Nhận nó không đòi hỏi gì ở bạn, và không làm gì với nó thì bạn vẫn an toàn y như trước.
Mối nguy bắt đầu ngay khi bạn tương tác. Mọi vụ trộm thuộc loại này đều cần một chữ ký của bạn — và toàn bộ tay nghề của kẻ tấn công dồn vào việc khiến chữ ký ấy trông như thường lệ.
Vì vậy quy tắc đầu tiên rất đơn giản: một token bất ngờ là thông tin, không phải lời mời. Bạn có thể phớt lờ nó vô thời hạn.
Trang nhận thực sự bắt bạn ký gì
Trang sẽ bảo bạn «nhận», «kiểm tra điều kiện» hay «kết nối để xem phần được chia». Thứ nó thực sự yêu cầu thường là một trong ba điều.
Một phê duyệt token. Một giao dịch trao cho hợp đồng nào đó quyền di chuyển một token bạn đang có — thường với hạn mức không giới hạn. Nó được dán nhãn là một phần của bước nhận, nhưng chẳng dính dáng gì tới việc nhận cả. Phê duyệt là những quyền sống lâu hơn khoảnh khắc bạn cấp chúng, và kẻ rút cạn chỉ cần một cái.
Một chữ ký ngoài chuỗi. Đây là biến thể hiện đại nguy hiểm hơn. Các chuẩn như permit EIP-2612 và Permit2 cho phép bạn ủy quyền chi tiêu token bằng một thông điệp đã ký thay vì một giao dịch. Không gas, không phát sóng, không gì trong lịch sử của bạn — và kẻ tấn công có thể nộp nó sau đó để chuyển token của bạn. Người đã học cách cẩn trọng với giao dịch thường lơ là hơn nhiều với «chỉ là một chữ ký», vì nó có vẻ chẳng tốn gì.
Một giao dịch làm nhiều hơn lời nó nói. Một lệnh «nhận» đồng thời chuyển tài sản ra ngoài, gói gọn trong một lần phê duyệt.
Cả ba có chung một đặc điểm: trang mô tả lợi ích cho bạn, còn phần tải thật mô tả một quyền cho họ. Khoảng cách ấy là ý nghĩa của ký mù, và việc nhận airdrop là dạng phổ biến nhất của nó ngoài đời thực.
SSP cho bạn thấy gì với một chữ ký dữ liệu có kiểu
Permit ngoài chuỗi đến dưới dạng yêu cầu dữ liệu có kiểu EIP-712, nên đáng nói cụ thể SSP xử lý chúng ra sao — kể cả chỗ còn thiếu.
Khi một dApp yêu cầu chữ ký dữ liệu có kiểu, SSP cho bạn thấy tên và URL của trang yêu cầu, địa chỉ sẽ ký, mạng lưới, và cảnh báo chuyển chuỗi nếu yêu cầu nhắm tới chuỗi khác với chuỗi bạn đang dùng. Sau đó nó hiện toàn bộ phần tải EIP-712 có cấu trúc — mọi trường, không giấu gì.
Ký nó đòi hỏi phê duyệt trên SSP Wallet rồi xác nhận trên SSP Key. Hai thiết bị, hai bước có chủ ý. Điều đó thật sự bảo vệ bạn khỏi việc một thiết bị bị xâm nhập tự mình tạo ra chữ ký.
Giờ là giới hạn trung thực. Với dữ liệu có kiểu, SSP hiện JSON có cấu trúc dạng thô thay vì một bản tóm tắt bằng lời thường. Bộ giải mã giao dịch của chúng tôi dịch các lệnh ERC-20 phổ biến thành câu dễ đọc — kể cả gắn cờ hạn mức không giới hạn — nhưng permit dạng dữ liệu có kiểu hiện chưa được giải mã như vậy. Bạn nhận được toàn bộ sự thật, nhưng phải tự đọc: tìm trường spender, value hoặc amount, và deadline. Nếu một lệnh «nhận» bảo bạn ký thứ gì chứa một spender và một giá trị lớn, đó không phải là nhận. Đó là cấp quyền.
Và thiết kế hai thiết bị có một ranh giới cần nói rõ. Nó bảo vệ bạn trước một thiết bị bị xâm nhập, chứ không trước việc bạn bị thuyết phục. Nếu bạn phê duyệt một permit độc hại trên cả hai thiết bị, nó được ký hợp lệ. Lần xác nhận thứ hai là cơ hội thứ hai để nhận ra, chứ không bảo đảm bạn sẽ nhận ra.
Cách phân biệt airdrop thật và giả
Airdrop thật được thông báo, không được giao tới. Dự án chính danh công bố điều kiện qua các kênh chính thức của họ, rất lâu trước bất kỳ bước nhận nào. Một token tự dưng xuất hiện và quảng bá trang nhận của chính nó gần như luôn là lừa đảo.
Tự điều hướng, đừng bấm theo. Nếu bạn nghĩ mình đủ điều kiện nhận thứ gì thật, hãy tự vào trang chính thức của dự án bằng cách gõ địa chỉ hoặc từ nguồn bạn vốn tin. Đừng bao giờ theo đường dẫn gắn trong tên token, tin nhắn riêng hay bình luận dưới một bài đăng.
Việc nhận không nên cần tới các tài sản khác của bạn. Nhận token không đòi hỏi phê duyệt bất cứ thứ gì bạn đang sở hữu. Nếu lệnh nhận đòi phê duyệt hay permit trên một token khác, hãy dừng lại.
Sự gấp gáp là dấu hiệu. «Nhận trong 2 giờ» tồn tại để bạn khỏi suy nghĩ.
Kiểm tra thứ đang được ký, chứ không phải lời trang web. Trang web do kẻ muốn chữ ký của bạn viết. Phần tải là phần trung thực duy nhất.
Nếu bạn đã lỡ ký
Hãy hành động nhanh, vì kẻ rút cạn thường quét sạch tài sản trong vài phút.
Thu hồi quyền. Với phê duyệt trên chuỗi, hãy thu hồi nó — việc thu hồi sinh ra chính cho điều này. Permit ngoài chuỗi khó hơn: chúng không được ghi lên chuỗi cho đến khi được dùng, nên cách phòng thủ thực tế là chuyển những token bị ảnh hưởng sang một địa chỉ mới trước khi chữ ký được nộp.
Chuyển những gì còn phơi bày. Mọi thứ kẻ tấn công còn với tới được nên được chuyển tới nơi họ không với tới.
Đừng tương tác thêm. Các trang «khôi phục» và người lạ tốt bụng hứa đảo ngược vụ trộm là làn sóng thứ hai của cùng một chiến dịch.
Bài học rộng hơn đáng giá hơn mọi danh sách. Trong tiền mã hóa, bạn hầu như chẳng bao giờ mất tiền vì nhận một thứ gì. Bạn mất tiền vì ký một thứ gì. Token miễn phí đơn giản là cách hiệu quả nhất mà người ta từng tìm ra để khiến bạn ký.


