WalletConnect钓鱼风险介绍
2023年1月30日,慢雾安全团队发现Web3钱包上关于WalletConnect使用不当可能存在被钓鱼的安全风险问题。这个问题存在于使用移动端钱包App内置的DAppBrowser+?WalletConnect的场景下。
我们发现,部分Web3钱包在提供WalletConnect支持的时候,没有对WalletConnect的交易弹窗要在哪个区域弹出进行限制,因此会在钱包的任意界面弹出签名请求。
当用户离开DAppBrowser界面切换到钱包其他界面如示例中的Wallet、Discover等界面,由于钱包为了不影响用户体验和避免重复授权,此时WalletConnect的连接是没有断开的,但是此时用户却可能因为恶意DApp突然发起的签名请求弹窗而误操作导致被钓鱼转移走资产。
慢雾:Distrust发现严重漏洞,影响使用Libbitcoin Explorer3.x版本的加密钱包:金色财经报道,据慢雾区消息,Distrust 发现了一个严重的漏洞,影响了使用 Libbitcoin Explorer 3.x 版本的加密货币钱包。该漏洞允许攻击者通过破解 Mersenne Twister 伪随机数生成器(PRNG)来访问钱包的私钥,目前已在现实世界中造成了实际影响。
漏洞详情:该漏洞源于 Libbitcoin Explorer 3.x 版本中的伪随机数生成器(PRNG)实现。该实现使用了 Mersenne Twister 算法,并且仅使用了 32 位的系统时间作为种子。这种实现方式使得攻击者可以通过暴力破解方法在几天内找到用户的私钥。
影响范围:该漏洞影响了所有使用 Libbitcoin Explorer 3.x 版本生成钱包的用户,以及使用 libbitcoin-system 3.6 开发库的应用。
已知受影响的加密货币包括 Bitcoin、Ethereum、Ripple、Dogecoin、Solana、Litecoin、Bitcoin Cash 和 Zcash 等。
风险评估:由于该漏洞的存在,攻击者可以访问并控制用户的钱包,从而窃取其中的资金。截至 2023 年 8 月,已有超过 $900,000 美元的加密货币资产被盗。
解决方案:我们强烈建议所有使用 Libbitcoin Explorer 3.x 版本的用户立即停止使用受影响的钱包,并将资金转移到安全的钱包中。请务必使用经过验证的、安全的随机数生成方法来生成新的钱包。[2023/8/10 16:18:20]
慢雾:Ribbon Finance遭遇DNS攻击,某用户损失16.5 WBTC:6月24日消息,Ribbon Finance 发推表示遭遇 DNS 攻击,慢雾MistTrack通过链上分析发现攻击者与今天早前的Convex Finance 攻击者是同一个,地址 0xb73261481064f717a63e6f295d917c28385af9aa 是攻击者共用的用来调用恶意合约的钱包地址。同时分析发现,Ribbon Finance某用户在攻击中损失了 16.5 WBTC,具体交易为:https://etherscan.io/tx/0xd09057f1fdb3fa97d0ed7e8ebd8fd31dd9a0b5b61a29a22b46985d6217510850。[2022/6/24 1:29:35]
动态演示GIF如下图:
慢雾:Crosswise遭受攻击因setTrustedForwarder函数未做权限限制:据慢雾区情报,2022年1月18日,bsc链上Crosswise项目遭受攻击。慢雾安全团队进行分析后表示,此次攻击是由于setTrustedForwarder函数未做权限限制,且在获取调用者地址的函数_msg.sender()中,写了一个特殊的判断,导致后续owner权限被转移以及后续对池子的攻击利用。[2022/1/19 8:57:48]
攻击者利用恶意DApp钓鱼网站引导用户使用WalletConnect与钓鱼页面连接后,然后定时不间断发送恶意的签名请求。用户识别到eth_sign可能不安全拒绝签名后,由于WalletConnect采用wss的方式进行连接,如果用户没有及时关闭连接,钓鱼页面会不断的发起构造恶意的eth_sign签名弹窗请求,用户在使用钱包的时候有很大的可能会错误的点击签署按钮,导致用户的资产被盗。
这个安全问题的核心是用户切换DAppBrowser界面到其他界面后,是否应继续自动弹窗响应来自DAppBrowser界面的请求,尤其是敏感操作请求。因为跨界面后盲目弹窗响应很容易导致用户的误操作。
慢雾:2021年上半年共发生78起区块链安全事件,总损失金额超17亿美元:据慢雾区块链被黑事件档案库统计,2021年上半年,整个区块链生态共发生78起较为著名的安全事件,涉及DeFi安全50起、钱包安全2起,公链安全3起,交易所安全6起,其他安全相关17起,其中以太坊上27起,币安智能链(BSC)上22起,Polygon上2起,火币生态链(HECO)、波卡生态、EOS上各1起,总损失金额超17亿美元(按事件发生时币价计算)。
经慢雾AML对涉事资金追踪分析发现,约60%的资金被攻击者转入混币平台,约30%的资金被转入交易所。慢雾安全团队在此建议,用户应增强安全意识,提高警惕,选择经过安全审计的可靠项目参与;项目方应不断提升自身的安全系数,通过专业安全审计机构的审计后才上线,避免损失;各交易所应加大反监管力度,进一步打击利用加密资产交易的等违规行为。[2021/7/1 0:20:42]
这里面涉及到一个安全原则:WalletConnect连接后,钱包在检测到用户切换DAppBrowser界面到其他界面后,应该对来自DAppBrowser的弹窗请求不进行处理。
慢雾:PancakeBunny被黑是一次典型利用闪电贷操作价格的攻击:币安智能链上DeFi收益聚合器PancakeBunny项目遭遇闪电贷攻击,慢雾安全团队解析:这是一次典型的利用闪电贷操作价格的攻击,其关键点在于WBNB-BUNNYLP的价格计算存在缺陷,而BunnyMinterV2合约铸造的BUNNY数量依赖于此存在缺陷的LP价格计算方式,最终导致攻击者利用闪电贷操控了WBNB-BUNNY池子从而拉高了LP的价格,使得BunnyMinterV2合约铸造了大量的BUNNY代币给攻击者。慢雾安全团队建议,在涉及到此类LP价格计算时可以使用可信的延时喂价预言机进行计算或者参考此前AlphaFinance团队。[2021/5/20 22:24:55]
另外需要注意的是,虽然移动端钱包App+PC浏览器的WalletConnect连接场景也存在同样的问题,但是用户在这种场景下或许不那么容易误操作。
WalletConnect连接后界面切换的处理情况
慢雾安全团队抽取市面热门搜索和下载量比较大的20个CryptoWalletApp进行测试:
根据上表测试结果,我们发现:
1.部分热门钱包App如MetaMask、EnjinWallet、TrustWallet、SafePalWallet及iTokenWallet等,在WalletConnect连接后切换到其他界面时,会自动响应DApp的请求,并弹出签名窗口。
2.大部分测试的钱包App在切换界面后,对DApp的请求不会做出响应,也不会弹出提示窗口。
3.少数钱包App在测试环境下无法使用WalletConnect与DApp连接,如CoinbaseWallet和MEWCryptoWallet等。钱包的DApp中不是很适配?WalletConnect接口。
4.部分钱包App如ExodusWallet和EdgeWallet在连接测试环境下未找到相关的DApp进行测试,无法判断其切换界面后的响应情况。
WalletConnect钓鱼风险的发现和后续
慢雾安全团队最初在TrustWallet上发现这个问题,并通过Bugcrowd漏洞提交平台向他们提交了这个问题,我们获得了TrustWallet的感谢,他们表示将在下一个版本修复这个安全风险。
特别的是,如果钱包对eth_sign这种低级签名函数没有任何风险提醒,eth_sign这是一种非常危险的低级签名,大大加剧了WalletConnect这个问题钓鱼的风险。
不过如果只是禁用了eth_sign也不是完全没有风险,我们还是呼吁更多的钱包开始禁用它。以用户数量最多的MetaMask钱包为例,其插件端已经在2023年2月10号发布的V10.25.0版本默认禁用eth_sign,而移动端也在2023年3月1号发布的版本号为6.11开始默认不支持eth_sign,用户需要到设置里手动打开才能使用它。
不过值得一提的是,MetaMask6.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。最后希望各方共同努力,一起让区块链生态更美好。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。