Chữ ký bị đánh cắp? Hãy cảnh giác với lừa đảo chữ ký Uniswap Permit2

**Bài viết này được viết bởi; Beosin; nhà nghiên cứu độc lập được mời đặc biệt Spinach Spinach! (twitter@wzxznl) Bài đăng đồng tác giả với; Beosin; nhà nghiên cứu bảo mật; Sivan; *

Hacker, đây là sự tồn tại khiến tất cả mọi người trong hệ sinh thái Web3 sợ hãi.Đối với phía dự án, khi các hacker trên toàn thế giới có thể nhìn chằm chằm vào bạn, bản chất nguồn mở của mã khiến phía dự án sợ viết sai một dòng mã khi phát triển Nếu để sơ hở, một khi xảy ra sự cố về ANTT thì hậu quả khó mà gánh nổi.

**Đối với các cá nhân, nếu bạn không hiểu mình đang làm gì, mọi tương tác hoặc chữ ký trên chuỗi mà bạn thực hiện đều có khả năng khiến tài sản của bạn bị đánh cắp. ** Do đó, vấn đề bảo mật luôn là một trong những vấn đề rắc rối nhất trong thế giới mã hóa và do đặc điểm của chuỗi khối, một khi tài sản bị đánh cắp, hầu như không có cách nào lấy lại được, vì vậy điều đặc biệt quan trọng là phải có kiến thức bảo mật trong thế giới mã hóa.

Mới gần đây, Spinach, người bạn tốt của **Beosin; đã phát hiện ra một phương thức lừa đảo mới đã hoạt động trong hai tháng qua. **Chừng nào chữ ký còn bị đánh cắp, thì phương thức này cực kỳ ẩn và khó ngăn chặn. **Và used;Uniswap; Tất cả các địa chỉ tương tác đều có thể gặp rủi ro. **

Sau đây là lời kể lại kinh nghiệm cá nhân của rau muống:

quá trình

Mới đây, một người bạn (tạm gọi là Xiao;A) đã tìm thấy Spinach sau khi tài sản trong ví của anh ta bị đánh cắp.Khác với cách đánh cắp thông thường, Xiao;A; không tiết lộ khóa cá nhân cũng như không tương tác với hợp đồng của trang web lừa đảo. Rau muống bắt tay vào điều tra vụ trộm cắp tài sản.

Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Trong trình duyệt chuỗi khối, bạn có thể thấy rằng ;A; ví nhỏ bị đánh cắp; USDT; được chuyển qua ;Chuyển từ; Mã thông báo; Khi chuyển tiền, chức năng "Chuyển" của hợp đồng thông minh "Mã thông báo" thực sự được gọi. ;Transfer From; có nghĩa là bên thứ ba chuyển ;Token; trong một địa chỉ sang một địa chỉ khác. **Điều này cũng có nghĩa là tài sản bị đánh cắp đã được chuyển từ một địa chỉ khác; Mã thông báo; chứ không phải rò rỉ khóa cá nhân của ví.

Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Bằng cách truy vấn chi tiết giao dịch, chúng tôi có thể tìm thấy một số manh mối chính:

Địa chỉ có đuôi số;f;d5;1; chuyển tài sản của nhỏ;A; đến địa chỉ có đuôi số;a;0;c;8;

Hoạt động này tương tác với;Giấy phép;2;hợp đồng của;Uniswap;

Vì vậy, ở đây xuất hiện nghi ngờ, làm thế nào mà địa chỉ kết thúc bằng ;f;d5;1; lại nhận được sự cho phép của nội dung này? Tại sao nó lại liên quan đến "Uniswap"? Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Trước hết, chúng ta cần biết rằng để gọi thành công chức năng "Chuyển từ;", tiền đề là người gọi cần phải có thẩm quyền hạn ngạch "Mã thông báo", tức là "phê duyệt". Tôi tin rằng tất cả những ai có vận hành trên chuỗi phải làm quen với nó. Khi chúng ta Khi sử dụng một số "Dapp", sau khi liên quan đến việc chuyển giao tài sản, chúng ta cần thực hiện thao tác ủy quyền (phê duyệt) trước, để hợp đồng "Dapp" có quyền chuyển tài sản của chúng tôi.

