BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Lần lượt, ví di động Web3.0 có phương thức tấn công lừa đảo độc đáo Modal Phishing

CertiK
特邀专栏作者
2023-04-20 06:30
Bài viết này có khoảng 2615 từ, đọc toàn bộ bài viết mất khoảng 4 phút
Các cuộc tấn công lừa đảo đã quá phổ biến, có một cuộc tấn công lừa đảo phương thức mới?
Tóm tắt AI
Mở rộng
Các cuộc tấn công lừa đảo đã quá phổ biến, có một cuộc tấn công lừa đảo phương thức mới?

fbcb39b574e19076e8c10105ef0188f9

Gần đây, chúng tôi đã phát hiện ra một kỹ thuật lừa đảo mới có thể được sử dụng để đánh lừa nạn nhân về danh tính của một ứng dụng phi tập trung được kết nối (DApp).

Chúng tôi đặt tên cho kỹ thuật lừa đảo mới này là Modal Phishing.

Kẻ tấn công có thể gửi thông tin giả mạo đến ví di động giả làm DApp hợp pháp và lừa nạn nhân phê duyệt giao dịch bằng cách hiển thị thông tin sai lệch trong cửa sổ phương thức của ví di động. Kỹ thuật lừa đảo này được sử dụng rộng rãi. Chúng tôi đã liên lạc với các nhà phát triển thành phần tương ứng và xác nhận rằng họ sẽ phát hành API xác thực mới để giảm thiểu rủi ro này.

Lừa đảo theo phương thức là gì?

Trong quá trình nghiên cứu bảo mật của CertiK trên ví di động, chúng tôi nhận thấy rằng một số thành phần giao diện người dùng (UI) nhất định của ví tiền tệ Web3.0 có thể bị kẻ tấn công kiểm soát để thực hiện các cuộc tấn công lừa đảo. Chúng tôi đặt tên cho kỹ thuật lừa đảo này là Modal Phishing, bởi vì những kẻ tấn công chủ yếu nhắm mục tiêu vào các cửa sổ phương thức ví được mã hóa cho các cuộc tấn công lừa đảo.

Các phương thức (hoặc cửa sổ phương thức) là các thành phần giao diện người dùng thường được sử dụng trong các ứng dụng dành cho thiết bị di động. Các phương thức thường được hiển thị trên đầu cửa sổ ứng dụng chính. Thiết kế như vậy thường được sử dụng để hỗ trợ người dùng thực hiện các thao tác nhanh chóng, chẳng hạn như phê duyệt/từ chối các yêu cầu giao dịch từ ví tiền tệ Web3.0.

Mô tả hình ảnh

553e5ae5d096235b41d6719e9270de35

Mô hình Phê duyệt Giao dịch Chính hãng so với Mô hình Phê duyệt Giao dịch Lừa đảo

Trong ảnh chụp màn hình ở trên, chúng tôi cho thấy cách cửa sổ phương thức phê duyệt giao dịch thông thường xuất hiện trên Metamask.

Khi một yêu cầu giao dịch mới được bắt đầu bởi ứng dụng phi tập trung được kết nối (DApp), ví sẽ hiển thị một cửa sổ phương thức mới và yêu cầu người dùng xác nhận thủ công.

Như thể hiện ở phía bên trái của hình trên, cửa sổ phương thức thường chứa thông tin nhận dạng của người yêu cầu, chẳng hạn như địa chỉ trang web (trong trường hợp này là localhost), biểu tượng, v.v. Một số ví như Metamask cũng hiển thị thông tin chính về yêu cầu và trong trường hợp này, chúng tôi thấy một số thành phần giao diện người dùng được đánh dấu "Xác nhận" để nhắc người dùng rằng đây là yêu cầu giao dịch thông thường.

Tuy nhiên, những phần tử giao diện người dùng này có thể bị kẻ tấn công kiểm soát để thực hiện các cuộc tấn công Modal Phishing. Trong ảnh chụp màn hình bên phải, chúng ta có thể thấy kẻ tấn công có thể thay đổi chi tiết giao dịch và ngụy trang yêu cầu giao dịch thành yêu cầu "Cập nhật bảo mật" từ "Metamask" để lừa người dùng chấp thuận.

Như được hiển thị trong ảnh chụp màn hình, kẻ tấn công có thể thao túng một số phần tử giao diện người dùng.

Vì vậy, trong bài viết này, chúng tôi sẽ chia sẻ hai trường hợp điển hình và xác định những thành phần giao diện người dùng có thể bị kẻ tấn công kiểm soát.

