钱包签名钓鱼诈骗是什么?为什么签名币就被转走?如何防范?

2024 第一季加密货币诈骗总计损失超过7 亿7 千万美金,其中网络钓鱼造成了8600 美金损失,相较2023 同期增加将近六成。

黑客部分造成的损失依然是最大宗,损失也增加最多,黑客攻击比较多是针对项目方针针对合约,对一般使用者而言,更常遭遇到的是网络钓鱼攻击。

近期开始频繁出现的一种钓鱼攻击方式:钱包签名钓鱼,签个名钱包的钱就不见了!这是为什么?要如何防范?

新兴的加密货币钓鱼手法– 钱包签名诈骗

签名不是授权,签名并不上链,没有链上操作,不需要支付gas;授权是链上操作,需要支付gas。

例如钱包连线OpenSea 时需要签名,签名表示接受OpenSea 的使用条款与隐私政策,还有一段说明告知这个签名请求不会上链,不需要花费gas,使用上跟进入某些web 2 网站时按下我同意使用条款很类似。

也因为签名是链下操作,使用时通常会比较降低戒心,不像授权时会检查再检查,被骇客抓到这个心理上的小漏洞,近期开始愈来愈常出现钱包签名钓鱼攻击。尽管只是签名,并没有授权,但钱包中的币依然被转走了。 

如何利用钱包签名诈骗?为什么签名币就被转走?

先看一下正常情况:

签名基本上只在使用者跟项目之间,没上链,就像我签个便条纸给你,或在你的合约上打个勾,是链下操作,第三方看不到,最常用来登录。

授权则是链上操作,我跟你签约后把这合约公开上网,所有人都看的到,是链上操作要支付gas,大家都看的到,常用在DeFi 交易,交易前必须先授权对方动用钱包中的币。

授权钓鱼- 授权给钓鱼网站,对方直接转走币

这很好理解,我以为它是官方网站,但其实是钓鱼网站,授权后对方有权动用我的币,就被转走了。

签名钓鱼- 签名给钓鱼网站,对方拿这个签名上链授权

简单说就像这样,对方拿跟我们签好的便条纸,跑去银行说东东授权我来领走他的钱,银行验证签名没错就把钱让他领走。

差别在于平常是我跑去银行办理授权,我支付gas 把授权上链;现在是对方跑去银行办理授权,对方支付gas 把授权上链。

为什么签名能授权对方动用我的币?这是一种特殊签名格式称为Permit。

Permit 签名函数- 授权机制的链下签名版本

因为每次交易都要授权、要支付gas、要等链上确认交易很麻烦,所以在某次升级后添加了这个函数功能,初衷是为了改善使用者体验,在签名中添加某些permit 函数,让智能合约读这些函数,就能使用链下签名达成同等于链上授权的效果。

Permit 函数通常包含以下几个部分:

  • Owner 授权方,我们的地址

  • Sender 被授权方,对方的地址

  • Value 授权的代币与数量

  • Deadline 授权期限

但毕竟是新的函数,有些旧的币无法使用,为了更推广这个能改善使用体验的函数,Uniswap 推出了Permit 2 合约,让Permit 的函数功能能适用到更多的币种上,基本原理相同。

简单总结:

因为目前的签名也能有同等于授权的效果,过往授权钓鱼的攻击事件已经扩展到签名钓鱼,就算只是签名也可能让币被转走。

钱包签名钓鱼防范手法

关键三招:

  • 多方比对正确网站才使用,降低点到钓鱼网站的机率

  • 提高警戒,签名前看清楚内容,并搭配合约可读性工具

  • 定期检视,使用工具取消有疑虑的签名

签名钓鱼手法跟授权钓鱼手法很像,只是把授权改成签名,预防方式也差不多。

三资讯网站帮你找到正确官网

避免钓鱼网站的最根本,就是不要点到钓鱼网站。

初次跟某网站/ DApp 互动时,一定要多方比对,主要的加密货币资讯网站如Coinmarketcap、CoinGecko、DeFiLlama 等都会提供项目方网站连结,第一次的话都要比对过,确认是正确网站后务必加入我的最爱,未来都从我的最爱直接前往,不要再透过google 搜寻。