Để giải câu đố này, chúng ta cần tiếp tục tìm hiểu, và câu trả lời nằm trong bản ghi tương tác của địa chỉ kết thúc bằng ;f;d5;1;, tại địa chỉ này, ;Transfer From;transfer small;A; Before tài sản, bạn có thể thấy rằng địa chỉ cũng đã thực hiện thao tác "Giấy phép" và các đối tượng tương tác của hai thao tác này là hợp đồng "Giấy phép;2" của "Uniswap;", sau đó là chức năng "Giấy phép" này và "Giấy phép Uniswap" ;2;Tình hình thế nào rồi?

Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Giấy phép Uniswap;2; hợp đồng là; Uniswap; vào cuối năm 2022; hợp đồng thông minh mới ra mắt, theo tuyên bố chính thức, đây là hợp đồng phê duyệt mã thông báo cho phép chia sẻ và quản lý ủy quyền mã thông báo trong các ứng dụng khác nhau, Tạo trải nghiệm người dùng thống nhất, tiết kiệm chi phí và an toàn hơn.

Và trong tương lai, khi ngày càng có nhiều dự án tích hợp Permit; 2, Permit; 2; có thể được chuẩn hóa trong mọi ứng dụng; Token; được phê duyệt. Permit;2 sẽ cải thiện trải nghiệm người dùng bằng cách giảm chi phí giao dịch đồng thời tăng tính bảo mật của hợp đồng thông minh.

Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Trước tiên hãy hiểu tại sao "Uniswap" muốn khởi chạy "Permit;2;, giả sử một tình huống, khi chúng ta muốn "Swap" trên một "Dex" nào đó, phương thức tương tác truyền thống là chúng ta cần ủy quyền (phê duyệt) cho điều này "Dex, và sau đó là "Hoán đổi", chúng tôi thường phải trả hai khoản phí "Gas" và chi phí ma sát quá cao đối với người dùng. Tôi tin rằng mọi người đều đã từng có trải nghiệm như vậy. Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Nguồn hình ảnh:

Sự ra mắt của "Giấy phép; 2" có thể thay đổi toàn bộ quy tắc trò chơi sinh thái "Dapp". Nói một cách đơn giản, phương pháp truyền thống là bạn cần ủy quyền mỗi khi bạn tương tác với một "Dapp" để chuyển tài sản và; Giấy phép; 2; Bước này có thể được bỏ qua, điều này có thể giảm chi phí tương tác của người dùng một cách hiệu quả và mang lại trải nghiệm người dùng tốt hơn.

Giải pháp là;Giấy phép;2;với tư cách là người trung gian giữa người dùng và;Dapp;, người dùng chỉ cần ủy quyền cho;Mã thông báo;đối với;Giấy phép;2;hợp đồng, tất cả được tích hợp;Giấy phép;2;hợp đồng ;Dapp; Số tiền được ủy quyền này có thể được chia sẻ. Đối với người dùng, nó giúp giảm chi phí tương tác và cải thiện trải nghiệm người dùng. Đối với "Dapp", việc cải thiện trải nghiệm người dùng mang lại nhiều người dùng và tiền hơn. Đây là một tình huống đôi bên cùng có lợi, nhưng đồng thời thời gian, đây cũng có thể là con dao hai lưỡi và vấn đề nằm ở cách ;Permit;2; tương tác.

Trong chế độ tương tác truyền thống, cho dù đó là ủy quyền hay chuyển tiền, đó là một tương tác trên chuỗi cho người dùng hoạt động. Và ;Permit;2; biến hoạt động của người dùng thành chữ ký ngoài chuỗi và tất cả các hoạt động trên chuỗi được thực hiện bởi các vai trò trung gian (chẳng hạn như;Permit;2;hợp đồng và các bên dự án tích hợp ;Permit;2;, v.v. ), lợi ích mà sơ đồ này mang lại là do vai trò tương tác trên chuỗi được chuyển từ người dùng sang vai trò trung gian, ngay cả khi người dùng không có "ETH" trong ví, anh ta có thể sử dụng "Token" khác để trả phí "Gas" hoặc được vai trò trung gian hoàn trả hoàn toàn. Điều đó phụ thuộc vào việc lựa chọn vai trò trung gian. Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Nguồn hình ảnh:

