WalletConnect 钓鱼风险介绍
2023 年 1 月 30 日,慢雾安全团队发现 Web3 钱包上关于 WalletConnect 使用不当可能存在被钓鱼的安全风险问题。这个问题存在于使用移动端钱包 App 内置的 DApp Browser + WalletConnect 的场景下。
我们发现,部分 Web3 钱包在提供 WalletConnect 支持的时候,没有对 WalletConnect 的交易弹窗要在哪个区域弹出进行限制,因此会在钱包的任意界面弹出签名请求。
当用户离开 DApp Browser 界面切换到钱包其他界面如示例中的 Wallet、Discover 等界面,由于钱包为了不影响用户体验和避免重复授权,此时 Wallet Connect 的连接是没有断开的,但是此时用户却可能因为恶意 DApp 突然发起的签名请求弹窗而误操作导致被钓鱼转移走资产。
慢雾:远程命令执行漏洞CVE-2023-37582在互联网上公开,已出现攻击案例:金色财经报道,据慢雾消息,7.12日Apache RocketMQ发布严重安全提醒,披露远程命令执行漏洞(CVE-2023-37582)目前PoC在互联网上公开,已出现攻击案例。Apache RocketMQ是一款开源的分布式消息和流处理平台,提供高效、可靠、可扩展的低延迟消息和流数据处理能力,广泛用于异步通信、应用解耦、系统集等场景。加密货币行业有大量平台采用此产品用来处理消息服务,注意风险。漏洞描述:当RocketMQ的NameServer组件暴露在外网时,并且缺乏有效的身份认证机制时,攻击者可以利用更新配置功能,以RocketMQ运行的系统用户身份执行命令。[2023/7/14 10:54:22]
动态演示 GIF 如下图:
攻击者利用恶意 DApp 钓鱼网站引导用户使用 WalletConnect 与钓鱼页面连接后,然后定时不间断发送恶意的签名请求(如 eth_sign 这种盲签、授权签名、针对特殊智能合约协议的交易签名等,后面以 eth_sign 作为举例)。用户识别到 eth_sign 可能不安全拒绝签名后,由于 WalletConnect 采用 wss 的方式进行连接,如果用户没有及时关闭连接,钓鱼页面会不断的发起构造恶意的 eth_sign 签名弹窗请求,用户在使用钱包的时候有很大的可能会错误的点击签署按钮,导致用户的资产被盗。
慢雾:Equalizer Finance被黑主要在于FlashLoanProvider合约与Vault合约不兼容:据慢雾区消息,6 月 7 日,Equalizer Finance 遭受闪电贷攻击。慢雾安全团队以简讯形式将攻击原理分享如下:
1. Equalizer Finance 存在 FlashLoanProvider 与 Vault 合约,FlashLoanProvider 合约提供闪电贷服务,用户通过调用 flashLoan 函数即可通过 FlashLoanProvider 合约从 Vault 合约中借取资金,Vault 合约的资金来源于用户提供的流动性。
2. 用户可以通过 Vault 合约的 provideLiquidity/removeLiquidity 函数进行流动性提供/移除,流动性提供获得的凭证与流动性移除获得的资金都受 Vault 合约中的流动性余额与流动性凭证总供应量的比值影响。
3. 以 WBNB Vault 为例攻击者首先从 PancekeSwap 闪电贷借出 WBNB
4. 通过 FlashLoanProvider 合约进行二次 WBNB 闪电贷操作,FlashLoanProvider 会先将 WBNB Vault 合约中 WBNB 流动性转给攻击者,随后进行闪电贷回调。
5. 攻击者在二次闪电贷回调中,向 WBNB Vault 提供流动性,由于此时 WBNB Vault 中的流动性已经借出一部分给攻击者,因此流动性余额少于预期,则攻击者所能获取的流动性凭证将多于预期。
6. 攻击者先归还二次闪电贷,然后从 WBNB Vault 中移除流动性,此时由于 WBNB Vault 中的流动性已恢复正常,因此攻击者使用添加流动性获得凭证所取出的流动性数量将多于预期。
7. 攻击者通过以上方式攻击了在各个链上的 Vault 合约,耗尽了 Equalizer Finance 的流动性。
此次攻击的主要原因在于 Equalizer Finance 协议的 FlashLoanProvider 合约与 Vault 合约不兼容。慢雾安全团队建议协议在进行实际实现时应充分考虑各个模块间的兼容性。[2022/6/8 4:09:22]
这个安全问题的核心是用户切换 DApp Browser 界面到其他界面后,是否应继续自动弹窗响应来自 DApp Browser 界面的请求,尤其是敏感操作请求。因为跨界面后盲目弹窗响应很容易导致用户的误操作。
慢雾:美国演员SethGreen的NFT遭钓鱼攻击,资金已跨链到 BTC 并混币:5月18日消息,美国演员SethGreen遭遇钓鱼攻击致4个NFT(包括1个BAYC、2个MAYC和1个Doodle)被盗,钓鱼者地址已将NFT全部售出,获利近160枚ETH(约33万美元)。
慢雾MistTrack对0xC8a0907开头的钓鱼地址分析后,发现总共有8个用户的NFT被盗,包含MAYC、Doodle、BAYC、VOX等12类NFT,全部售出后总获利194ETH。同时,该钓鱼地址初始资金0.188ETH来自Change NOW。钓鱼者地址将大部分ETH转换为renBTC后跨链到6个BTC地址,约14BTC均通过混币转移以躲避追踪。NFT钓鱼无处不在,请大家保持怀疑,提高警惕。[2022/5/18 3:24:23]
这里面涉及到一个安全原则:WalletConnect 连接后,钱包在检测到用户切换 DApp Browser 界面到其他界面后,应该对来自 DApp Browser 的弹窗请求不进行处理。
另外需要注意的是,虽然移动端钱包 App + PC 浏览器的 WalletConnect 连接场景也存在同样的问题,但是用户在这种场景下或许不那么容易误操作。
慢雾:警惕QANX代币的双花攻击风险:据慢雾区消息,近期存在恶意用户利用QANX代币的转账锁定、解锁功能(transferLocked/unlock)触发的事件记录与正常使用transfer功能转账触发的Transfer事件记录相同而进行双花攻击。
慢雾安全团队建议已上架此币种的平台及时自查,未上架的平台在对接此类币种时应注意以上风险。
QANX: 0xaaa7a10a8ee237ea61e8ac46c50a8db8bcc1baaa[2022/3/26 14:18:46]
WalletConnect 连接后界面切换的处理情况
慢雾安全团队抽取市面热门搜索和下载量比较大的 20 个 Crypto Wallet App 进行测试:
根据上表测试结果,我们发现:
1. 部分热门钱包 App 如 MetaMask、Enjin Wallet、Trust Wallet、SafePal Wallet 及 iToken Wallet 等,在 WalletConnect 连接后切换到其他界面时,会自动响应 DApp 的请求,并弹出签名窗口。
慢雾:警惕高危Apache Log4j2远程代码执行漏洞:据慢雾安全情报,在12月9日晚间出现了Apache Log4j2 远程代码执行漏洞攻击代码。该漏洞利用无需特殊配置,经多方验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。Apache Log4j2是一款流行的Java日志框架,建议广大交易所、钱包、DeFi项目方抓紧自查是否受漏洞影响,并尽快升级新版本。[2021/12/10 7:30:00]
2. 大部分测试的钱包 App 在切换界面后,对 DApp 的请求不会做出响应,也不会弹出提示窗口。
3. 少数钱包 App 在测试环境下无法使用 WalletConnect 与 DApp 连接,如 Coinbase Wallet 和 MEW Crypto Wallet 等。钱包的 DApp 中不是很适配 WalletConnect 接口。
4. 部分钱包 App 如 Exodus Wallet 和 Edge Wallet 在连接测试环境下未找到相关的 DApp 进行测试,无法判断其切换界面后的响应情况。
慢雾安全团队最初在 Trust Wallet 上发现这个问题,并通过 Bugcrowd 漏洞提交平台向他们提交了这个问题,我们获得了 Trust Wallet 的感谢,他们表示将在下一个版本修复这个安全风险。
特别的是,如果钱包对 eth_sign 这种低级签名函数(盲签)没有任何风险提醒,eth_sign 这是一种非常危险的低级签名,大大加剧了 WalletConnect 这个问题钓鱼的风险。
不过如果只是禁用了 eth_sign 也不是完全没有风险(本文仅是拿 eth_sign 举例说明),我们还是呼吁更多的钱包开始禁用它。以用户数量最多的 MetaMask 钱包为例,其插件端已经在 2023 年 2 月 10 号发布的 V10.25.0 版本默认禁用 eth_sign,而移动端也在 2023 年 3 月 1 号发布的版本号为 6.11 开始默认不支持 eth_sign,用户需要到设置里手动打开才能使用它。
(Refer: https://github.com/MetaMask/metamask-extension/pull/17308)
(Refer: https://github.com/MetaMask/metamask-mobile/pull/5848)
不过值得一提的是,MetaMask 6.11 版本之后添加了对 DApp 进行 URI 请求的校验,但是这个校验在 DApp 使用 WalletConnect 进行交互的时候,同样会进行弹窗警告,不过这个警告存在被无限制弹窗导致 DoS 的风险。
总结与建议
对个人用户来说,风险主要在 “域名、签名” 两个核心点,WalletConnect 这种钓鱼方式早已被很多恶意网站用于钓鱼攻击,使用时务必保持高度警惕。
对钱包项目方来说,首先是需要进行全面的安全审计,重点提升用户交互安全部分,加强所见即所签机制,减少用户被钓鱼风险,如:
钓鱼网站提醒:通过生态或者社区的力量汇聚各类钓鱼网站,并在用户与这些钓鱼网站交互的时候对风险进行醒目地提醒和告警。
签名的识别和提醒:识别并提醒 eth_sign、personal_sign、signTypedData 这类签名的请求,并重点提醒 eth_sign 盲签的风险。
所见即所签:钱包中可以对合约调用进行详尽解析机制,避免 Approve 钓鱼,让用户知道 DApp 交易构造时的详细内容。
预执行机制:通过交易预执行机制可以帮助用户了解到交易广播执行后的效果,有助于用户对交易执行进行预判。
尾号相同的提醒:在展示地址的时候醒目的提醒用户检查完整的目标地址,避免尾号相同的问题。设置白名单地址机制,用户可以将常用的地址加入到白名单中,避免类似尾号相同的攻击。
在交易显示上,可以增加对小额或者无价值代币交易的隐藏功能,避免尾号钓鱼。
AML 合规提醒:在转账的时候通过 AML 机制提醒用户转账的目标地址是否会触发 AML 的规则。
请持续关注慢雾安全团队,更多的钓鱼安全风险分析与告警正在路上。
慢雾科技作为一家行业领先的区块链安全公司,在安全审计方面深耕多年,安全审计不仅让用户安心,更是降低攻击发生的手段之一。其次,各家机构由于数据孤岛,难以关联识别出跨机构的团伙,给反工作带来巨大挑战。而作为项目方,及时拉黑阻断恶意地址的资金转移也是重中之重。MistTrack 反追踪系统积累了 2 亿多个地址标签,能够识别全球主流交易平台的各类钱包地址,包含 1 千多个地址实体、超 10 万个威胁情报数据和超 9 千万个风险地址,如有需要可联系我们接入 API。最后希望各方共同努力,一起让区块链生态更美好。
慢雾科技
个人专栏
阅读更多
金色财经 善欧巴
Chainlink预言机
白话区块链
金色早8点
Odaily星球日报
Arcane Labs
深潮TechFlow
欧科云链
BTCStudy
MarsBit
标签:LLEWALLETALLWALtrustwallet支持usdt吗trustwallet怎么购买ALLIN币itokenwallet停止维护doge停止维护
本篇热点报告主要复盘了 Arbitrum one 发行代币后整个 Layer 2 生态的现状.
作者 :火火 出品:白话区块链(ID:hellobtc)去年下半年,整个加密市场处在深熊困境当中,但Arbitrum生态代表项目GMX和Treasure DAO依然逆势增长,进入2023年以来.
USDD背景 USDD 是由孙宇晨 Justin Sun的 TRON DAO Reserve (TDR) 发行的超额抵押稳定币,TDR 也是托管人。 TDR 由七个加密原生机构组成.
引言 为了带大家更好的了解加密货币的全球政策,郭律师团队曾在今年春节前后,先后在文字型的自媒体平台发布了全球十几个主流国家或地区的加密货币历年政策.
以太坊上海升级已于今晨 6 点 28 分在 Epoch 194048 高度完成。此次升级的主要关注点在于增加了以太坊质押取款功能,用户在此次升级后可提取质押的 ETH 及相关收益.
Arbitrum 空投带来的造富效应并未消退, 4 月 3 日,MM Finance 在 Arbitrum 上线.