mt logoMyToken
ETH Gas
EN

区块链世界的隐秘威胁:钓鱼攻击全解析

Favoritecollect
Shareshare

本文 Hash (SHA 1): 418ea6548326a5f3b9496aa7912935fec8ca925c

编号: 链源科技 PandaLYSecurity Knowledge No.031

什么是区块链钓鱼攻击?

大家可能对“钓鱼”这个词不陌生,最早它指的是那些通过假冒网站或邮件,诱导人们点击链接然后骗取个人信息的网络诈骗手段。现在,随着区块链和加密货币的流行,这种“钓鱼”也演变到了区块链世界。

区块链钓鱼攻击其实本质和传统钓鱼差不多,都是攻击者假装成你信任的对象,比如某个你常用的钱包网站、交易平台,甚至是你参与过的项目方。他们会通过伪造的链接、假冒的社交媒体账号,或者看似正规但实则有漏洞的智能合约,引诱你输入私钥、助记词,或者签署一个恶意交易。结果呢?你的加密资产就这么不知不觉被转走了。

举个例子,想象一下你在某个社交平台上看到一个“官方空投”活动,里面有个链接,看起来像你熟悉的钱包网站。你点进去输入助记词,然后发现,里面的钱全都没了。这就是一个典型的区块链钓鱼攻击场景。

钓鱼攻击特别狡猾,因为它们专门瞄准那些对区块链技术不是很熟悉、对防护措施不够了解的用户。很多人都是因为一时疏忽,或贪图小便宜,中了攻击者的圈套。所以,我们必须对这些攻击方式保持警惕,时刻防范。

那如何识别钓鱼攻击呢?这就得从他的原理讲起了。

钓鱼攻击的工作原理

钓鱼攻击主要有四种方式,分别为虚假空投、诱导签名、后门工具和上供助记词。

虚假空投:

攻击者利用地址生成器生成和用户钱包地址非常相似的地址(一般是前几位或后几位相同),然后往这些地址里多次转入小额的资金(如 0.001 USDT),或是攻击者自己部署的假 USDT。这让用户误以为这些地址是之前的正常收款地址。在用户进行新的转账时,可能会复制历史交易记录,误将资金转入攻击者的地址,导致资产丢失。

诱导 签名:

攻击者通过创建伪造的网页,如知名项目的仿冒网站、虚假的空投链接或购物平台,诱导用户连接钱包并执行签名操作,进而窃取资产。

常见的诱导签名攻击包括以下几种:

  • 直接转账

攻击者将签名操作伪装成领取空投、钱包连接等功能,实际操作是把用户的资产转到攻击者的地址。

  • 授权代币转移

用户在钓鱼网站上签署交易,如 ERC 20 的 approve 调用或 NFT 的 setApproveForAll,攻击者得到授权后可以随意转移用户的资产。

  • 空白地址授权钓鱼

空白地址授权钓鱼是授权钓鱼的升级版。用户点击钓鱼链接进行授权时(通常也是 approve 或 increaseAllowance),spender 的地址是没有任何链上记录的空地址,如果受害者签署授权,空地址就会被通过 create 2 方法部署一个合约,将受害者的资金转走。采用空白地址授权可以避免授权地址被检测工具标记的情况,从而绕过一些钱包的安全检查。

  • 零元购 NFT 钓鱼

欺骗用户签名 NFT 的销售订单,NFT 是由用户持有的,一旦用户签名了此订单,攻击者就可以直接通过 OpenSea 购买用户的 NFT,但是购买的价格由攻击者决定,也就是说攻击者不花费任何资金就能“买”走用户的 NFT。

  • eth_sign 空白支票(盲签)

eth_sign 也叫盲签,使用 eth_sign 签署任意哈希值,等于给攻击者开了一张空白支票,因此攻击者可以构造任意自定义的交易窃取用户资产。

  • Permit 钓鱼

permit 是 erc 20 协议的一个扩展功能,它允许用户通过签名消息完成授权操作,并将签名结果发送给另外一个钱包,这可以完成资产转移操作。通过诱导用户签署 ERC 20 的 permit 授权,攻击者可以获得转移用户代币的权限。

  • personal_sign 签名

personal_sign 通常用于签名可读的内容,但也可以将签名的内容处理成哈希值。

例如: 0x62dc3e93b0f40fd8ee6bf3b9b1f15264040c3b1782a24a345b7cb93c9dafb7d8消息,是目标明文被 keccak 256 哈希后的结果。被钓鱼的用户,看不懂签名的内容,如果进行签名的话,就会被钓鱼攻击。