Cac chi tiêt như sau:

① Nếu giao thức Wallet Connect được sử dụng, kẻ tấn công có thể kiểm soát các thành phần giao diện người dùng thông tin DApp (tên, biểu tượng, v.v.).

Mô tả hình ảnh

23a27a5e1da49556b85c034c6255a76b

Ví dụ về Phương thức do kẻ tấn công kiểm soát và các nguồn thông tin liên quan (thông tin DApp và tên phương thức)

Ví dụ ①: Tấn công lừa đảo DApp thông qua Wallet Connect

Giao thức Wallet Connect là một giao thức mã nguồn mở phổ biến để kết nối ví của người dùng với DApp thông qua mã QR hoặc liên kết sâu. Người dùng có thể kết nối ví của họ với DApps thông qua giao thức Wallet Connect, sau đó thực hiện các giao dịch hoặc chuyển khoản bằng giao thức này.

Trong quá trình ghép nối giữa ví tiền tệ Web3.0 và DApp, chúng tôi nhận thấy rằng ví tiền tệ Web3.0 sẽ hiển thị một cửa sổ phương thức hiển thị thông tin meta của yêu cầu ghép nối đến - bao gồm tên của DApp, địa chỉ trang web, biểu tượng và mô tả. Thông tin và phương thức được hiển thị bởi ví Web3.0 khác nhau tùy theo tên DApp, biểu tượng và địa chỉ trang web để người dùng xem.

Tuy nhiên, thông tin này được cung cấp bởi DApp và ví không xác minh xem thông tin mà nó cung cấp có hợp pháp và xác thực hay không. Ví dụ: trong một cuộc tấn công lừa đảo, một Lebi nhất định có thể giả vờ là một Sprite nhất định (cả hai đều là DApp), sau đó lừa người dùng kết nối với nó trước khi người dùng bắt đầu yêu cầu giao dịch.

