Với sự phát triển của công nghệ Web3.0, nhiều phương thức tấn công khác nhau như Lừa đảo phê duyệt, Lừa đảo Uniswap Permit2, Lừa đảo khiếu nại và Lừa đảo phương thức đã xuất hiện. Để đối phó với các cuộc tấn công này, bài viết này sẽ trình bày chi tiết cách xác định và ngăn chặn các cuộc tấn công này nhằm giúp người dùng bảo vệ tính bảo mật cho tài sản crypto của họ.
Được viết bởi: Salus Insights
Lừa đảo web3 là gì
Web3 Phishing là một hình thức lừa đảo trực tuyến nhắm vào người dùng crypto bằng cách tạo các trang web giả mạo được ngụy trang thành trang web chính thức để đánh cắp ủy quyền, chữ ký và tài sản crypto của người dùng. Với sự phát triển của công nghệ Web3.0, các chiêu trò lừa đảo Web3 mới liên tục xuất hiện. Dưới đây, chúng tôi sẽ giới thiệu các phương thức tấn công lừa đảo web3 mới: Lừa đảo phê duyệt, Lừa đảo Uniswap allow2, Lừa đảo xác nhận quyền sở hữu và Lừa đảo mô hình. Nó cũng cung cấp các biện pháp hiệu quả để giúp người dùng xác định và ngăn chặn các cuộc tấn công này: các biện pháp phòng ngừa chống lừa đảo phê duyệt, xác định chữ ký trong allow2, ngăn chặn các cuộc tấn công lừa đảo Xác nhận quyền sở hữu và ngăn chặn các cuộc tấn công lừa đảo theo phương thức.
1. Tấn công cuộc gọi phê duyệt
Hầu hết các cuộc tấn công lừa đảo web3 đều liên quan đến hoạt động phê duyệt và tăng Allowance . Những kẻ tấn công đánh lừa người dùng thực hiện các hành động phê duyệt ngụy tạo qua email hoặc tin nhắn ngụy tạo, trang web hoặc ứng dụng giả mạo, kỹ thuật xã hội và quảng cáo hoặc cửa sổ bật lên độc hại. Vì vậy, người dùng cần thu hồi các ủy quyền không cần thiết. Việc thu hồi ủy quyền cũng có thể bị những kẻ lừa đảo lợi dụng.
Một cuộc tấn công lừa đảo ủy quyền xảy ra như thế nào?
Kẻ tấn công đã triển khai hợp đồng token ERC-20 giả mạo và sửa đổi chức năng phê duyệt;
Kẻ tấn công ngụy tạo ủy quyền theo cách thủ công đối với một số lượng lớn địa chỉ trên chuỗi và nhắc nhở người dùng hủy ủy quyền ;
Khi người dùng nhận được lời nhắc và nhấn để hủy ủy quyền, giao dịch sẽ được gửi. Giao dịch này sẽ khiến mã thông báo được đúc vào ví của người triển khai hợp đồng.
liên kết giao dịch lừa đảo được ủy quyền của tăng Allowance
https://arbiscan.io/tx/0xd598336fac79123952319c9cd9cc62aa275162ce5f39d08ccac0c5e6ef0538e5
Liên kết giao dịch lừa đảo "Thu hồi ủy quyền" https://etherscan.io/tx/0xd4d606caddebf185dc6902ffcec78f3cc915826e1c0e37319d407d01681980ab
2. Tấn công lừa đảo Uniswap allow2
Uniswap allow2 cho phép chia sẻ và quản lý ủy quyền mã thông báo trên các ứng dụng khác nhau. Người dùng chỉ cần hoàn tất ủy quyền và giao dịch trong một giao dịch, giảm chi phí gas giao dịch và đơn giản hóa quy trình vận hành giao dịch. Tuy nhiên, Giấy phép 2 thay đổi hoạt động của người dùng thành chữ ký ngoài chuỗi. Đối với người dùng, chữ ký ngoài chuỗi là bước dễ dàng nhất khiến họ mất cảnh giác và đại đa số mọi người không kiểm tra kỹ nội dung chữ ký và không hiểu chữ ký, nội dung.
Cuộc tấn công lừa đảo chữ ký Uniswap allow2 xảy ra như thế nào?
- Điều kiện tiên quyết quan trọng là người dùng phải cấp quyền cho mã thông báo của họ đối với hợp đồng Giấy phép 2, điều đó có nghĩa là chữ ký của bạn trong quá trình ủy quyền đã có rủi ro bị lừa đảo.
- Hacker đã lấy được chữ ký của người dùng, dựa trên chữ ký này, hacker thực hiện các hoạt động license và transferFrom trong hợp đồng allow2 để chuyển tài sản của người dùng.
- Hacker gọi hàm cấp phép, trong đó hàm verify và hàm _updateApproval được gọi chủ yếu. Chức năng xác minh được sử dụng để xác minh chữ ký người dùng. Thực thi chức năng _updateApproval sau khi quá trình xác minh được thông qua. Hàm _updateApproval được sử dụng để cập nhật các giá trị ủy quyền.
Bên được ủy quyền có thể gọi hàm transferFrom để chuyển mã thông báo đến địa chỉ được chỉ định trong giới hạn ủy quyền.
Liên kết giao dịch lừa đảo Permit2
https://etherscan.io/tx/0x1d8fa25f8f16d52cd4c5716e0cefd9b1cdbbbc060901cea223bab9de79b17ea3
3. Yêu cầu tấn công lừa đảo
Các cuộc tấn công lừa đảo xác nhận quyền sở hữu lừa người dùng cung cấp thông tin cá nhân, thông tin xác thực đăng nhập hoặc quyền truy cập bằng cách ngụy tạo các yêu cầu từ một thực thể đáng tin cậy. Các hợp đồng lừa đảo Khiếu nại này thường ngụy trang thành địa chỉ 0 để đánh lừa tín nhiệm của người dùng và sử dụng chúng để rút tài sản crypto của người dùng.
Các cuộc tấn công lừa đảo Khiếu nại xảy ra như thế nào?
- Những kẻ lừa đảo triển khai các hợp đồng lừa đảo và hợp đồng trung tâm, đồng thời tạo EOA để nhận tiền của người dùng bị đánh cắp. Hợp đồng lừa đảo có khả năng đánh cắp ETH, mã thông báo ERC20 và NFT của người dùng. Hợp đồng lừa đảo không phải là mã nguồn mở, nhưng xét từ dữ liệu giao dịch trên chuỗi, hợp đồng chủ yếu chứa hai chức năng là Cliam và Multicall.
- Khi chức năng Khiếu nại được gọi, mã thông báo do nạn nhân nắm giữ sẽ được chuyển sang hợp đồng trung tâm trong một giao dịch nội bộ.
- Chức năng Multicall được sử dụng để chuyển mã thông báo đã được nạn nhân chấp thuận.
- Hợp đồng trung tâm đóng vai trò là điểm thu thập số tiền bị đánh cắp từ các hợp đồng lừa đảo khác nhau. EOA do kẻ lừa đảo tạo ra có thể gọi chức năng rút tiền trong hợp đồng trung tâm rút tiền.
yêu cầu liên kết giao dịch lừa đảo
https://etherscan.io/tx/0xfe70f1b0a92e719bff0d291b7a79987e6e93ed129d52be8e8918c2b9acb1f3b0
4. Tấn công lừa đảo theo phương thức
Một số thành phần giao diện người dùng (UI) nhất định của ví crypto Web 3.0 có thể bị kẻ tấn công kiểm soát để tiến hành các cuộc tấn công lừa đảo. Phương thức tấn công này được gọi là Modal Phishing. Thiết kế phương thức điển hình trên ví tiền tệ Web3.0 thường cung cấp thông tin cần thiết để người dùng kiểm tra yêu cầu, chẳng hạn như chữ ký, cũng như các nút để phê duyệt hoặc từ chối yêu cầu.
Hãy lấy ví Metamask làm ví dụ để giới thiệu cách thức xảy ra các cuộc tấn công lừa đảo?
- Kẻ lừa đảo triển khai một hợp đồng thông minh lừa đảo, có chức năng SecurityUpdate với chức năng thanh toán và cho phép nạn nhân chuyển tiền vào hợp đồng thông minh;
- Những kẻ lừa đảo cũng sử dụng SignatureReg để đăng ký chữ ký hàm SecurityUpdate dưới dạng chuỗi "SecurityUpdate" mà con người có thể đọc được.
- Nạn nhân kết nối hợp đồng thông minh lừa đảo trên với ví Metamask;
- Metamask phân tích hợp đồng thông minh lừa đảo này và sử dụng byte chữ ký hàm để truy vấn phương pháp hàm tương ứng, đó là "SecurityUpdate".
- "SecurityUpdate" được trình bày trong Mô hình Metamask, yêu cầu người dùng xác nhận. Người dùng nhấn nút "SecurityUpdate" và lừa đảo thành công. Tại thời điểm này, hợp đồng thông minh lừa đảo do kẻ lừa đảo viết được thực thi và tiền của nạn nhân được chuyển vào hợp đồng thông minh.
Cách tránh các cuộc tấn công lừa đảo web3
1. Các biện pháp phòng ngừa lừa đảo phê duyệt
Nếu chúng tôi hiểu nội dung cụ thể của hoạt động ủy quyền và truy vấn thông tin ủy quyền của chúng tôi cũng như hủy ủy quyền từ các kênh chính xác, chúng tôi sẽ tránh được các hành vi lừa đảo lừa đảo như phê duyệt, tăng Allowance và thu hồi ủy quyền một cách hiệu quả.
Nội dung sau đây có thể giúp người dùng hiểu rõ nội dung cụ thể của hoạt động ủy quyền:
Khi phê duyệt, người dùng cần xem xét số tiền ủy quyền, loại tiền ủy quyền và địa chỉ ủy quyền. Bằng cách chỉ định số tiền ủy quyền và loại tiền tệ, người dùng có thể giới hạn số lượng tài sản mà bên được ủy quyền có thể chuyển từ tài khoản của họ, ngăn chặn việc ủy quyền các loại tiền tệ không liên quan đến tương tác này. Người dùng cũng cần kiểm tra cẩn thận địa chỉ được ủy quyền và xác minh địa chỉ qua nhiều kênh để đảm bảo rằng ủy quyền được cấp đến đúng địa chỉ.
- Trước khi ủy quyền chính thức, người dùng có thể mô phỏng các giao dịch ủy quyền trong hợp đồng token tương ứng để có được thông tin ủy quyền.
- Tìm các chức năng liên quan đến ủy quyền như phê duyệt hoặc tăngPhụ cấp, giảmPhụ cấp, v.v. và điền thông tin sau để mô phỏng giao dịch ủy quyền.
- Sau khi mô phỏng ủy quyền, bạn có thể nhìn lên Phalcon. Từ Dữ liệu đầu vào, bạn có thể thấy địa chỉ ủy quyền và số tiền ủy quyền.
Nếu kết quả trên đúng như những gì người dùng mong đợi thì việc ủy quyền chính thức có thể được thực hiện.
Sau đây là các bước cụ thể để theo dõi thông tin ủy quyền trên chuỗi và thu hồi thông tin ủy quyền:
Sau khi hoàn thành ủy quyền, người dùng có thể định kì theo dõi trạng thái phê duyệt mã thông báo và cũng có thể thu hồi ủy quyền liên quan. Có chức năng kiểm tra phê duyệt mã thông báo trong các trình duyệt blockchain Etherscan, BscScan và Polygonscan.
- Nhập địa chỉ để xem các giao dịch ủy quyền lịch sử của địa chỉ. Nút Revole ở bên phải mỗi giao dịch có thể thu hồi ủy quyền này.
- Trong giao dịch ủy quyền được truy xuất, bạn có thể xem loại tiền ủy quyền, địa chỉ ủy quyền và số tiền ủy quyền.
2. Xác định chữ ký trong giấy phép2
Nếu chúng tôi có thể hiểu, xác định và kiểm tra cẩn thận nội dung cụ thể của chữ ký, chúng tôi có thể tránh được các hành vi lừa đảo allow2 một cách hiệu quả.
Định dạng chữ ký thường chứa các trường chính là Chủ sở hữu, Người chi tiêu, giá trị, số lần sử dụng và thời hạn, tương ứng đề cập đến:
1. Chủ sở hữu : đại diện cho địa chỉ của người nắm giữ mã thông báo, được sử dụng để chỉ định địa chỉ mà bạn muốn ủy quyền thông qua chữ ký.
2. Người chi tiêu : Đại diện cho địa chỉ được ủy quyền sử dụng mã thông báo và được sử dụng để chỉ định địa chỉ bạn muốn ủy quyền.
3. value : thể hiện số lượng token mà bạn muốn ủy quyền, bạn có thể chỉ định một số lượng token cụ thể để ủy quyền cho Người chi tiêu.
4. nonce : bộ đếm giao dịch đại diện cho người nắm giữ mã thông báo, được sử dụng để đảm bảo rằng mỗi giao dịch được ủy quyền có một mã định danh duy nhất.
5. Deadline : Thể hiện thời hạn hiệu lực của chữ ký, dùng để giới hạn thời hạn hiệu lực của chữ ký. Sau khi hết hạn, chữ ký sẽ trở nên không hợp lệ.
Chúng tôi khuyên người dùng nên đặt các giá trị và thời hạn cụ thể theo nhu cầu riêng của mình thay vì chọn giá trị tối đa mặc định.
Trước khi gọi hợp đồng Uniswap Permit2, người dùng có thể mô phỏng các chức năng ủy quyền có liên quan để hiểu chi tiết về ủy quyền. Nhấn nút Mô phỏng.
Chọn chức năng phê duyệt, điền vào các tham số sau và mô phỏng người dùng ủy quyền hợp đồng allow2.
3. Ngăn chặn các cuộc tấn công lừa đảo Claim
Để tránh rơi vào bẫy Claim lừa đảo, chúng ta cần xác định các địa chỉ hợp đồng lừa đảo, chúng thường ngụy trang thành địa chỉ 0 để người dùng bớt cảnh giác. Dưới đây là một số hợp đồng lừa đảo được sử dụng để xác nhận quyền sở hữu các trò lừa đảo lừa đảo. Khi giao dịch, chúng ta cần chú ý đến các địa chỉ đứng trước và theo sau là "0000".
https://etherscan.io/address/0x0000b514c923f55180fc12428e05695666620000
https://etherscan.io/address/0x0000438e0f00fc35dff19d0062608057a1d20000
https://etherscan.io/address/0x0000a4998724e52f0886edff693aca33f9900000
https://etherscan.io/address/0x000062accd1a9d62ef428ec86ca3dd4f45120000
https://etherscan.io/address/0x000038f1e0c4417a3650c3f9a9a920b2e52e0000
https://etherscan.io/address/0x000056c346441ef8065e56b0cddd43fdec100000
Bản chất của cuộc tấn công lừa đảo Claim là lấy được ủy quyền mã thông báo của người dùng, vì vậy chúng ta vẫn cần luôn chú ý đến tình huống ủy quyền.
4. Ngăn chặn các cuộc tấn công lừa đảo theo phương thức
Nguyên nhân cốt lõi của các cuộc tấn công lừa đảo theo phương thức là ứng dụng ví không xác minh kỹ lưỡng tính hợp pháp của các thành phần giao diện người dùng được trình bày. Để tránh kiểu tấn công lừa đảo này, các nhà phát triển ứng dụng ví phải luôn cho rằng dữ liệu đến từ bên ngoài là không đáng tin cậy. Người dùng cũng có thể kiểm tra thông tin chữ ký và thông tin ủy quyền của mình như mô tả ở trên.
Tóm tắt
Tóm lại, chúng tôi đã giới thiệu chi tiết bốn phương thức tấn công lừa đảo Web3 mới và cung cấp các biện pháp nhận dạng và phòng ngừa tương ứng. Ngoài việc tăng cường cảnh giác cho người dùng, chúng tôi cũng khuyến nghị người dùng nên hiểu biết sâu sắc về ủy quyền và nội dung liên quan đến chữ ký, định kì kiểm tra trạng thái ủy quyền của mình và thu hồi kịp thời những ủy quyền không cần thiết. Ngoài ra, chúng tôi nhấn mạnh tầm quan trọng của việc không ký tùy ý để ngăn chặn những kẻ tấn công lấy được chữ ký của chúng tôi và sử dụng chúng sai mục đích.