Address poisoning là hình thức lừa đảo trong đó kẻ xấu đưa một địa chỉ ví giả mạo vào lịch sử giao dịch của nạn nhân. Địa chỉ này được tạo để có một số ký tự đầu hoặc cuối giống địa chỉ mà nạn nhân từng sử dụng. Nếu chỉ nhìn phần địa chỉ bị rút gọn rồi sao chép từ lịch sử, người dùng có thể gửi tài sản cho kẻ tấn công.
Rủi ro này không có nghĩa blockchain đã bị sửa dữ liệu hoặc khóa riêng tư tự động bị lộ. Điểm yếu bị khai thác chủ yếu là thói quen nhận diện địa chỉ qua vài ký tự và sao chép từ lịch sử giao dịch.
Address poisoning là gì?
Address poisoning, thường được gọi là tấn công đầu độc địa chỉ ví, là thủ thuật làm nhiễu lịch sử giao dịch bằng một địa chỉ ví giả mạo có hình thức gần giống địa chỉ hợp lệ.
Nhiều ứng dụng ví và trình khám phá blockchain chỉ hiển thị một phần địa chỉ, chẳng hạn các ký tự ở đầu và cuối. Kẻ xấu lợi dụng cách rút gọn này để tạo địa chỉ có phần hiển thị tương tự địa chỉ mà nạn nhân thường gửi tiền đến.
Sau đó, chúng thực hiện một giao dịch giá trị rất nhỏ, giao dịch token có giá trị bằng không hoặc một hoạt động on-chain khác để địa chỉ giả xuất hiện trong lịch sử. Mục tiêu là khiến nạn nhân chọn nhầm địa chỉ này ở lần chuyển tiền sau.
Kẻ tấn công không biến địa chỉ giả thành địa chỉ thật và cũng không chiếm quyền kiểm soát địa chỉ hợp lệ. Chúng chỉ tạo một địa chỉ khác có vài ký tự dễ gây nhầm lẫn.
Tấn công đầu độc địa chỉ ví diễn ra như thế nào?