Bằng hữu có thể copy link [https://www.youtube.com/watch?v=x 6 muJmDBC 3 o] vào trình duyệt để xem thử nghiệm nhỏ của CertiK.

Trong video, CertiK trình bày cách kẻ tấn công có thể “đánh lừa” Uniswap DApp — bằng cách tự xưng là Uniswap DApp và kết nối với ví Metamask, kẻ tấn công lừa người dùng phê duyệt các giao dịch đến.

Trong quá trình ghép nối, một cửa sổ phương thức được hiển thị trong ví hiển thị tên, URL trang web và biểu tượng yêu thích của Uniswap DApp tuân thủ.

Vì lược đồ https được sử dụng trong URL nên biểu tượng ổ khóa cũng được hiển thị, điều này làm cho cửa sổ phương thức trở nên chân thực và hợp pháp hơn. Trong quá trình ghép nối, miễn là nạn nhân muốn thực hiện các thao tác giao dịch trên trang web Uniswap giả mạo, kẻ tấn công có thể thay thế các tham số yêu cầu giao dịch (chẳng hạn như địa chỉ đích và số tiền giao dịch) để đánh cắp tiền của nạn nhân.

Lưu ý rằng mặc dù thiết kế phương thức khác nhau trên các ví khác nhau nhưng kẻ tấn công luôn có thể kiểm soát thông tin meta.

Mô tả hình ảnh

a199aad38b4820fc4d1516e81628092d

Lừa đảo phương thức: DApp giả được kết nối với ví Zengo và 1Inch

Bây giờ chúng ta đã biết rằng kẻ tấn công có thể thao túng các cửa sổ ghép nối và phương thức giao dịch, các cuộc tấn công như vậy có thể được sử dụng để thuyết phục người dùng rằng các yêu cầu giao dịch đến từ các DApp hợp pháp.

Như được hiển thị trong ảnh chụp màn hình bên dưới, chúng tôi đã tạo một DApp giả tự xưng là "Metamask" và khởi chạy một hợp đồng thông minh lừa đảo. Kẻ tấn công có thể mạo danh Metamask hoặc Uniswap DApp trong phương thức phê duyệt giao dịch.

a993c48bb4a6d8f1b262cd5e96065cea

Như đã trình bày trong ví dụ trên, giao thức Wallet Connect, được sử dụng trên quy mô lớn, không xác minh tính hợp pháp của thông tin DApp được ghép nối. Thông tin meta bị thao túng sẽ được ứng dụng ví tiếp tục sử dụng và hiển thị cho người dùng, thông tin này có thể được sử dụng cho Lừa đảo theo phương thức. Là một giải pháp tiềm năng, giao thức Wallet Connect có thể xác minh trước tính hợp lệ và hợp pháp của thông tin DApp. Các nhà phát triển của Wallet Connect đã thừa nhận đã biết về vấn đề này và đang nghiên cứu giải pháp.

Ví dụ ②: Lừa đảo thông tin hợp đồng thông minh qua MetaMask

Bạn có thể nhận thấy rằng bên dưới biểu tượng hoặc tên trang web của phương thức phê duyệt Metamask, có một chế độ xem khác hiển thị một chuỗi nổi chẳng hạn như "Xác nhận" hoặc "Phương thức không xác định". Phần tử UI này được Metamask thiết kế để xác định loại giao dịch tương ứng.

Mô tả hình ảnh

fa8ae007632ff21d32777f8e60d11c22

Mô tả hình ảnh

63844eb2b333264ab6cfec85712339d5

Mô tả tên phương thức hợp đồng thông minh của MetaMask

Chúng ta có thể thấy một phương thức yêu cầu giao dịch trên Metamask có nhãn "Cập nhật bảo mật". Kẻ tấn công xây dựng một hợp đồng thông minh lừa đảo có 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.

Kẻ tấn công cũng sử dụng SignatureReg để đăng ký chữ ký phương thức dưới dạng chuỗi "SecurityUpdate" mà con người có thể đọc được. Như đã đề cập trước đó, khi Metamask phân tích cú pháp hợp đồng thông minh lừa đảo này, nó sẽ truy vấn phương thức hàm tương ứng bằng cách sử dụng byte chữ ký hàm và trình bày nó cho người dùng trong phương thức phê duyệt.

Mô tả hình ảnh

f41b454ff4248432e0f1b734f2b7e5fc

Phương thức phê duyệt giao dịch lừa đảo

Trong ví dụ trên, chúng tôi đã chỉ ra cách các phần tử giao diện người dùng trên ví liên quan đến thông tin hợp đồng thông minh có thể bị thao túng bởi những kẻ lừa đảo.

viết ở cuối

viết ở cuối

Trong bài viết này, chúng tôi cho bạn thấy một thành phần giao diện người dùng phổ biến trên ví tiền tệ Web3.0 không nên tin tưởng một cách mù quáng - cửa sổ phương thức.

Những phần tử giao diện người dùng nhất định trong các cửa sổ phương thức có thể bị kẻ tấn công thao túng để tạo ra các bẫy lừa đảo rất "thực tế và thuyết phục". Do đó, chúng tôi đặt tên cho kỹ thuật lừa đảo mới này là Modal Phishin.

Nguyên nhân sâu xa của cuộc tấn công này là ứng dụng ví không xác thực 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.

Ví dụ: ứng dụng ví trực tiếp tin cậy siêu dữ liệu từ SDK kết nối ví và trình bày siêu dữ liệu đó cho người dùng.

SDK kết nối ví cũng không xác thực siêu dữ liệu đến, điều này trong một số trường hợp cho phép kẻ tấn công kiểm soát siêu dữ liệu được trình bày. Trong Metamask, chúng ta có thể thấy các nguyên tắc tấn công tương tự đang bị kẻ tấn công lạm dụng để hiển thị tên phương thức chức năng hợp đồng thông minh lừa đảo trong cửa sổ phương thức.

Nhìn chung, chúng tôi tin rằng các nhà phát triển ứng dụng ví phải luôn cho rằng dữ liệu đến không thể tin cậy được. Các nhà phát triển nên cẩn thận chọn thông tin nào sẽ hiển thị cho người dùng và xác minh tính hợp pháp của thông tin đó. Bên cạnh đó, người dùng cũng nên giữ thái độ hoài nghi trước mọi yêu cầu giao dịch không rõ nguồn gốc để bảo vệ an toàn cho “mảnh đất ba tấc” của chính mình.

DApp
cái ví
hợp đồng thông minh
nhà phát triển
Web3.0
Uniswap
công nghệ
Sự an toàn
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký
https://t.me/Odaily_News
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk
Tài khoản chính thức
https://twitter.com/OdailyChina
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk
Tìm kiếm
Mục lục bài viết
Tải ứng dụng Odaily Nhật Báo Hành Tinh
Hãy để một số người hiểu Web3.0 trước
IOS
Android