請輸入關鍵字:

熱門搜尋:

TON生態火爆,需警惕TonConnect SDK 的Origin僞造風險

日期:2024年7月31日 下午12:00

By: Thinking

背景

隨著 TON 生態項目的升溫,Web3 釣魚團夥也開始進入 TON 生態的戰場。目前 TON 生態中使用 TonConnect SDK 來解決跨平台/應用錢包連接和交互的問題,這類方案都難免會遇到一個難題:如何解決跨平台/應用通訊時的域名驗證?

通常為了能夠讓用戶在使用錢包連接 DApp 或確認簽名請求的來源是否可靠時,錢包都會在請求批准頁面提示來源的域名,便于用戶更好地驗證並確認請求的來源是否與自己操作的來源一致,從而避免遭受惡意來源簽名請求的欺詐。

慢霧安全團隊此前就發現過這類錢包和 DApp 跨平台/應用通訊時的域名驗證安全問題,我們跟 MetaMask SDK 和 WalletConnect Web3Modal 的項目方團隊進行了溝通和交流,發現該問題較難處理。因此,目前 MetaMask 和 WalletConnect 尚未完全解決這個問題。

近日,我們發現 TON 生態中的 TonConnect SDK 也存在相同的問題,于是在此披露,希望可以幫助用戶識別和防範這類風險。

分析

通常浏覽器擴展錢包和 DApp 進行交互時會在網頁上注入 JS 腳本(content script),用于轉發網頁和浏覽器擴展之間的消息。網頁和 content script 進行通訊時使用的是 window.postmessage 和 window.addEventListener,而 window.addEventListener 可以通過獲取消息的 origin 來進一步處理消息,具體操作包含在浏覽器擴展錢包展示消息的 origin,判斷消息的 origin 是否在黑名單内,對消息的 origin 進行鑒權等操作。由于 origin 依賴浏覽器提供的函數功能來獲取,因此無法被僞造。

然而跨平台/應用消息通訊時,通常通過消息轉發服務器對消息進行轉發,而消息轉發服務器很難對消息發起的域名進行檢查(因為客戶端的數據可以被僞造),因此存在消息來源被僞造的問題,以下是跨平台/應用消息通訊的 2 個場景:

  • 浏覽器網頁 <=> 消息轉發服務器 <=> 錢包 APP
  • 其它 APP <=> 消息轉發服務器 <=> 錢包 APP

以 TonConnect SDK 為例,DApp 使用 TonConnect SDK 作為錢包和 DApp 進行消息通訊的工具,需要在接入 TonConnect SDK 的時候配置好 dappMetadata,然而 dappMetadata 的數據是難以驗證的,惡意 DApp 可以通過修改 dappMetadata 僞裝成可信的網站,從而對用戶進行欺詐。

import { SendTransactionRequest, TonConnect, UserRejectsError, WalletInfo, WalletInfoInjected } from '@tonconnect/sdk';import { notification } from 'antd';import { isMobile, openLink } from 'src/utils';

const dappMetadata = { manifestUrl: 'https://x.x.x/tonconnect-manifest.json',};

export const connector = new TonConnect(dappMetadata);

把 manifest.json 設置成以下内容就可以將 origin 僞造成 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"}

以下是部署上述代碼後的 PoC,接下來我們掃描並解析二維碼。

TON生態火爆,需警惕TonConnect SDK 的Origin僞造風險

TonConnect SDK 通過二維碼的方式將 manifestUrl 的數據傳遞給錢包應用,不像其他 SDK 通過消息轉發服務器轉發。錢包應用會解析掃描獲得的 manifestUrl 的數據。可以發現,我們輕易僞造成任意 DApp 的 origin 與錢包進行了通訊,也就是說,攻擊者可以利用這個缺陷僞造知名的 DApp 實施釣魚和欺詐攻擊。

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

TON生態火爆,需警惕TonConnect SDK 的Origin僞造風險

連接成功後,僞造的 DApp 通過 TonConnect 發起簽名申請,一旦用戶確認了,錢包就會將簽名後的數據廣播到區塊鏈上。由于 origin 僞造極具欺騙性,用戶很難鑒別連接和簽名申請的來源。

