Dạo gần đây, lĩnh vực tiền mã hóa liên tục ghi nhận các vụ việc Front End Attack nhắm vào các giao thức DeFi/NFT. Vậy phương thức tấn công này là gì và cách đề phòng nó ra làm sao? Hãy cùng Coincuatui tìm hiểu nhé.
“Miễn dịch” với Front End Attack khi sử dụng các giao thức DeFi
Giả dụ khi bạn truy cập vào PancakeSwap, mọi thứ vẫn rất bình thường, tuy nhiên khi bạn bắt đầu swap WBNB của mình thì một xuất hiện một yêu cầu approve cho WBNB, cho dù trước đó bạn đã swap WBNB rất nhiều lần. Bạn kiểm tra lại mọi thứ, đường link đúng, giao diện quen thuộc, bạn cho rằng chắc không có gì nghiêm trọng và ấn transaction approve cho WBNB và bùm… toàn bộ lượng WBNB của bạn đột nhiên bị chuyển đi dù bạn chẳng làm gì khác.
Đây chính là những gì sẽ diễn ra đối với nạn nhân của một vụ Front End Attack, hay còn gọi là “tấn công DNS” trong thị trường tiền mã hóa. Khi hacker chiếm được quyền kiểm soát tên miền tạm thời, hacker có thể thay thế các smart contract của giao thức bằng các smart contract có khả năng rút tiền từ những ví tương tác với chúng, được ẩn dấu dưới một giao diện giống hoàn toàn với giao thức gốc.
Thực tế các vụ Front End Attack không hề hiếm khi xảy ra, các protocol lớn nhất trong thị trường tiền điện tử đều cũng không tránh khỏi việc trở thành mục tiêu của các vụ tấn công này:
Bạn có thể thấy, đây là các giao thức rất phổ biến và “uy tín” đối với người dùng DeFi nói chung, vì vậy, bất kỳ ai cũng có thể trở thành nạn nhân của các vụ tấn công Front End như thế này. Mặc dù khá may mắn là mình chưa dính vụ hack nào, vì các vụ tấn công kiểu này diễn ra rất nhanh, trung bình chỉ vài giờ trước khi có người phát hiện ra điều bất thường. Nhưng nếu bạn không may là một trong những người đầu tiên tương tác với các smartcontract độc hại của cuộc tấn công kiểu này thì sao?
Đừng lo lắng quá, với một mẹo nhỏ sau đây và một chút chú ý hơn khi sử dụng các giao thức, bạn có thể bảo vệ bản thân tránh khỏi các cuộc tấn công dạng này.
Hãy lấy một ví dụ, khi bạn muốn swap BNB sang BUSD trên PancakeSwap.
Bạn truy cập vào website của PancakeSwap, kết nối ví MetaMask và sẵn sàng để thực hiện giao dịch trên BNB Chain.
Sau đó, nhấn Swap và MetaMask bật lên yêu cầu xác nhận giao dịch.
Ở đây bạn có thể thấy smart contract của PancakeSwap Route V2 sẽ là 0x10ED43C718714eb63d5aA57B78B54704E256024E.
Vì vậy, trước khi thực hiện bất kì một giao dịch nào trên PancakeSwap, hãy kiểm tra xem địa chỉ smart contract mà bạn sẽ tương tác với có phải là địa chỉ chính xác không.
Rất đơn giản, bạn có thể lên bscscan.com để kiểm tra địa chỉ smart contract đó.
Ngoài ra có thể double check bằng việc đọc các tài liệu hướng dẫn của giao thức. Kiểm tra xem các giao dịch với địa chỉ smart contract đó có điều gì bất thường không?
Song, việc phải nhớ các địa chỉ của contract thì cũng là một vấn đề lớn, trong trường hợp bạn sử dụng nhiều giao thức. Trong trường hợp này, MetaMask có một tính năng mà ít người biết đến đó là đặt tên cho các địa chỉ contract, cũng giống như bạn đặt tên cho các địa chỉ ví cá nhân của bạn. Để sử dụng tính năng này, chỉ cần click vào địa chỉ contract ở trên và đặt một cái tên cho địa chỉ đó.
Và thế là xong. Lúc này, xác nhận giao dịch của bạn sẽ hiển thị tên mà bạn gán cho địa chỉ đó thay vì một dãy ký tự khó nhớ.
Trong trường hợp PancakeSwap chịu một cuộc tấn công Front End, lúc này khi bạn tương tác với smart contract swap của Pancake, nếu thấy không hiển thị tên mà bạn đã đặt thì khoan, dừng lại khoảng chừng là 2 giây để kiểm tra lại nhé.
Một trong những thói quen mà mình luôn thực hiện khi sử dụng tiền điện tử đó là kiểm tra lại ít nhất 2 lần địa chỉ ví của bất kỳ cái gì trước khi hành động. Và với các địa chỉ smartcontract cũng không phải ngoại lệ.
Bạn nên sửa tên của tất cả các contract của các giao thức mà bạn tương tác thường xuyên Các giao thức này cũng chứa nhiều các smart contract khác như swap, staking, governance… vì vậy bạn cũng nên đặt tên cho tất cả các contract này để đảm bảo bạn chỉ tương tác với các contract chính thức và không trở thành nạn nhân của Front End Attack.
Khi đã đặt tên cho mọi thứ trong ví của mình, bạn sẽ gần như loại bỏ được nguy cơ bị Front End Attack. Ngoài ra, hãy nhớ rằng luôn kiểm tra kỹ những gì bạn chuẩn bị làm trước khi xác nhận giao dịch trên MetaMask.
Julian
Xem thêm các bài viết khác của tác giả Julian:
Nguồn: Coin68