在上海浦东滨江公园观赏外滩建筑群-20240824在上海浦东滨江公园观赏外滩建筑群-20240824

TonConnect SDK Origin 伪造风险分析

原创 | 慢雾安全团队 | 慢雾科技

背景

随着TON生态项目的升温,Web3钓鱼团伙也开始进入TON生态的战场。目前,TON生态中使用TonConnect SDK来解决跨平台/应用钱包连接和交互的问题。然而,这类解决方案都面临一个共同的难题:如何确保跨平台/应用通讯时的域名验证?

通常,为了让用户在使用钱包连接DApp或确认签名请求的来源是否可靠时,钱包会在请求批准页面提示来源的域名。这有助于用户验证并确认请求的来源是否与自己操作的来源一致,从而避免遭受恶意来源签名请求的欺诈。慢雾安全团队此前就发现过这类钱包和DApp跨平台/应用通讯时的域名验证安全问题,并与MetaMask SDK和WalletConnect Web3Modal的项目方团队进行了沟通和交流,发现该问题较难处理。因此,目前MetaMask和WalletConnect尚未完全解决这个问题。

分析

在浏览器扩展钱包和DApp进行交互时,通常会在网页上注入JS脚本(content script),用于转发网页和浏览器扩展之间的消息。网页和content script之间的通讯使用的是window.postMessagewindow.addEventListenerwindow.addEventListener可以通过获取消息的origin来进一步处理消息,包括判断消息的origin是否在黑名单内,对消息的origin进行鉴权等操作。

由于origin依赖浏览器提供的函数功能来获取,因此无法被伪造。然而,在跨平台/应用消息通讯时,通常通过消息转发服务器对消息进行转发。由于客户端的数据可以被伪造,消息转发服务器很难对消息发起的域名进行检查,因此存在消息来源被伪造的问题。以下是跨平台/应用消息通讯的两个场景:

  1. 浏览器网页 <=> 消息转发服务器 <=> 钱包APP
  2. 其他APP <=> 消息转发服务器 <=> 钱包APP

以TonConnect SDK为例,DApp使用TonConnect SDK作为钱包和DApp进行消息通讯的工具,需要在接入TonConnect SDK时配置好dappMeta。然而,由于消息转发服务器的存在,攻击者可能通过伪造消息来源的origin来欺骗用户。

结论

本文揭示了TON生态中TonConnect SDK存在的origin伪造风险。在跨平台/应用通讯中,由于消息转发服务器难以验证消息发起的域名,攻击者可能利用这一漏洞进行欺诈。为防范这类风险,建议以下措施:

  1. 增强验证机制:在消息转发过程中,增加额外的验证步骤,如数字签名,以确保消息来源的真实性。
  2. 用户教育:提高用户对这类风险的意识,教育用户如何识别和防范恶意请求。
  3. 持续监控:对跨平台/应用通讯进行持续监控,及时发现并处理异常情况。

参考文献

  • 慢雾安全团队. (2023). TonConnect SDK Origin 伪造风险分析. 慢雾科技.
  • MetaMask SDK官方文档
  • WalletConnect Web3Modal官方文档

通过上述分析和建议,我们希望帮助用户更好地识别和防范TON生态中的origin伪造风险,确保Web3生态的安全稳定发展。


>>> Read more <<<

Views: 0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注