Web3移动钱包独特钓鱼攻击手法:Modal Phishing

一茬接一茬,Web3.0 移动钱包又现独特钓鱼攻击手法:Modal Phishing

来源:

CertiK

Web3移动钱包独特钓鱼攻击手法:Modal Phishing

我们最近发现了一种新型的网络钓鱼技术,可用于在连接的去中心化应用(DApp)身份方面误导受害者。

我们将这种新型的网络钓鱼技术命名为Modal Phishing(模态钓鱼攻击)。

攻击者可以向移动钱包发送伪造的虚假信息冒充合法的 DApp,并通过在移动钱包的模态窗口中显示误导性信息来诱骗受害者批准交易。这种网络钓鱼技术正在广泛使用。我们与相应的组件开发人员进行了沟通,并确认他们将发布新的验证 API 以降低该风险。

什么是 Modal Phishing?

在 CertiK 对移动钱包的安全研究中,我们注意到 Web3.0 货币钱包的某些用户界面(UI)元素可以被攻击者控制用来进行网络钓鱼攻击。我们将这种钓鱼技术命名为 Modal Phishing,因为攻击者主要针对加密钱包的模态窗口进行钓鱼攻击。

模态(或模态窗口)是移动应用程序中经常使用的 UI 元素。模态通常显示在应用程序主窗口顶部。这样的设计通常用于方便用户执行快速操作,如批准/拒绝 Web3.0 货币钱包的交易请求。

Web3.0 货币钱包上的典型模态设计通常提供供用户检查签名等请求的必要信息,以及批准或拒绝请求的按钮。

Web3移动钱包独特钓鱼攻击手法:Modal Phishing

真实交易批准模式与网络钓鱼交易批准模式对比

在上方截图中,我们展示了 Metamask 上一个常规的交易审批模态窗口是如何出现的。

当一个新的交易请求被连接的去中心化应用程序(DApp)初始化时,钱包会展示一个新的模态窗口,并要求用户进行人工确认。

如上图左侧所示,模态窗口通常包含请求者的身份,如网站地址(此例中为 localhost)、图标等。如 Metamask 这样的一些钱包也会显示有关请求的关键信息,在实例中我们看到一些 UI 元素被标记为「Confirm」,以提示用户这是一个常规的交易请求。

然而,这些用户界面元素可以被攻击者控制以进行 Modal Phishing 攻击。在右侧的截图中,我们可以看到攻击者可以更改交易细节,并将交易请求伪装成来自「Metamask」的「Security Update」请求,以诱使用户批准。

如截图所示,攻击者可以操纵多个 UI 元素。

因此我们将在本文中为大家分享两个典型案例,并确定那些可被攻击者控制的 UI 元素。

详细信息如下:

1、如果使用 Wallet Connect 协议,攻击者可以控制 DApp 信息 UI 元素(名称、图标等)。

2、攻击者可以控制某些钱包应用中的智能合约信息 UI 元素。

Web3移动钱包独特钓鱼攻击手法:Modal Phishing

攻击者控制的 Modal 和相关的信息源(DApp 信息和方法名称)示例

示例1:通过 Wallet Connect 进行 DApp 钓鱼攻击

Wallet Connect 协议是一个广受欢迎的开源协议,用于通过二维码或深度链接将用户的钱包与 DApp 连接。用户可以通过 Wallet Connect 协议将他们的钱包与 DApp 连接起来,然后与该协议进行进行交易或转账。

在 Web3.0 货币钱包和 DApp 之间的配对过程中,我们注意到 Web3.0 货币钱包会展示一个模态窗口,显示传入配对请求的元信息——包括 DApp 的名称,网站地址,图标和描述。Web3.0 钱包展示的这些信息和方式根据 DApp 名称、图标和网站地址不同而变化,以供用户查看。

但是这些信息是 DApp 提供的,钱包并不验证其所提供信息是否合法真实。比如在网络钓鱼攻击中,某雷碧可以假称为某雪碧(均为 DApp),而后在用户发起交易请求之前诱骗用户与其连接。

小伙伴们可以复制链接【https://www.youtube.com/watch?v=x6muJmDBC3o】到浏览器查看 CertiK 为此做的一个小测试。