看到某些推文或新闻提到有活动,也从我的最爱连过去参与,不要直接点留言的连结,可能是钓鱼帐号发布的钓鱼连结。

  1. 找寻官方网站可以透过twitter 确认

  2. 确认twitter 是否正确,可以透过查看「共同追踪人」

Renzo 的官方帐号

假的Renzo 官方帐号

这一类型高热度的帐户都会有不少仿冒者充斥在相关的帐户推文(如eigenlayer、altlayer)底下留言,通常伴随着恶意钓鱼连结等待迷途羔羊上钩,如果你不注意,一分神就会成为受害者。

签名前看清楚签名内容,也可搭配合约可读性工具

如文章前段所说,Permit 签名包含以下几个函数:

  • Owner 授权方,我们的地址

  • Sender 被授权方,对方的地址

  • Value 授权的代币与数量

  • Deadline 授权期限

签名时看到这几个出现就要提高警戒,知道自己正在进行等同于授权的操作。

也能搭配合约可读性工具,会在签名、与合约互动时跳出视窗,显示更完整的说明和资讯,例如下图:

签名登入OpenSea,如果有安装合约可读性工具,此时会跳出视窗并显示这次互动的说明:

  • 通常用在验证地址并登入DApp

  • 这种签名无法授权或转移钱包中资产

重要:
合约可读性工具支援的区块链还很有限,以目前区块链数量的增长速度,我们会在愈来愈多不同链上操作,最佳的方式是训练自己每次签名都看清楚,看懂签名内容,合约可读性工具只是辅助,不要过分依赖。

定期检视授权与签名,针对有疑虑或已不使用的取消授权与签名

就算我们能确保每次都在正确网站操作,完全避开钓鱼网站,但项目方依然有可能被骇客入侵,原本安全变成危险,曾经做过的授权变成漏洞。

针对这种风险有两种预防方式:

  • 尽量避免无限授权,虽然比较麻烦但每次只授权当下要操作的额度

  • 定期检视授权与签名状况,将已不使用或有疑虑的移除取消

知名的授权检视工具Revoke 也推出取消签名的功能:

连接钱包后,可在授权/ 签名之间切换显示。

但因为签名没有上链,实际上Revoke 无法确认我们是否真的有做签名,也不知道签名内容,这边只能根据过去互动列出可能有签名的清单。

取消签名要花费gas 上链,概念上就是上网公告我跟某某人签的小便条纸无效了。

Revoke 也推出浏览器扩充功能,类似前面提到的合约可读性工具,会在进行如签名或授权操作时跳出说明和警告,建议新手安装使用。

签名钓鱼的风险范围,它做不到哪些事?

签名钓鱼虽然看似很可怕,但依然有范围,了解它,不需过度恐慌。

  • 签名钓鱼无法盗走私钥助记词

  • 一次签名钓鱼只能使用一次

  • 只针对该帐户该链该币种

概念上跟授权非常接近,它骗走的是授权,授权它动用钱包中的某种币多少额度,并不会因此外流私钥助记词,不会因此整个钱包上下所有帐户都被盗光。

跟授权一样,只针对该帐号、那条链、那个币种,其他帐号不影响,其他链不影响,其他币也不影响。

被钓鱼一次签名,对方只能用一次,除非你误签很多次,不然对方没办法连续转走资产。

也就是说只要有做好资产分散,或大多数币都在质押、借贷、流动性挖矿等合约里,帐上活动余额不多的话,签名钓鱼能造成的损失相对有限。

小结– 找alpha 、赚钱的前提是「保护好自己的加密资产」

市场里大家都在找下一个alpha,找百倍币,但螳螂捕蝉黄雀在后,随着市场愈来愈活络,市场资金越多,骇客也会更活跃,各种攻击事件只会更多。

如果无法保护好自己的加密资产,辛苦找alpha 到头来其实都只是在帮骇客打工,资产安全是加密货币投资第一优先,以损失程度来排重要性:

  1. 不要外流(或遗失) 私钥助记词,不要外流交易所帐号密码,以纸本妥善、硬体钱包妥善储存

  2. 避开不安全的项目,交互新项目时常开新钱包以隔离风险

  3. 避开钓鱼网站,避免授权钓鱼、签名钓鱼。

本文链接地址:https://www.wwsww.cn/qianbao/25301.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。