Một cuộc tấn công thường có các bước sau:
- Theo dõi dữ liệu công khai trên blockchain: Kẻ xấu tìm các ví đang hoạt động và xem những địa chỉ mà ví đó thường xuyên tương tác.
- Tạo địa chỉ gần giống: Chúng sử dụng công cụ để tìm địa chỉ có một số ký tự đầu hoặc cuối tương tự địa chỉ quen thuộc của nạn nhân.
- Đưa địa chỉ giả vào lịch sử: Kẻ tấn công gửi một lượng tài sản rất nhỏ hoặc tạo một mục chuyển token để ví hay trình khám phá blockchain ghi nhận hoạt động.
- Chờ nạn nhân sao chép nhầm: Khi cần chuyển crypto, nạn nhân mở lịch sử, nhận diện bằng phần địa chỉ rút gọn và sao chép địa chỉ của kẻ xấu.
- Nhận tài sản: Nếu giao dịch đã được xác nhận trên blockchain, khả năng thu hồi thường rất hạn chế.
Trên một số mạng, giao dịch rác có thể xuất hiện dưới dạng token lạ, NFT không rõ nguồn gốc hoặc sự kiện chuyển token bằng không. Cách hiển thị phụ thuộc vào blockchain, hợp đồng token, ví và trình lập chỉ mục. Vì vậy, một mục xuất hiện trong lịch sử chưa đủ để chứng minh rằng người dùng đã chủ động tạo hoặc ký giao dịch đó.
Dấu hiệu nhận biết giao dịch rác trong ví crypto
Một giao dịch bất thường không phải lúc nào cũng là address poisoning, nhưng nên được kiểm tra nếu có các dấu hiệu sau:
- Ví nhận một lượng token rất nhỏ từ địa chỉ không quen biết.
- Lịch sử xuất hiện giao dịch có giá trị bằng không mà chủ ví không nhớ đã thực hiện.
- Địa chỉ mới có ký tự đầu hoặc cuối giống một địa chỉ từng giao dịch.
- Ví xuất hiện token hoặc NFT lạ kèm tên miền, đường dẫn hay thông điệp mời nhận thưởng.
- Một giao dịch được giao diện ví trình bày như hoạt động gửi đi, nhưng khi kiểm tra chi tiết lại là sự kiện token hoặc lời gọi hợp đồng khác.
- Địa chỉ trông quen thuộc khi bị rút gọn nhưng khác ở phần giữa.
Không nên tương tác với token rác, truy cập đường dẫn gắn trong tên token hoặc kết nối ví với website được quảng bá qua giao dịch không mong muốn. Việc nhận token rác không đồng nghĩa ví đã mất quyền kiểm soát, nhưng ký một yêu cầu độc hại sau đó có thể phát sinh rủi ro khác.
Quy trình kiểm tra địa chỉ nhận crypto
1. Lấy địa chỉ từ nguồn đáng tin cậy
Ưu tiên lấy địa chỉ trực tiếp từ người nhận, trang nạp tiền chính thức của sàn hoặc danh bạ đã được xác minh. Không dùng lịch sử giao dịch làm nguồn mặc định, kể cả khi địa chỉ có vẻ quen thuộc.
Nếu nhận địa chỉ qua tin nhắn, nên xác nhận lại bằng một kênh liên lạc khác đối với giao dịch quan trọng. Tài khoản nhắn tin của người nhận có thể bị chiếm quyền hoặc nội dung trên thiết bị có thể bị thay thế.
2. Xác nhận đúng mạng blockchain
Cùng một loại tài sản có thể tồn tại trên nhiều mạng. Trước khi gửi, cần đối chiếu:
- Mạng rút tiền và mạng nhận tiền.
- Loại tài sản hoặc hợp đồng token.
- Địa chỉ nạp có hỗ trợ tài sản đó hay không.
- Memo, tag hoặc mã định danh bổ sung nếu nơi nhận yêu cầu.
Địa chỉ có định dạng hợp lệ không có nghĩa nơi nhận hỗ trợ đúng mạng hoặc đúng token.
3. Kiểm tra toàn bộ địa chỉ
Không chỉ so sánh vài ký tự đầu và cuối. Hãy đối chiếu toàn bộ chuỗi địa chỉ sau khi dán, đặc biệt là phần giữa thường bị giao diện ẩn đi.
Nếu sử dụng ví cứng, địa chỉ hiển thị trên màn hình thiết bị là thông tin cần kiểm tra trước khi xác nhận. Đừng chỉ dựa vào địa chỉ trên máy tính hoặc điện thoại vì phần mềm độc hại có thể thay nội dung trong clipboard.
Chữ hoa, chữ thường hoặc checksum có thể giúp phát hiện một số lỗi nhập liệu trên các mạng hỗ trợ, nhưng không ngăn được một địa chỉ giả mạo được tạo hợp lệ. Vì vậy, checksum không thay thế việc đối chiếu đầy đủ.
4. Dùng danh bạ hoặc danh sách cho phép
Lưu địa chỉ đã xác minh vào danh bạ của ví với tên mô tả rõ ràng. Nếu sàn hoặc nền tảng hỗ trợ danh sách địa chỉ được phép rút tiền, có thể bật tính năng này để hạn chế chuyển tới địa chỉ mới ngoài ý muốn.
Khi người nhận thay đổi địa chỉ, không nên sửa danh bạ chỉ dựa trên một tin nhắn bất ngờ. Hãy xác minh lại nguồn và mạng blockchain trước khi cập nhật.
5. Thử số tiền nhỏ khi phù hợp
Với giao dịch có giá trị đáng kể hoặc địa chỉ mới, có thể gửi thử một lượng nhỏ trước. Chỉ tiếp tục khi người nhận xác nhận đã nhận đúng tài sản trên đúng mạng.
Cách này cần được áp dụng có cân nhắc vì phí mạng, mức nạp tối thiểu và chính sách ghi có của từng nền tảng có thể khác nhau. Khi thực hiện giao dịch chính, vẫn phải lấy lại địa chỉ từ nguồn đã xác minh và kiểm tra toàn bộ chuỗi. Không sao chép địa chỉ từ mục giao dịch thử trong lịch sử, vì kẻ xấu có thể chèn thêm địa chỉ giả sau đó.
Những cách phòng tránh address poisoning

