# Web3移动钱包新型骗局揭秘:模态钓鱼攻击近期,我们发现了一种针对Web3移动钱包用户的新型网络钓鱼技术,主要通过误导用户对连接的去中心化应用(DApp)身份的认知来实施攻击。我们将这种新型钓鱼技术命名为"模态钓鱼攻击"(Modal Phishing)。在这种攻击中,不法分子可以向移动钱包发送伪造的虚假信息,冒充合法DApp。通过在钱包的模态窗口中显示误导性信息,诱骗用户批准危险交易。目前,这种钓鱼技术已经被广泛使用。我们已与相关组件开发人员沟通,他们承诺将推出新的验证API以降低风险。## 模态钓鱼攻击的原理在对移动钱包的安全研究中,我们注意到Web3钱包的某些用户界面(UI)元素可被攻击者控制,从而实施钓鱼攻击。之所以称为"模态钓鱼",是因为攻击者主要针对加密钱包的模态窗口进行操作。模态窗口是移动应用中常用的UI元素,通常显示在主窗口顶部,用于方便用户快速操作,如批准/拒绝Web3钱包的交易请求。典型的Web3钱包模态设计会提供必要的交易信息供用户检查,以及批准或拒绝的按钮。然而,这些用户界面元素可能被攻击者控制,用于实施模态钓鱼攻击。攻击者可以更改交易细节,将交易请求伪装成来自可信来源的"安全更新"等,诱使用户批准。## 典型攻击案例### 1. 通过Wallet Connect进行DApp钓鱼攻击Wallet Connect是一个广受欢迎的开源协议,用于通过二维码或深度链接将用户钱包与DApp连接。在配对过程中,Web3钱包会显示一个模态窗口,展示DApp的名称、网站地址、图标和描述等信息。然而,这些信息是由DApp提供的,钱包并不验证其真实性。攻击者可以假冒知名DApp,诱骗用户与其连接。在配对过程中,只要受害者想在假冒网站上进行操作,攻击者就可以替换交易请求参数来窃取资金。### 2. 通过MetaMask进行智能合约信息钓鱼在MetaMask的交易批准模态窗口中,除了DApp信息外,还会显示一个表示交易类型的字符串。这个UI元素是通过读取智能合约的签名字节,并查询链上方法注册表得到的。攻击者可以利用这一机制,创建一个钓鱼智能合约,并将其方法名注册为"SecurityUpdate"等误导性字符串。当用户批准交易时,MetaMask会显示这个看似合法的方法名,增加了攻击的可信度。## 防范建议1. 钱包应用开发者应该始终假设外部传入的数据是不可信的,仔细选择向用户展示哪些信息,并验证这些信息的合法性。2. Wallet Connect等协议应该提前验证DApp信息的有效性和合法性。3. 钱包应用应采取预防措施,过滤可能被用于网络钓鱼攻击的词语。4. 用户应对每个未知的交易请求保持警惕,仔细核实交易详情,不要轻信模态窗口中显示的信息。总之,模态钓鱼攻击利用了用户对钱包UI的信任,通过操纵可控UI元素来创造具有说服力的钓鱼陷阱。提高安全意识,加强验证机制,是防范此类攻击的关键。
模态钓鱼攻击:Web3移动钱包用户的新型安全威胁
Web3移动钱包新型骗局揭秘:模态钓鱼攻击
近期,我们发现了一种针对Web3移动钱包用户的新型网络钓鱼技术,主要通过误导用户对连接的去中心化应用(DApp)身份的认知来实施攻击。我们将这种新型钓鱼技术命名为"模态钓鱼攻击"(Modal Phishing)。
在这种攻击中,不法分子可以向移动钱包发送伪造的虚假信息,冒充合法DApp。通过在钱包的模态窗口中显示误导性信息,诱骗用户批准危险交易。目前,这种钓鱼技术已经被广泛使用。我们已与相关组件开发人员沟通,他们承诺将推出新的验证API以降低风险。
模态钓鱼攻击的原理
在对移动钱包的安全研究中,我们注意到Web3钱包的某些用户界面(UI)元素可被攻击者控制,从而实施钓鱼攻击。之所以称为"模态钓鱼",是因为攻击者主要针对加密钱包的模态窗口进行操作。
模态窗口是移动应用中常用的UI元素,通常显示在主窗口顶部,用于方便用户快速操作,如批准/拒绝Web3钱包的交易请求。典型的Web3钱包模态设计会提供必要的交易信息供用户检查,以及批准或拒绝的按钮。
然而,这些用户界面元素可能被攻击者控制,用于实施模态钓鱼攻击。攻击者可以更改交易细节,将交易请求伪装成来自可信来源的"安全更新"等,诱使用户批准。
典型攻击案例
1. 通过Wallet Connect进行DApp钓鱼攻击
Wallet Connect是一个广受欢迎的开源协议,用于通过二维码或深度链接将用户钱包与DApp连接。在配对过程中,Web3钱包会显示一个模态窗口,展示DApp的名称、网站地址、图标和描述等信息。
然而,这些信息是由DApp提供的,钱包并不验证其真实性。攻击者可以假冒知名DApp,诱骗用户与其连接。在配对过程中,只要受害者想在假冒网站上进行操作,攻击者就可以替换交易请求参数来窃取资金。
2. 通过MetaMask进行智能合约信息钓鱼
在MetaMask的交易批准模态窗口中,除了DApp信息外,还会显示一个表示交易类型的字符串。这个UI元素是通过读取智能合约的签名字节,并查询链上方法注册表得到的。
攻击者可以利用这一机制,创建一个钓鱼智能合约,并将其方法名注册为"SecurityUpdate"等误导性字符串。当用户批准交易时,MetaMask会显示这个看似合法的方法名,增加了攻击的可信度。
防范建议
钱包应用开发者应该始终假设外部传入的数据是不可信的,仔细选择向用户展示哪些信息,并验证这些信息的合法性。
Wallet Connect等协议应该提前验证DApp信息的有效性和合法性。
钱包应用应采取预防措施,过滤可能被用于网络钓鱼攻击的词语。
用户应对每个未知的交易请求保持警惕,仔细核实交易详情,不要轻信模态窗口中显示的信息。
总之,模态钓鱼攻击利用了用户对钱包UI的信任,通过操纵可控UI元素来创造具有说服力的钓鱼陷阱。提高安全意识,加强验证机制,是防范此类攻击的关键。