
Cách hoạt động của các công cụ rút tiền: các phê duyệt và chữ ký làm trống tài khoản
Các công cụ rút ví hoạt động bằng cách thu thập quyền ủy quyền có thể tái sử dụng từ ví của nạn nhân, sau đó sử dụng quyền đó để di chuyển token, NFT và đôi khi là coin gốc mà không cần hỏi lại. Chuỗi khối thực thi các phê duyệt đã ký và các giấy phép dữ liệu đã nhập như là hướng dẫn hợp lệ, vì vậy việc đánh cắp thường giống như hoạt động DeFi bình thường hơn là một "cuộc tấn công".
Điểm chính
- Một công cụ rút ví thường thành công mà không cần một "cụm từ hạt giống" bằng cách khiến nạn nhân ký một phê duyệt "ERC-20", một phê duyệt cho nhà điều hành "NFT", hoặc một chữ ký kiểu giấy phép.Chiêu trò này thường có hai giai đoạn: trước tiên là thu thập quyền, sau đó là một cuộc quét tự động ngay lập tức hoặc sau đó bằng cách sử dụng các chức năng như transferFrom hoặc setApprovalForAll.Lừa đảo chữ ký thường nguy hiểm hơn vẻ bề ngoài vì các chữ ký dữ liệu đã nhập có thể được chuyển thành các phê duyệt trên chuỗi sau đó.Các công cụ rút ví thường đi qua các bộ định tuyến "DEX" hợp pháp nên dấu vết trên chuỗi giống như một giao dịch bình thường, điều này làm chậm việc phát hiện và phản ứng.Cơ bản về công cụ rút ví và lừa đảo phê duyệtMẹo cốt lõi rất đơn giản: kẻ tấn công không cần phải phá vỡ mã hóa ví nếu nạn nhân có thể được thuyết phục để ủy quyền cho kẻ tấn công như một người chi tiêu. Đó là lý do tại sao một công cụ rút ví nằm trong trải nghiệm người dùng DeFi bình thường, không nằm ngoài nó. Nạn nhân kết nối một ví, thấy một thông báo quen thuộc và ký một cái gì đó trông có vẻ bình thường. Sau đó, chuỗi khối thực hiện những gì nó được thiết kế để làm, đó là thực thi quyền ủy quyền chính xác như đã ký.Đó là lý do tại sao lừa đảo phê duyệt là mô hình tư duy đúng. Kẻ tấn công không "đăng nhập" như nạn nhân. Kẻ tấn công đang lấy một quyền mà giao thức công nhận, sau đó sử dụng nó như một hạn mức tín dụng đứng. Bài viết về chiến dịch rút ví của Trust Wallet của FinanceFeeds rõ ràng rằng những dòng chảy này có thể làm trống ví "ngay khi người dùng nhấp vào phê duyệt," và rằng cơ chế này phản ánh việc sử dụng DeFi hợp pháp hơn là phần mềm độc hại hoặc một lỗ hổng.
- Một sự phân biệt hữu ích cho những độc giả đến từ bảo mật Web2 là một ví có thể bị "xâm phạm" theo nghĩa có thể bị rút mà không cần "khóa riêng" bao giờ rời khỏi thiết bị. CryptoAdventure định nghĩa nó như là sự đồng ý: người dùng ký, chuỗi xác thực, kẻ tấn công chuyển tiền. Đó cũng là lý do tại sao "tôi sử dụng một ví phần cứng" không phải là một biện pháp phòng ngừa hoàn chỉnh.
- FinanceFeeds lưu ý rằng ví phần cứng giảm thiểu rủi ro đánh cắp khóa riêng, nhưng chúng không ngăn chặn việc rút tiền đã được người dùng phê duyệt nếu người dùng ký phê duyệt sai.
- Giải thích này nằm trong chủ đề rộng hơn về lừa đảo ví tiền điện tử và cách tránh chúng vì biện pháp phòng ngừa chủ yếu là vệ sinh quyền, không phải phần mềm chống virus.
- Dòng tấn công kết nối và phê duyệtCon đường rút ví có xác suất cao nhất là một vấn đề phân phối trước và một vấn đề "hợp đồng thông minh" sau. FinanceFeeds mô tả một sách hướng dẫn năm bước liên quan đến tư vấn tội phạm mạng quốc gia của Ấn Độ TAU/ADV/013: giả mạo DM trên Telegram, Discord hoặc X, một trang web bị sao chép, một thông báo kết nối ví qua WalletConnect hoặc một trình duyệt trong ví, một phê duyệt duy nhất, sau đó là một cuộc quét tự động. Phân tích của Blockaid thêm một vectơ phân phối khác quan trọng cho các nhà giao dịch di chuyển nhanh: việc chiếm đoạt giao diện phía trước, nơi giao diện của một trang web hợp pháp bị thay thế bằng một phiên bản độc hại.Từ đầu đến cuối, dòng chảy thường là:
1. Dụ người dùng đến một miền giống hệt hoặc giao diện bị chiếm đoạt. Mồi thường thường là "xác minh", "đòi hỏi", hoặc "airdrop", và nó được thiết kế để tạo ra sự khẩn trương. 2. Ép kết nối ví sớm. Blockaid đã quan sát một trang mà bất kỳ nút nào cũng kích hoạt hộp thoại kết nối, điều này là một dấu hiệu hành vi phổ biến. 3. Thu thập ngữ cảnh ví. Blockaid cho thấy công cụ rút ví đang giao tiếp với cơ sở hạ tầng chỉ huy và kiểm soát và sử dụng các lệnh JSON-RPC như eth_call để tìm hiểu những "tài sản" và trạng thái nonce mà nó có thể nhắm đến. 4. Thu thập quyền. Đây là thời điểm mà nạn nhân nghĩ rằng họ đang làm điều gì đó vô hại, như phê duyệt một token cho một giao dịch hoán đổi, hoặc "ký một thông điệp." 5. Thực hiện cuộc quét. FinanceFeeds mô tả "quét mọi thứ trong vài giây," và Coca nhấn mạnh rằng việc rút tiền có thể bị trì hoãn, đó là cách mà nạn nhân bị nhầm lẫn về hành động nào đã gây ra sự mất mát.
Khía cạnh "công cụ rút ví như một dịch vụ" quan trọng vì nó giải thích tại sao những dòng chảy này trông giống như mẫu. Coca mô tả các công cụ rút ví như các bộ dụng cụ được bán cho kẻ lừa đảo, và việc đóng gói đó là lý do tại sao các mẫu UX giống nhau lặp lại trên các chuỗi và ví.
Quyền mà các công cụ rút ví lạm dụng trên chuỗi
Các khoản cho phép ERC-20 là động lực chính. Một dApp bình thường yêu cầu phê duyệt để nó có thể di chuyển token thay mặt cho người dùng trong quá trình hoán đổi hoặc gửi tiền. Một công cụ rút ví yêu cầu cùng một phê duyệt, nhưng chỉ định người chi tiêu đến một hợp đồng hoặc "địa chỉ" do kẻ tấn công kiểm soát và thường đẩy một giới hạn không giới hạn.
Khi phê duyệt đó tồn tại, kẻ tấn công có thể quay lại sau và di chuyển token bằng cách sử dụng transferFrom mà không cần bất kỳ thông báo mới nào cho nạn nhân.
Cả FinanceFeeds và Coca đều chỉ ra rằng các phê duyệt không giới hạn là đòn bẩy khiến điều này có thể mở rộng.Mô hình rút tiền trì hoãn là nơi mọi người chẩn đoán sai những gì đã xảy ra. Coca mô tả chuỗi sự kiện mà một người dùng phê duyệt hôm nay, không thấy chuyển động ngay lập tức, sau đó nạp thêm tiền vào ví sau đó và bị rút trong vòng vài giây vì phê duyệt đứng đã có sẵn. Đó là lý do tại sao cách đọc phê duyệt đúng không phải là "tiền có rời đi ngay bây giờ không," mà là "tôi vừa ủy quyền cho ai để rút tiền sau này."NFT có phiên bản riêng của cùng một cái bẫy. Cả FinanceFeeds và Coca đều chỉ ra setApprovalForAll, cho phép một nhà điều hành khả năng di chuyển tất cả các NFT trong một bộ sưu tập cho ví đó. Người dùng thường coi đây là một bước đơn lẻ để liệt kê hoặc đúc. Đối với một công cụ rút ví, đây là một chìa khóa chính cho bộ sưu tập đó.Hai hệ quả thực tiễn phát sinh từ điều này:1. Lợi thế của kẻ tấn công là sự kiên trì. Một phê duyệt duy nhất có thể vẫn hợp lệ cho đến khi bị thu hồi. 2. Lợi thế của nạn nhân là khả năng đảo ngược quyền. Cả FinanceFeeds và Coca đều chỉ ra các công cụ như Revoke.cash và trình kiểm tra phê duyệt token của Etherscan để xem xét và thu hồi các khoản cho phép và phê duyệt nhà điều hành.
Đây cũng là nơi thuật ngữ công cụ rút ví được giải thích nên dừng lại: nó không phải là một hợp đồng ma thuật "phá vỡ" ví. Nó là tự động hóa lạm dụng chính xác các đường ray quyền mà DeFi dựa vào.
Các công cụ rút ví dựa trên chữ ký và bẫy giấy phép
Các pop-up đắt tiền nhất thường là những cái không giống như giao dịch. Phân tích của Blockaid vào ngày 2024-10-13 cho thấy một công cụ rút ví sử dụng eth_signTypedData_v4 để thu thập một chữ ký dữ liệu đã nhập EIP-712 mã hóa một giấy phép EIP-2612. Công cụ rút ví trước tiên thu thập nonce và siêu dữ liệu token qua eth_call, sau đó yêu cầu nạn nhân ký dữ liệu có cấu trúc cho phép một người chi tiêu với giá trị rất lớn.
Điểm chính là chữ ký không nằm trên chuỗi tại thời điểm nạn nhân ký nó, nhưng nó có thể được gửi lên chuỗi sau đó thông qua chức năng giấy phép của token.Đó là lừa đảo chữ ký ở dạng tinh khiết nhất. Nạn nhân nghĩ "tôi không gửi một giao dịch nào." Kẻ tấn công nghĩ "tôi vừa nhận được một phê duyệt mà tôi có thể thực hiện khi tôi muốn." Coca đánh dấu các rủi ro giấy phép và chữ ký kiểu Permit2 như một phần của các bộ dụng cụ công cụ rút ví hiện đại, và CryptoAdventure nhóm chúng như các công cụ rút ví dựa trên chữ ký khác với các công cụ rút ví phê duyệt trên chuỗi cổ điển.Blockaid cũng quan sát wallet_switchEthereumChain trong cùng một dòng chảy, ép buộc chuyển sang Arbitrum One mặc dù trang web giả mạo là một airdrop BNB Chain. Yêu cầu chuyển chuỗi đó không chỉ là thẩm mỹ. Đây là một cách để nhắm đến mạng mà nạn nhân thực sự nắm giữ tài sản.
Hai hệ quả quan trọng đối với người dùng:
1. Các chữ ký dữ liệu đã nhập có thể khó lý giải hơn so với một thông báo phê duyệt trên chuỗi vì chúng xuất hiện như "ký một thông điệp." Blockaid lập luận rằng hầu hết các ví không thể mô phỏng các chữ ký ngoài chuỗi này theo cách mà chúng có thể mô phỏng các giao dịch trên chuỗi. 2. Kẻ tấn công có thể tách việc thu thập quyền khỏi việc thực hiện.
Đó là sự linh hoạt về thời gian mà các công cụ rút ví có thể chờ đợi những khoảnh khắc phí thấp hoặc để ví được nạp thêm.Đây cũng là lý do tại sao việc ký mù là một chế độ thất bại lặp đi lặp lại. Nếu giao diện ví không hiển thị rõ ràng những gì dữ liệu đã nhập ủy quyền, người dùng thực sự đang ký trong bóng tối.Tại sao các kênh thoát nước trông giống như hoạt động bình thườngMột người điều hành kênh thoát nước muốn chuỗi trông nhàm chán. Blockaid cho thấy một kênh thoát tài sản gốc được định tuyến qua hợp đồng Router SushiSwap hợp pháp, gọi swapETHForExactTokens, thay vì chuyển ETH trực tiếp đến địa chỉ tấn công. Điểm mấu chốt không phải là SushiSwap bị xâm phạm. Điểm mấu chốt là việc định tuyến qua một router được sử dụng rộng rãi khiến giao dịch giống như hành vi hoán đổi thông thường.FinanceFeeds cũng đưa ra quan sát tương tự từ góc độ của nạn nhân: Darktrace đã theo dõi một biến thể đã rút $470,000 từ một nạn nhân chỉ trong hai phút, và giao dịch trên chuỗi "không khác gì một hoán đổi Uniswap thông thường." Đó là lớp ngụy trang. Nếu vụ trộm giống như một hoán đổi, những người quan sát thông thường và thậm chí một số thuật toán tự động sẽ mất thời gian.
Đây là nơi luận điểm trở nên rõ ràng: quyền hạn là sản phẩm. Khi kẻ tấn công có một khoản cho phép hợp lệ, sự chấp thuận của người điều hành, hoặc chữ ký giấy phép, blockchain sẽ thực hiện nó một cách trung thực sau đó, nhanh chóng, và theo cách có thể được định tuyến qua các hợp đồng hợp pháp.
Đối với các nhà giao dịch và người dùng chuyên nghiệp, điều quan trọng là "phát hiện vụ trộm trên chuỗi" là một biện pháp phòng thủ yếu. Khi một kênh thoát giống như hoán đổi trở nên rõ ràng, tài sản đã được chuyển đi và thường đã được hoán đổi thành các token có tính thanh khoản cao hơn. Thời điểm có tín hiệu cao hơn là sớm hơn, tại ranh giới cho phép: các thông báo chuyển chuỗi bất ngờ, các hộp thoại kết nối lặp đi lặp lại, và một trang web thúc đẩy các phê duyệt trước khi thực hiện bất kỳ điều gì hữu ích.
Cách giảm thiểu rủi ro kênh thoát nướcPhòng thủ chủ yếu là giảm bớt quyền hạn mà bất kỳ cú nhấp chuột nào có thể cấp, và giảm bớt giá trị nằm sau quyền hạn đó. FinanceFeeds khuyên nên bắt đầu với bảng "Các trang đã kết nối" hoặc "Quyền hạn" của ví để thu hồi bất kỳ thứ gì không được sử dụng tích cực, sau đó kiểm tra các phê duyệt token với Revoke.cash. Coca coi việc thu hồi là một quy trình thường xuyên, không phải là khẩn cấp, vì kênh thoát có thể bị trì hoãn.Một quy trình làm việc sạch sẽ trông như thế này:
1. Phân tách vai trò giữa các ví. Giữ một ví "kho" không bao giờ kết nối với dApps, và một ví chi tiêu hoặc ví đốt cho việc đúc, airdrops, và các giao thức mới. Coca đặc biệt khuyên cấu trúc này để hạn chế phạm vi ảnh hưởng. 2. Đối xử với mỗi phê duyệt hoặc chữ ký như một hạn mức tín dụng đang có.
Nếu thông báo hiển thị không giới hạn, hãy giả định rằng người chi tiêu có thể rút toàn bộ số dư sau này trừ khi dApp cung cấp một giới hạn chặt chẽ hơn. 3. Theo dõi các dấu hiệu UX đỏ liên quan đến các kênh thoát nước. Ví dụ của Blockaid bao gồm các thông báo kết nối không ngừng và yêu cầu wallet_switchEthereumChain mâu thuẫn với chuỗi đã nêu của trang web. 4. Kiểm toán và thu hồi theo lịch trình.
FinanceFeeds và Coca đều chỉ ra Revoke.cash và trình kiểm tra phê duyệt token của Etherscan để xem xét các khoản cho phép và thu hồi chúng. 5. Nếu bị nhắm mục tiêu, hãy hành động về quyền hạn trước. Ngắt kết nối các trang đã kết nối, thu hồi các phê duyệt và quyền hạn của NFT, và chuyển các quỹ còn lại đến một địa chỉ mới.
FinanceFeeds nhấn mạnh rằng kênh thoát không khai thác chính Trust Wallet, và rủi ro tương tự áp dụng cho các ví nóng như MetaMask và Phantom.
Đây là phần của các vụ lừa đảo ví tiền điện tử và cách tránh chúng mà thực sự đứng vững dưới áp lực: giả định rằng ví chi tiêu cuối cùng sẽ ký một điều gì đó ngu ngốc, và thiết kế hệ thống sao cho sai lầm đó có thể sống sót.
Lời kết
Tôi đã thấy quá nhiều người coi kênh thoát nước như một "cuộc tấn công" và sau đó lãng phí một giờ đầu tiên tìm kiếm phần mềm độc hại trong khi vấn đề thực sự nằm trên chuỗi như một quyền mà họ đã cấp. Sự chuyển đổi tư duy tốn kém là coi các phê duyệt và chữ ký dữ liệu đã gõ như việc mở một hạn mức tín dụng đang có. Khi hạn mức đó tồn tại, kẻ tấn công không cần phải hỏi lại. Họ chỉ cần xuất hiện sau đó với transferFrom hoặc một chuyển nhượng của người điều hành và chuỗi sẽ thực thi nó.
Chế độ thất bại lặp đi lặp lại là ký mù được trang điểm như một cú nhấp chuột vô hại. Phân tích của Blockaid vào ngày 2024-10-13 là ví dụ rõ ràng: eth_signTypedData_v4 thu hoạch một giấy phép, sau đó kênh thoát có thể được định tuyến qua một router thực để nó giống như một hoán đổi bình thường. Ví phần cứng giữ cho các khóa an toàn, nhưng chúng không cứu được sự phán xét. Vệ sinh quyền hạn thì có.
Nguồn
FinanceFeeds
Blockaid
Coca
CryptoAdventure
Frequently Asked Questions
Các trình rút ví có cần cụm từ hạt giống của tôi để đánh cắp tiền điện tử không?
Thường thì không. Nhiều chiến dịch trình rút ví dựa vào việc bạn ký một phê duyệt hoặc một chữ ký kiểu giấy phép cho phép chuyển nhượng. Khi sự ủy quyền đó tồn tại, kẻ tấn công có thể di chuyển tài sản mà không cần sở hữu khóa riêng của bạn.
Các trình rút ví đánh cắp tiền điện tử như thế nào sau khi tôi nhấp vào phê duyệt?
Một phê duyệt ERC-20 tạo ra một khoản cho phép cho một người chi tiêu cụ thể, và người chi tiêu đó có thể sau đó chuyển token bằng cách sử dụng transferFrom mà không cần hỏi lại. Nếu phê duyệt là không giới hạn, trần hiệu quả là toàn bộ số dư của bạn. Một số chiến dịch trì hoãn việc rút cho đến khi bạn nạp thêm vào ví.
Lừa đảo chữ ký là gì và tại sao nó lại nguy hiểm?
Lừa đảo chữ ký đánh lừa bạn ký dữ liệu có cấu trúc, chẳng hạn như một thông điệp dữ liệu kiểu EIP-712, có thể được sử dụng để ủy quyền các hành động sau này. Blockaid cho thấy các trình rút ví đang thu thập chữ ký eth_signTypedData_v4 để nhận được các phê duyệt giấy phép EIP-2612. Nạn nhân có thể nghĩ rằng họ chỉ “ký một thông điệp”, nhưng chữ ký có thể được gửi lên chuỗi sau đó.
Tại sao giao dịch của một trình rút ví lại trông giống như một giao dịch hoán đổi bình thường trên chuỗi?
Các trình rút ví có thể định tuyến việc đánh cắp thông qua các hợp đồng hợp pháp như bộ định tuyến DEX, vì vậy giao dịch giống như hành vi hoán đổi thông thường. Blockaid cho thấy một vụ rút tài sản gốc được định tuyến qua Bộ định tuyến SushiSwap, và FinanceFeeds lưu ý các trường hợp mà dấu vết trông giống như một giao dịch hoán đổi Uniswap điển hình. Sự ngụy trang đó có thể trì hoãn việc phát hiện.
Làm thế nào tôi có thể kiểm tra và thu hồi các phê duyệt để ngăn chặn một trình rút ví?
Xem xét các trang web và quyền truy cập đã kết nối bên trong ví của bạn, sau đó kiểm tra các khoản cho phép token và phê duyệt nhà điều hành NFT bằng các công cụ như Revoke.cash hoặc trình kiểm tra phê duyệt token của Etherscan. Nếu bạn thấy những người chi tiêu không quen thuộc hoặc các giới hạn không giới hạn, hãy thu hồi chúng. Việc thu hồi hiệu quả nhất trước khi ví được nạp thêm lần nữa.