Mặc dù sự xuất hiện của "Permit;2" có thể thay đổi luật chơi "Dapp" trong tương lai, nhưng có thể thấy đây là con dao hai lưỡi rất mạnh. , chẳng hạn như khi chúng tôi đăng nhập vào một số "Dapp" bằng ví, chúng tôi cần chữ ký để kết nối và hầu hết mọi người không kiểm tra kỹ nội dung của chữ ký và không hiểu nội dung của chữ ký, và đây là nơi đáng sợ nhất.

Đã hiểu;Giấy phép;2;Hợp đồng, quay lại sự kiện nhỏ;A;, chúng tôi hiểu tại sao tài sản bị đánh cắp và tương tác với;Giấy phép;2;Hợp đồng, sau đó để Spinach sao chép lại;Giấy phép; 2. Phương pháp lừa đảo chữ ký, trước hết , điều kiện tiên quyết quan trọng là ví bị lừa đảo cần phải có "Mã thông báo" được ủy quyền cho "Uniswap"; "Giấy phép;2; ;Dapp; hoặc ;Swap; trên Uniswap;, tất cả đều cần được ủy quyền cho ;Giấy phép; 2; hợp đồng (cải bó xôi trong hình bên dưới sử dụng trình cắm bảo mật). Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Một điểm đáng sợ khác là cho dù bạn muốn "Swap" với số lượng bao nhiêu, hợp đồng "Permit;2" của Uniswap; sẽ cho phép bạn ủy quyền cho "Token" theo mặc định, mặc dù "MetaMask" sẽ cho phép bạn xác định đầu vào. nhưng tôi tin rằng hầu hết mọi người sẽ nhấp trực tiếp vào giá trị tối đa hoặc giá trị mặc định và giá trị mặc định của ;Permit;2; là số tiền không giới hạn....

Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Điều này cũng có nghĩa là miễn là bạn đã tương tác với "Uniswap" và ủy quyền số tiền cho hợp đồng "Permit; 2" sau năm 2023, bạn sẽ phải đối mặt với rủi ro lừa đảo trực tuyến này.

Vì trọng tâm là chức năng ;Permit; tương tác với hợp đồng ;Permit;2; trong địa chỉ kết thúc bằng ;f;d5;1;, nên chức năng này chỉ đơn giản sử dụng ví của bạn để ủy quyền cho bạn ;Permit; 2; The" Mã thông báo" của hợp đồng được chuyển đến một địa chỉ khác, nghĩa là, miễn là bạn có được chữ ký của mình, tin tặc có thể lấy quyền "Mã thông báo" trong ví của bạn và chuyển tài sản của bạn đi.

Phân tích chi tiết sự kiện

giấy phép; Chức năng:

Chữ ký bị đánh cắp? Hãy cảnh giác với hành vi lừa đảo chữ ký Uniswap Permit2 Bạn có thể coi chức năng "Giấy phép" như một cách để ký hợp đồng trực tuyến. Chức năng này cho phép bạn (PermitSingle) ký trước một "hợp đồng" cho phép người khác (người chi tiêu) chi tiêu một số mã thông báo của bạn vào một thời điểm nào đó trong tương lai.

Đồng thời, bạn cũng cần cung cấp chữ ký (signature), giống như ký hợp đồng bằng giấy, để chứng minh rằng “hợp đồng” này thực sự do bạn ký.

Vậy chức năng này hoạt động như thế nào?

  1. Đầu tiên, nó sẽ kiểm tra xem thời gian hiện tại có vượt quá thời hạn hiệu lực của chữ ký của bạn (sigDeadline) hay không. Giống như hợp đồng bạn đã ký có ngày hết hạn, nếu thời gian hiện tại vượt quá ngày hết hạn, thì "hợp đồng" này không thể sử dụng được nữa và chương trình sẽ dừng trực tiếp.
  2. Tiếp theo, nó kiểm tra xem chữ ký của bạn có thực sự là của bạn không. Chương trình sẽ sử dụng một phương pháp đặc biệt (signature.verify) để kiểm tra chữ ký nhằm đảm bảo rằng chữ ký đó thực sự do bạn ký và không bị người khác giả mạo.
  3. Cuối cùng, nếu kiểm tra vượt qua, chương trình sẽ cập nhật bản ghi để lưu ý rằng bạn đã cho phép người khác sử dụng một số mã thông báo của mình.

Trọng tâm chủ yếu là hàm ;verify; và hàm _updateApproval;.

