Tin nóng ⇢

Hệ sinh thái TON bùng nổ, cảnh giác nguy cơ giả mạo Origin trong TonConnect SDK

Khi dự án sinh thái TON nóng lên, các nhóm lừa đảo Web3 cũng bắt đầu xâm nhập vào hệ sinh thái TON. Hiện tại, TonConnect SDK được sử dụng trong hệ sinh thái TON để giải quyết vấn đề kết nối và tương tác ví đa nền tảng/ứng dụng. Các giải pháp như vậy chắc chắn sẽ gặp phải một vấn đề: làm thế nào để giải quyết việc xác minh tên miền trong quá trình giao tiếp đa nền tảng/ứng dụng?

Nói chung, để cho phép người dùng sử dụng ví để kết nối với DApp hoặc xác nhận xem nguồn yêu cầu chữ ký có đáng tin cậy hay không, ví sẽ nhắc tên miền của nguồn trên trang phê duyệt yêu cầu để người dùng có thể xác minh tốt hơn và xác nhận xem nguồn yêu cầu có phù hợp với nguồn hoạt động của họ hay không. Điều này tránh bị lừa gạt bởi các yêu cầu chữ ký từ các nguồn độc hại.

Nhóm bảo mật SlowMist trước đây đã phát hiện ra các vấn đề bảo mật khi xác minh tên miền trong giao tiếp đa nền tảng/ứng dụng giữa ví và DApp. Vấn đề này rất khó giải quyết. Vì vậy, MetaMask và WalletConnect vẫn chưa giải quyết được triệt để vấn đề này.

Gần đây, TonConnect SDK trong hệ sinh thái TON cũng gặp vấn đề tương tự nên bài viết này sẽ giúp người dùng xác định và ngăn chặn những rủi ro đó.

Phân tích

Thông thường, khi ví tiện ích mở rộng trình duyệt tương tác với DApp, tập lệnh JS (tập lệnh nội dung) sẽ được đưa vào trang web để chuyển tiếp tin nhắn giữa trang web và tiện ích mở rộng trình duyệt. Khi trang web giao tiếp với tập lệnh nội dung, window.postmessage và window.addEventListener sẽ được sử dụng và window.addEventListener có thể xử lý thêm thông báo bằng cách lấy nguồn gốc của thông báo. Thao tác cụ thể bao gồm hiển thị nguồn gốc của thông báo trong trình duyệt. ví mở rộng và xác định nguồn gốc của tin nhắn. Liệu nó có nằm trong danh sách đen hay không, thực hiện xác thực và các hoạt động khác đối với nguồn gốc của tin nhắn. Vì nguồn gốc phụ thuộc vào các chức năng do trình duyệt cung cấp nên nó không thể bị giả mạo.

Tuy nhiên, khi giao tiếp giữa các nền tảng/ứng dụng, tin nhắn thường được chuyển tiếp qua máy chủ chuyển tiếp tin nhắn và máy chủ chuyển tiếp tin nhắn khó kiểm tra tên miền nơi tin nhắn được bắt đầu (vì dữ liệu khách hàng có thể bị giả mạo), do đó là sự cố giả mạo nguồn tin nhắn, sau đây là 2 trường hợp liên lạc tin nhắn đa nền tảng/ứng dụng:

  • Trang web trình duyệt <=> Máy chủ chuyển tiếp tin nhắn <=> ỨNG DỤNG Wallet
  • APP khác <=> Máy chủ chuyển tiếp tin nhắn <=> APP Wallet

Lấy TonConnect SDK làm ví dụ. DApp sử dụng TonConnect SDK làm công cụ liên lạc bằng tin nhắn giữa ví và DApp. Nó cần định cấu hình dappMetadata khi truy cập TonConnect SDK. Tuy nhiên, dữ liệu của dappMetadata rất khó xác minh. hợp lệ bằng cách sửa đổi các trang web dappMetadata đáng tin cậy, từ đó lừa gạt người dùng.

nhập { SendTransactionRequest, TonConnect, UserRejectsError, WalletInfo, WalletInfoInjected } từ ‘@tonconnect/sdk’;import { notification } từ ‘antd’;import { isMobile, openLink } từ ‘src/utils’;