在该视频中,CertiK 展示了攻击者是如何「欺瞒」Uniswap DApp 的——攻击者声称自己是 Uniswap DApp,并连接 Metamask 钱包,以此欺骗用户批准传入的交易。

在配对过程中,钱包内显示的模态窗口呈现了合规 Uniswap DApp 的名称、网站网址和网站图标。

由于网址中使用了 https 方案,所以还显示了一个挂锁图标,这样显得模态窗口更为逼真和合法了。在配对过程中,只要受害者想在假 Uniswap 网站上进行交易操作,攻击者就可以替换交易请求参数(如目的地地址和交易金额)来窃取受害者的资金。

请注意,虽然不同的钱包上的模态设计不同,但攻击者是始终可以控制元信息的。

下图展示了当我们将 ZenGo 和 1Inch 钱包连接到钓鱼网站的 DApp 时,配对批准模式的样子。

Web3移动钱包独特钓鱼攻击手法:Modal Phishing

Modal Phishing:连接到 Zengo 和 1Inch 钱包的虚假 DApp

现在我们知道了配对和交易模态窗口可以被攻击者操纵,这样的攻击可以被用来让用户相信交易请求来自合法的 DApp。

如下方截图所示,我们创建了一个自称是「Metamask」的虚假 DApp,并启动了一个钓鱼智能合约。攻击者可以在交易批准模态中冒充 Metamask 或 Uniswap 的 DApp。

Web3移动钱包独特钓鱼攻击手法:Modal Phishing

如上例所示,被大规模使用的 Wallet Connect 协议并未验证配对的 DApp 信息的合法性。被操纵的元信息被钱包应用程序进一步使用并呈现给用户,这可以被用来进行 Modal Phishing。作为一个潜在的解决方案,Wallet Connect 协议可以提前验证 DApp 信息的有效性和合法性。Wallet Connect 的开发人员已经承认了知晓这个问题,并正在研究相关解决方案。

示例 2:通过 MetaMask 进行智能合约信息网络钓鱼

你可能已经注意到,在 Metamask 批准模态的图标或网站名称下,有另一个视图,显示了一个不固定的字符串例如「Confirm」或「Unknown Method」。这个 UI 元素是由 Metamask 设计的,用于识别相应的交易类型。

在呈现交易批准模态时,Metamask 会读取智能合约的签名字节,并使用链上方法注册表查询相应的方法名称,如以下代码所示。然而,这也会在模态上创建另一个可以被攻击者控制的 UI 元素。

Web3移动钱包独特钓鱼攻击手法:Modal Phishing

 MetaMask 源码通过签名字节读取智能合约的函数名称

Web3移动钱包独特钓鱼攻击手法:Modal Phishing

 MetaMask 的智能合约方法名称说明

我们可以看到 Metamask 上有一个交易请求模态,其被标记为「Security Update」。攻击者建立了一个钓鱼智能合约,其有一个 SecurityUpdate 具备支付函数功能,并允许受害者将资金转入该智能合约。

攻击者还使用 SignatureReg 将方法签名注册为人类可读的字符串「SecurityUpdate」中。如前所述,当 Metamask 解析这个钓鱼智能合约时,它使用函数签名字节查询相应的函数方法,并在批准模态中呈现给用户。

从这个智能合约的交易可以看出,这个特定的钓鱼智能合约已经运行了 200 多天。

Web3移动钱包独特钓鱼攻击手法:Modal Phishing

结合这些可控的 UI 元素,攻击者可以创建一个非常有说服力的交易请求,该请求显示为来自「Metamask」的「SecurityUpdate」请求,寻求用户的批准。

Web3移动钱包独特钓鱼攻击手法:Modal Phishing

钓鱼交易批准模态

在上面的例子中,我们展示了钱包上与智能合约信息相关的 UI 元素是如何被钓鱼攻击者操纵的。

虽然我们在这里以 Metamask 为例,但其他钱包也可能存在类似的漏洞。钱包应用的开发者应该时刻注意监测那些会向用户呈现的内容,并采取预防措施过滤掉可能被用于网络钓鱼攻击的词语。

写在最后