恶意多重签名:

多重签名的本意为为了使得钱包更安全,允许多个用户共同管理和控制同一个钱包的使用权限。

以 TRON 为例,TRON 多重签名分为了 Owner(最高权限,可以管理权限和进行一切操作),Witness(参与投票管理)和 Active(用于日常操作,如转账或调用合约),新建账户时,账户地址默认拥有 Owner 权限。

当攻击者通过钓鱼网页/应用获取到用户私钥后,攻击者可以将 Owner/Active 转移或授权给自己的地址,注意转移为移除用户的 Owner 权限而授权则是不移除用户的权限,但不论如何,用户便失去了钱包资产转出的权利。

由于用户仍能转入资金,攻击者可能会“放长线钓大鱼”,不会第一时间转走受害者资产,直到受害者发现钱包被恶意多签,不再转入资金后,攻击者再转走资金。

后门工具:

  • 伪装成科学家工具

“科学家工具”通常是指区块链生态中的一些高级用户(即所谓的“科学家”)使用的交易辅助工具,比如用于快速批量铸造 NFT,批量发送代币或是快速执行某些复杂的链上操作等。这类工具深受一级市场用户欢迎,因为它们可以极大提高操作效率。

然而,攻击者会伪装成这类工具的开发者,发布看似合法的工具,实际上在工具内部植入了后门程序。这些后门程序可能在用户使用工具时偷偷获取私钥或助记词,又或是直接操控用户钱包发送代币至攻击者指定钱包,攻击者随后就可以通过这些敏感信息控制用户的钱包。

  • 虚假的浏览器插件

许多用户喜欢使用浏览器插件(如 MetaMask,Token Pocket)来方便地进行区块链交易。攻击者可能会通过钓鱼网站诱导用户安装假冒的插件。这些插件一旦安装,会偷偷记录用户的交易行为,窃取私钥,进行多重签名。

  • 交易加速器或优化工具

这类工具通常声称能帮助用户加速交易确认或优化链上操作,用户往往需要输入私钥或签名来使用这些功能。攻击者通过诱导用户在使用过程中输入关键信息,将其偷偷记录下来。

上供私钥/助记词:

攻击者会创建一些伪造的交易网站或 Telegram 小程序(如伪造的 Pepebot),要求用户提供私钥或助记词来绑定钱包,诱骗用户进行“土狗”交易或其他操作。实际上,攻击者通过这些手段窃取用户的私钥,然后转走钱包里的所有资产。

典型案例分析

假空投骗局:

项目 Wormhole 发布空投公告时,许多推特模仿官方账户发布假空投链接。图 1 项目方名称为@studioFMmilano· 1 h,图 2 假冒项目方为@studioFMmilano,而真正的项目方为@wormhole。

区块链世界的隐秘威胁:钓鱼攻击全解析

诱导钱包签名:

冒仿网站签名:

以 moonbirds-exclusive.com/钓鱼网站为例,该网站为模仿 www.proof.xyz/moonbirds 的冒仿网站,当用户连接钱包并点击 Claim 后,会弹出一个签名申请框。此时,Metamask 会显示一个红色警告,但由于弹窗上并未明确显示签名内容,用户很难判断这是否是一个陷阱。一旦用户进行了签名,骗子就可以使用用户的私钥签署任何交易,包括转移资产。

Permit 签名:

某用户在质押期间在钓鱼网站进行了 Permit 签名,用户第一时间去检查了也没发现异常授权。钓鱼却在之后上链这笔 permit 离线授权签名,给目标地址的目标资产开了个授权风险敞口,但目标用户并没法知晓,直到目标用户提出相关再质押的 ETH 资产,钓鱼立即转走,因此该用户丢失了 212 万美金。

区块链世界的隐秘威胁:钓鱼攻击全解析

图 3.账户被 permit 离线授权签名

恶意多重签名:

恶意多重签名的钓鱼方法有很多,最常见的为“攻击者故意泄漏私钥”或“虚假插件/钱包”

攻击者故意泄漏私钥:

攻击者在社交媒体或通过其他途径泄露私钥,通过各类话术诱骗受害者往钱包内转入加密资产,直到受害者发现资产无法转出后,攻击者再将钱包资产进行转移。

虚假 TokenPocket 钱包:

受害者在搜索引擎上搜索“TP 钱包”并非官方网站下载“TP 钱包”。而实际下载的并非官方钱包,而为攻击者在互联网投放的虚假钱包,用户绑定助记词后,受害者的钱包就会自动被多签,从而无法将资产转移。