const dappMetadata = {ManifestUrl: ‘https://xxx/tonconnect-manifest.json’,};

xuất trình kết nối const = new TonConnect(dappMetadata);

Đặt tệp kê khai.json thành nội dung sau để giả mạo nguồn gốc thành ton.org:

{ “url”: “https://ton.org”,”name”:FakeandevilDApp”, “iconUrl”: “https://ton-connect.github.io/demo-dapp/apple-touch-icon. png”, “termsOfUseUrl”: “https://ton-connect.github.io/demo-dapp/terms-of-use.txt”, “privacyPolicyUrl”: “https://ton-connect.github.io/ demo-dapp/privacy-policy.txt”}

Sau đây là PoC sau khi triển khai đoạn mã trên. Tiếp theo, chúng ta quét và phân tích mã QR.

Hệ sinh thái TON bùng nổ, bạn cần cảnh giác nguy cơ giả mạo Origin trong TonConnect SDK

TonConnect SDK chuyển dữ liệu tệp kê khai đến ứng dụng ví thông qua mã QR, không giống như các SDK khác chuyển tiếp dữ liệu đó qua máy chủ chuyển tiếp tin nhắn. Ứng dụng ví sẽ phân tích dữ liệu tệp kê khai thu được bằng cách quét. Có thể thấy rằng chúng ta có thể dễ dàng giả mạo nguồn gốc của bất kỳ DApp nào để giao tiếp với ví. Nói cách khác, những kẻ tấn công có thể sử dụng lỗ hổng này để giả mạo các DApp nổi tiếng để thực hiện các cuộc tấn công lừa đảo và lừa đảo.

https://app.tonkeeper.com/ton-connect?v=2&id=24e3f2fdbea19fcd4fe03da3bc3d534d8b988edd01736f0b127a70cf2c531661&r={“manifestUrl”:”https://tonconnect.pages.dev/tonconnect-manifest.json”,”items”:[{” tên://ton_addr”}]}

Hệ sinh thái TON bùng nổ, bạn cần cảnh giác nguy cơ giả mạo Origin trong TonConnect SDK

Sau khi kết nối thành công, DApp giả mạo sẽ khởi tạo một ứng dụng chữ ký thông qua TonConnect. Sau khi người dùng xác nhận, ví sẽ phát dữ liệu đã ký lên blockchain. Vì giả mạo nguồn gốc có tính chất lừa đảo cực kỳ cao nên người dùng khó xác định được nguồn kết nối và yêu cầu chữ ký.

Hệ sinh thái TON bùng nổ, bạn cần cảnh giác nguy cơ giả mạo Origin trong TonConnect SDK

Trong MetaMask SDK, bằng cách sửa đổi dappMetadata, bạn có thể giả mạo nó thành một DApp nổi tiếng để thực hiện các cuộc tấn công lừa đảo và gian lận:

Tương tự, trong WalletConnectModalSign, chỉ cần sửa đổi siêu dữ liệu:

nhập { WalletConnectModalSign } từ “https://unpkg.com/@walletconnect/[email protected]”;

const connectButton = document.getElementById(“nút kết nối”);

const web3Modal = new WalletConnectModalSign({ projectId: “32832b2f363c3e960ea28541f380b8d1″, siêu dữ liệu: {name:”FakeandevilDApp”,description:”FakeandevilDApp”, url: “https://walletconnect.com/”, biểu tượng: [“https://walletconnect .com/static/favicon.png”], },});

Tóm tắt

Vì hiện tại không có giải pháp tốt cho vấn đề xác minh tên miền trong giao tiếp đa nền tảng/ứng dụng giữa ví chính thống và DApp, nên các dự án SDK thường thêm một số phương thức xác minh bổ sung, chẳng hạn như: Cơ chế xác minh của WalletConnect (https://docs.walletconnect. com/cloud/verify), sau khi DApp vượt qua quá trình xác minh tên miền, ví có thể sử dụng API xác minh để xác định xem tên miền có đáng tin cậy hay không.

Tuy nhiên, nhiều DApp chính thống không xác minh tên miền nên giải pháp này khó giải quyết các cuộc tấn công lừa đảo giả mạo nguồn gốc. Nếu đại đa số DApp sử dụng Xác minh để xác thực tên miền, người dùng sẽ được bảo vệ phần lớn khỏi các cuộc tấn công lừa đảo giả mạo nguồn gốc ngày càng tràn lan. Nhóm bảo mật SlowMist cũng khuyến cáo người dùng chú ý xác định xem trang web mở có trùng khớp với tên miền được yêu cầu phê duyệt hay không để tránh những cuộc tấn công như vậy.

Có thể bạn quan tâm

Mục lục