在本文中,我们为大家展示了 Web3.0 货币钱包上不应盲目信任的常见 UI 组件——模态窗口。

模态窗口中的某些 UI 元素可以被攻击者操纵,以创造出非常「真实且有说服力」的钓鱼陷阱。因此,我们将这种新的网络钓鱼技术命名为 Modal Phishin(模态钓鱼攻击)。

这种攻击发生的根本原因是钱包应用程序没有彻底验证所呈现的 UI 元素的合法性。

例如,钱包应用程序直接信任来自 Wallet Connect SDK 的元数据,并将其呈现给了用户。Wallet Connect SDK 也并不验证传入的元数据,这在某些情况下使得呈现的元数据可以被攻击者控制。在 Metamask 中,我们可以看到类似的攻击原理也被攻击者滥用,在模态窗口中显示欺诈性的智能合约函数方法名称。

总体而言,我们认为钱包应用程序的开发者应该始终假设外部传入的数据是不可信的。开发者应该仔细选择向用户展示哪些信息,并验证这些信息的合法性。除此之外,用户也应通过对每个未知的交易请求保持怀疑的态度来守好自己安全上的「一亩三分地」。

原文链接  

文章来源于互联网:Web3移动钱包独特钓鱼攻击手法:Modal Phishing

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策井自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场

上一篇 2023年4月21日 上午9:13
下一篇 2023年4月21日 上午11:30

相关推荐

  • GameFi爆发前夜,链游「部落」竞逐进行时

    当下 Gamefi 赛道整体现状 2022 年的 GameFi 赛道,总体表现可以概括为高开低走。除在 4 月份跑赢大盘外,GameFi 市值基本保持与加密货币市场同进同退的趋势,且下跌幅度更大,进入了深熊的状态。 市场的萎靡不振,直观表现在项目的生命周期短暂以及用户的快速流失。从 2021 年奠基的「Play to Earn」模式到 2022 年破圈的「M…

    2023年6月8日
  • Binance研究院:Axelar (AXL)是增长最快的跨链网络

    多链生态已经是当前区块链发展的重要潮流。在多链生态里,用户受到应用仅支持特定区块链带来的流动性局限,开发⼈员也⾯临着开发⼯具不统⼀导致项目开发遇阻的挑战。跨链互操作性已成为这些问题的关键解决方案。 Binance 研究院近日发布《解析跨链互操作性》的报告,该报告深入分析了当前 Web3 互操作性领域的发展现状,其中将 Axelar (AXL) 定位为发展最快…

    2024年2月2日
  • 年仅22岁,他如何在加密市场赚到1000万美元?

    作者:Vida 编译:深潮 TechFlow 一名 22 岁的 KOL Vida 在推特上发表长推,详细描述了他在加密市场赚到 1000 万美金的故事。 财富上的成功绝非偶然。坚持、聪明、执行力和紧跟热点,我们可以从 Vida 财富积累的历程中,获得不少启示。 22 岁拥有 1000 万美元净资产感觉如何?这是关于我自己的故事。 首先要说的是,我是如何积累财…

    2023年9月6日
  • 开盘涨幅近5倍,星爷的Nobody系列能打破艺人NFT的「归零诅咒」么?

    2 月 1 日,因周星驰参与而备受社区关注的 NFT 项目 Nobody NFT,以 0.19527 ETH 的初始发行价开启铸造后,48 小时间接收了超 3192 枚 ETH,打款总额超 172%。在铸造截止、NFT 发放完毕后,2 月 5 日 Nobody NFT 地板价已突破 0.9 ETH,涨幅为 4.8 倍,交易量已达 3287.16 ETH。 据…

    2024年2月5日
  • Fantom的池鱼之祸:漏洞多大?能否自救?

    《Fantom 的池鱼之祸:漏洞多大?能否自救?》 来源:星球日报 受 Multichain 事件影响,Fantom 也陷入了危险境地。 由于 Fantom 采用了 Multichain 作为生态的主要跨链桥,随着 Multichain 资金出现漏洞(7 月 7 日流出 1.26 亿美元,其中约 1.18 亿美元资产从 Multichain Fantom 桥…

    2023年7月17日
返回顶部