后门工具:

受害者在推特发现了一个自称专做 WEB-3 “撸毛”及各类脚本开发的博主,受害者下载并运行了该博主免费赠送的脚本,结果发现钱包被洗劫一空,失去了价值 700 USDT 的代币。

区块链世界的隐秘威胁:钓鱼攻击全解析

如何预防区块链钓鱼攻击

  • 核实链接和网址

在访问任何与加密货币相关的网站时,务必核实链接和网址的真实性。钓鱼攻击者常常会创建与官方网站极为相似的假冒网站,仅修改几个字符,一但不小心就可能中招。因此,防范的第一步就是:

1.避免点击陌生链接:收到的任何陌生邮件、社交媒体消息或不明来历的链接都需要格外小心,尤其是那些声称来自“官方”渠道的推广信息、空投活动或账户问题提示。

2.使用书签保存常用的官方网站:访问加密货币交易所或钱包服务时,建议直接使用浏览器中保存的书签,而不是通过搜索引擎查询,以防误入钓鱼网站。

  • 多重身份验证(2FA)

多重身份验证(2FA)是增加账户安全的重要措施之一。在账户登录时,除了密码外,还需要额外的验证步骤,通常是通过手机短信、身份验证器应用程序生成的动态验证码,来确认身份。

1.开启2FA:务必为所有支持2FA的加密货币账户开启这一功能,包括交易所账户、钱包应用等。即便攻击者获取了你的密码,没有2FA的验证码,他们仍然无法登录账户。

2.使用身份验证器应用:尽量选择使用 Google Authenticator、Authy 等身份验证器应用,而非短信验证,因为短信可能会遭遇 SIM 卡劫持攻击。

3.定期更新2FA设备:确保你绑定的手机或验证设备是最新的。如果手机丢失或更换,及时更新2FA设备,避免安全隐患。

  • 安全意识培养

区块链钓鱼攻击的手法不断演变,因此必须持续学习和保持安全意识。

1.关注安全社区和新闻:定期关注区块链和加密货币安全的相关新闻、博客和社区论坛,获取最新的安全资讯和预警,避免掉入新的钓鱼陷阱。

2.提高警惕:养成在任何敏感操作(如授权签名、交易转账)前仔细检查操作内容的习惯,不随意在陌生网站或平台上连接钱包或进行签名操作。

  • 钱包安全管理

钱包是加密货币的核心存储工具,妥善管理钱包的安全对防止钓鱼攻击起至关重要的作用。

1.不要泄露助记词或私钥:助记词和私钥是控制钱包的关键,一旦泄露,攻击者可以直接获取钱包中的资产。因此,助记词和私钥必须妥善保管,绝不能透露给任何人,也不要存储在联网设备上。

2.使用冷钱包储存大额资产:冷钱包是指未连接互联网的钱包,通常是硬件钱包,安全性较高。对于长期持有的大额资产,建议存放在冷钱包中,以防止在线攻击。

3.合理使用热钱包:热钱包是连接互联网的钱包,便于日常交易,但安全性相对较低。建议将少量的日常交易资金放在热钱包中,尽量将大部分资金存放在冷钱包里,分散风险。

4.定期备份钱包数据:确保钱包助记词、私钥或恢复密码等信息有可靠的备份。建议将备份信息存放在安全的、离线的地方,如加密的 USB 设备或实体纸张。

结语

在区块链的世界中,用户的每一步操作都可能直接影响资产安全。随着技术的发展,钓鱼攻击手法也在不断升级,因此我们必须时刻保持高度警惕,提升自我防护意识,避免掉入骗局。无论是核实链接、使用安全设备、开启多重身份验证,还是妥善管理钱包,这些细小的举措都能为我们的资产构筑起一道坚固的防线。

务必慎之又慎,莫操之过急!

链源科技是一家专注于区块链安全的公司。我们的核心工作包括区块链安全研究、链上数据分析,以及资产和合约漏洞救援,已成功为个人和机构追回多起被盗数字资产。同时,我们致力于为行业机构提供项目安全分析报告、链上溯源和技术咨询/支撑服务。

感谢各位的阅读,我们会持续专注和分享区块链安全内容。

Disclaimer: This article is copyrighted by the original author and does not represent MyToken’s views and positions. If you have any questions regarding content or copyright, please contact us.(www.mytokencap.com)contact
More exciting content is available on
X(https://x.com/MyTokencap)
or join the community to learn more:MyToken-English Telegram Group
https://t.me/mytokenGroup