xác minh; chức năng:

Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Có thể thấy rằng hàm verify; sẽ lấy ba dữ liệu; v, r, s; từ tham số thông tin chữ ký, v, r, s; là giá trị của chữ ký giao dịch và chúng có thể được sử dụng để khôi phục địa chỉ của chữ ký giao dịch, như thể hiện trong hình trên Có thể thấy từ mã rằng sau khi hợp đồng khôi phục địa chỉ của chữ ký giao dịch, nó sẽ so sánh nó với địa chỉ chủ sở hữu mã thông báo đến. Nếu chúng giống nhau, quá trình xác minh sẽ vượt qua, và lệnh gọi hàm _updateApproval; vẫn tiếp tục. Nếu chúng khác nhau, giao dịch sẽ bị khôi phục.

_updateApproval; Chức năng:

Chữ ký bị đánh cắp? Coi chừng lừa đảo chữ ký Uniswap Permit2Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Khi xác minh chữ ký được thông qua, hàm _updateApproval; sẽ được gọi để cập nhật giá trị ủy quyền, điều đó có nghĩa là quyền của bạn đã được chuyển. Tại thời điểm này, thật thuận tiện khi gọi chức năng ;transferfrom; để chuyển mã thông báo đến địa chỉ đã chỉ định sau khi được ủy quyền, như được hiển thị trong mã bên dưới.

Chữ ký bị đánh cắp? Coi chừng lừa đảo chữ ký Uniswap Permit2Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Ok, sau khi giải thích chức năng "permit", chúng ta hãy xem giao dịch thực trên chuỗi, chúng ta có thể tìm hiểu chi tiết về tương tác này:

chủ sở hữu; nhỏ;địa chỉ ví của A; (số đuôi;308;a)

Chi tiết; bạn có thể xem được ủy quyền; Mã thông báo; địa chỉ hợp đồng (USDT) và số tiền và các thông tin khác

Spender; là địa chỉ của hacker có đuôi là;f;d5;1;

sigDeadline; là thời gian có hiệu lực của chữ ký, và;signature; là thông tin chữ ký của small;A;

Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Và nhìn lại các bản ghi tương tác của xiao;A; chúng ta sẽ thấy rằng **xiao;A; đã sử dụng "Uniswap" trước đó và nhấp vào số tiền ủy quyền mặc định, gần như không giới hạn. **

Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Một đánh giá đơn giản là ** là nhỏ; A; đã được ủy quyền "Uniswap Permit" trong quá trình sử dụng "Uniswap" trước đó; 2; không giới hạn; USDT; số lượng, nhưng nhỏ; A; vô tình khi thực hiện các thao tác ví Rơi vào ;Permit;2; bẫy lừa đảo chữ ký do tin tặc thiết kế, tin tặc đã lấy chữ ký của small;A; và sử dụng chữ ký của small;A; trong;Permit;2;hợp đồng;Permit;and;Transfer From; Hai hoạt động đã chuyển tài sản của;A; nhỏ đi,** và những gì Spinach đã quan sát được là;Permit;2;hợp đồng của "Uniswap; Chỉ mới bắt đầu hoạt động vài tháng trước.

Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

nguồn:

Và trong các bản ghi tương tác, có thể thấy rằng hầu hết chúng đều được đánh dấu là địa chỉ lừa đảo (Fake_Phishing) và mọi người liên tục bị lừa.

Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

nguồn:;

Làm thế nào để ngăn chặn?

Xét rằng hợp đồng "Uniswap Permit; 2" có thể trở nên phổ biến hơn trong tương lai và sẽ có nhiều hợp đồng "Permit; 2;" tích hợp dự án để ủy quyền và chia sẻ, chúng ta có thể nghĩ ra các phương pháp phòng ngừa hiệu quả như sau:

1 Hiểu và nhận dạng nội dung chữ ký:

Định dạng chữ ký của giấy phép; thường bao gồm;Chủ sở hữu, Người chi tiêu, giá trị, nonce; và; Định dạng. (Tải xuống plugin bảo mật là một lựa chọn tốt)

Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Chúng tôi đề xuất plug-in chống lừa đảo "Beosin" sau đây cho tất cả độc giả và bạn bè, plugin này có thể xác định hầu hết các trang web lừa đảo trong lĩnh vực Web3 và bảo vệ an toàn tài sản và ví của mọi người.