Các biện pháp thực tế gồm:
- Không sao chép địa chỉ nhận từ lịch sử giao dịch.
- Không nhận diện ví chỉ bằng vài ký tự đầu hoặc cuối.
- Kiểm tra toàn bộ địa chỉ sau khi dán và trước khi ký.
- Đối chiếu địa chỉ trên màn hình ví cứng nếu sử dụng thiết bị này.
- Lưu người nhận thường xuyên vào danh bạ đã xác minh.
- Bật danh sách địa chỉ được phép nếu nền tảng cung cấp.
- Xác nhận mạng, token và memo hoặc tag trước khi gửi.
- Gửi thử số tiền nhỏ khi chi phí và chính sách nơi nhận cho phép.
- Không tương tác với token, NFT hoặc đường dẫn lạ xuất hiện trong ví.
- Kiểm tra chi tiết giao dịch trên trình khám phá blockchain thay vì chỉ nhìn bản ghi rút gọn trong ứng dụng.
Nên thực hiện lại quy trình kiểm tra cho từng giao dịch. Một lần chuyển thử thành công không bảo đảm địa chỉ trong clipboard hoặc lịch sử ở lần sau vẫn là địa chỉ hợp lệ.
Cần làm gì nếu đã chuyển nhầm?
Nếu phát hiện đã gửi crypto đến địa chỉ giả mạo, nên hành động theo thứ tự sau:
- Dừng các giao dịch tiếp theo và không sao chép thêm địa chỉ từ lịch sử.
- Lưu lại mã giao dịch, địa chỉ gửi, địa chỉ nhận, mạng blockchain và thời điểm phát hiện.
- Kiểm tra trạng thái giao dịch trên trình khám phá blockchain.
- Liên hệ ngay với ví, sàn hoặc đơn vị nhận tiền nếu địa chỉ đích có dấu hiệu thuộc một dịch vụ tập trung.
- Gửi báo cáo cho nền tảng liên quan và cơ quan có thẩm quyền khi cần thiết.
- Kiểm tra thiết bị nếu nghi ngờ clipboard bị thay thế hoặc tài khoản liên lạc bị xâm nhập.
Blockchain thường không có cơ chế tự đảo ngược một giao dịch đã được xác nhận. Việc liên hệ sớm có thể hữu ích nếu tài sản đi vào một nền tảng có khả năng hỗ trợ, nhưng không có bảo đảm sẽ đóng băng hoặc thu hồi được tiền.
Address poisoning thông thường không cần quyền phê duyệt token để nhận khoản tiền nạn nhân tự gửi. Vì vậy, việc hủy approval không thể hoàn tác giao dịch. Tuy nhiên, nếu người dùng đã kết nối với website lạ hoặc ký yêu cầu cấp quyền, nên kiểm tra và thu hồi quyền truy cập ví crypto đối với các hợp đồng không còn tin cậy.
Nếu seed phrase hoặc khóa riêng tư đã bị tiết lộ, chỉ thu hồi quyền hợp đồng là chưa đủ. Người dùng cần ngừng sử dụng ví bị lộ và chuyển tài sản còn lại sang một ví mới được tạo trên môi trường an toàn.
Không nên gán danh tính chỉ từ địa chỉ ví
Địa chỉ blockchain là một định danh kỹ thuật, không tự động đại diện cho danh tính pháp lý của một cá nhân hay tổ chức. Một địa chỉ có thể thuộc về:
- Ví cá nhân không công khai danh tính.
- Địa chỉ nạp do sàn cấp cho người dùng.
- Ví lưu ký hoặc ví dùng chung.
- Hợp đồng thông minh.
- Dịch vụ trung gian.
- Ví đã bị chiếm quyền kiểm soát.
Dữ liệu on-chain có thể cho biết dòng tiền và quan hệ giao dịch, nhưng không đủ để kết luận chắc chắn ai đang kiểm soát địa chỉ. Ngay cả nhãn trên trình khám phá blockchain cũng cần được xem xét theo nguồn và thời điểm cập nhật.
Do đó, không nên công khai cáo buộc một cá nhân hoặc dự án chỉ vì thấy địa chỉ liên quan đến giao dịch đáng ngờ. Việc quy kết danh tính cần thêm bằng chứng từ nền tảng, hồ sơ điều tra hoặc nguồn có thẩm quyền.
Address poisoning khác các rủi ro crypto nào?

Address poisoning tập trung vào việc khiến người dùng chọn nhầm địa chỉ nhận. Nó khác với:
- Clipboard malware: Phần mềm độc hại tự thay địa chỉ sau khi người dùng sao chép.
- Phishing: Website hoặc ứng dụng giả yêu cầu nhập seed phrase, khóa riêng tư hay ký giao dịch độc hại.
- Malicious approval: Người dùng cấp quyền cho hợp đồng chuyển token khỏi ví.
- Sai mạng: Người dùng gửi đúng địa chỉ nhưng qua blockchain mà nơi nhận không hỗ trợ.
- Rủi ro lưu ký hoặc thanh khoản của sàn: Tài sản được gửi đúng nơi nhưng nền tảng gặp vấn đề về khả năng đáp ứng yêu cầu rút tiền.
Kiểm tra địa chỉ giúp giảm rủi ro chuyển nhầm, nhưng không đánh giá được tình trạng tài sản của một đơn vị lưu ký. Khi xem xét một sàn, người dùng có thể tìm hiểu riêng về cách kiểm tra Proof of Reserves, đồng thời lưu ý rằng dữ liệu dự trữ không tự nó phản ánh đầy đủ mọi nghĩa vụ hoặc rủi ro vận hành.
Kết luận
Address poisoning khai thác sự giống nhau giữa các địa chỉ rút gọn và thói quen sao chép từ lịch sử giao dịch. Biện pháp phòng tránh quan trọng nhất là lấy địa chỉ từ nguồn đáng tin cậy, xác nhận đúng mạng, kiểm tra toàn bộ chuỗi địa chỉ và sử dụng danh bạ đã xác minh.
Gửi thử số tiền nhỏ có thể giảm hậu quả khi dùng địa chỉ mới, nhưng không thay thế việc kiểm tra lại trước từng lần chuyển. Đồng thời, một địa chỉ ví chỉ là dữ liệu on-chain; không nên dùng nó làm bằng chứng duy nhất để xác định hoặc cáo buộc danh tính của bất kỳ cá nhân, sàn giao dịch hay dự án blockchain nào.