TON生態火爆,需警惕TonConnect SDK 的Origin僞造風險

在 MetaMask SDK 中,通過修改 dappMetadata 即可僞造成知名的 DApp 實施釣魚和欺詐攻擊:

同理,在 WalletConnectModalSign 中,修改 metadata 即可:

import { WalletConnectModalSign } from "https://unpkg.com/@walletconnect/modal-sign-html@2.5.8";

const connectButton = document.getElementById("connect-button");

const web3Modal = new WalletConnectModalSign({ projectId: "32832b2f363c3e960ea28541f380b8d1", metadata: {name:"FakeandevilDApp",description:"FakeandevilDApp", url: "https://walletconnect.com/", icons: ["https://walletconnect.com/static/favicon.png"], },});

總結

由于目前主流錢包和 DApp 跨平台/應用通訊時的域名驗證問題暫時沒有較好的解決方案,因此 SDK 項目方通常會額外增加一些驗證方式,如:WalletConnect 的 Verify 機制(https://docs.walletconnect.com/cloud/verify),在 DApp 通過驗證域名後,錢包方可以通過 Verify API 來判斷域名是否可信。

但是,很多主流的 DApp 沒有對域名進行 Verify,所以這個解決方案也很難解決僞造 origin 釣魚攻擊。如果絕大多數 DApp 使用 Verify 的方式對域名進行認證,那麽將很大程度上讓用戶避免遭受日益猖獗的僞造 origin 釣魚攻擊。慢霧安全團隊在此也建議用戶注意識別打開的網站是否和請求批准展示的域名一致,避免遭受此類攻擊。

内容来源:PANews

財華網所刊載內容之知識產權為財華網及相關權利人專屬所有或持有。未經許可,禁止進行轉載、摘編、複製及建立鏡像等任何使用。

如有意願轉載,請發郵件至content@finet.com.hk,獲得書面確認及授權後,方可轉載。

下載財華財經APP,把握投資先機
https://www.finet.com.cn/app

更多精彩内容,請點擊:
財華網(https://www.finet.hk/)
財華智庫網(https://www.finet.com.cn)
現代電視FINTV(https://www.fintv.hk)

相關文章

7月31日
Web3餐飲平台Blackbird Labs推出接受FLY支付的Blackbird Pay系統
7月31日
跨鏈協議Router宣布其Router Chain主網現已上線
7月31日
Vitalik最新演講:以太坊的過去十年與下個十年
7月31日
LSD的敘事思路,淺談Puffer Finance的Based Rollups
7月31日
為什麽我對 TON 未來 6 個月的前景充滿信心?
7月31日
Telegram創始人已通過捐精有超過100個生物學孩子,計劃開源自己的DNA以便孩子們互認
7月31日
OpenAI開始向部分ChatGPT Plus用戶推出高級語音模式
7月31日
多元業務擴展、全産業鏈布局,速覽龍頭礦企Marathon近期動態
7月31日
參議員Lummis的比特幣戰略儲備草案將部分通過重新評估美聯儲黃金來提供資金
7月30日
俄羅斯央行行長:俄羅斯央行預計今年將首次測試加密支付

視頻

快訊

20:03
海南封關落地!板塊投資機遇幾何?
19:46
機器人板塊集體走強,人形機器人從「炫技」邁向「上崗」
17:34
國家網信辦會同中國證監會深入整治涉資本市場網上虛假不實信息
17:28
碩奧國際(02336.HK):馮櫓銘獲任董事會主席
17:19
復宏漢霖(02696.HK)HLX18治療多種實體瘤的1期臨床試驗申請獲美FDA批准
17:11
國家外匯局:11月銀行結匯2095億美元 售匯1938億美元
17:04
中國白銀集團(00815.HK)認購協議已部分完成
16:50
美高梅中國(02282.HK):馮小峰獲任首席執行官
16:39
超大現代(00682.HK)完成配售3295萬股 淨籌約719萬港元
16:32
香港10月批出六份建築圖則