Chữ ký bị đánh cắp? Cảnh giác với lừa đảo chữ ký Uniswap Permit2

Tải xuống plug-in chống lừa đảo:

2 Ví tài sản và ví tương tác được sử dụng riêng:

Nếu bạn có một lượng lớn tài sản, nên đặt tất cả tài sản vào ví lạnh và đặt một lượng tiền nhỏ vào ví tương tác trên chuỗi, điều này có thể giảm đáng kể tổn thất trong trường hợp lừa đảo.

3 Không ủy quyền quá nhiều cho;Giấy phép;2;Hợp đồng hoặc hủy bỏ ủy quyền:

Khi bạn "Hoán đổi" trên "Uniswap", bạn chỉ ủy quyền số tiền bạn muốn tương tác, do đó, mặc dù mỗi lần tương tác yêu cầu ủy quyền lại, sẽ có một số chi phí tương tác, nhưng bạn có thể tránh bị "Permit;2; Sign Đánh bắt cá. Nếu bạn đã ủy quyền hạn ngạch, bạn có thể tìm phần bổ trợ bảo mật tương ứng để hủy ủy quyền.

**4 Xác định bản chất của mã thông báo, liệu nó có hỗ trợ; cho phép; chức năng: **

Trong tương lai, ngày càng nhiều mã thông báo "ERC;20" có thể sử dụng giao thức mở rộng này để thực hiện chức năng "giấy phép". Đối với bạn, bạn cần chú ý xem mã thông báo bạn nắm giữ có hỗ trợ chức năng này hay không. Nếu vậy, thì đối với mã thông báo Hãy hết sức cẩn thận trong các giao dịch hoặc thao tác và kiểm tra nghiêm ngặt xem từng chữ ký không xác định có phải là chữ ký của chức năng "giấy phép" hay không.

5 Nếu có mã thông báo được lưu trữ trên các nền tảng khác sau khi bị lừa, cần xây dựng kế hoạch giải cứu toàn diện:

Khi bạn phát hiện mình bị lừa đảo và token của bạn đã bị tin tặc chuyển đi nhưng bạn vẫn có token được lưu trữ trên các nền tảng khác thông qua các phương thức như cầm cố, v.v., bạn cần rút chúng và chuyển chúng đến một địa chỉ an toàn. lần này, bạn cần biết rằng tin tặc có thể luôn theo dõi bạn Số dư mã thông báo của địa chỉ, bởi vì anh ta có chữ ký của bạn, chỉ cần mã thông báo xuất hiện trên địa chỉ bị đánh cắp của bạn, tin tặc có thể chuyển trực tiếp. Tại thời điểm này, cần phải xây dựng một quy trình giải cứu mã thông báo hoàn chỉnh. Hai quá trình trích xuất mã thông báo và chuyển mã thông báo cần được thực hiện cùng nhau. Các giao dịch của hacker không thể được đưa vào đó. Bạn có thể sử dụng chuyển "MEV", yêu cầu một số chuỗi khối kiến thức và kỹ năng mã. , Bạn cũng có thể tìm kiếm một công ty bảo mật chuyên nghiệp như; Beosin; nhóm sử dụng tập lệnh ưu tiên giao dịch để đạt được.

Tôi tin rằng sẽ ngày càng có nhiều vụ lừa đảo dựa trên "Giấy phép;2;" trong tương lai, **phương thức lừa đảo chữ ký này cực kỳ ẩn và khó ngăn chặn, và với việc áp dụng rộng rãi hơn "Giấy phép;2; Sẽ có ngày càng nhiều địa chỉ dưới nó, tôi hy vọng rằng bạn ở phía trước màn hình có thể truyền bá nó cho nhiều người hơn sau khi đọc bài viết này, để tránh nhiều người bị đánh cắp hơn. **

Thẩm quyền giải quyết:

Xem bản gốc
Nội dung chỉ mang tính chất tham khảo, không phải là lời chào mời hay đề nghị. Không cung cấp tư vấn về đầu tư, thuế hoặc pháp lý. Xem Tuyên bố miễn trừ trách nhiệm để biết thêm thông tin về rủi ro.
  • Phần thưởng
  • Bình luận
  • Chia sẻ
Bình luận
0/400
Không có bình luận
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate.io
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)