了解这三个签名授权原理,有效抵御钓鱼攻击
内容提要:Web3生态中,签名钓鱼事件频发。文章由“菠菜菠菜”撰写,PANews整理,旨在科普签名钓鱼的底层逻辑,帮助用户预防受骗。钱包操作分为签名(链下、无需Gas费)和互动(链上、需Gas费)。签名钓鱼包括授权钓鱼、Permit签名钓鱼和Permit2签名钓鱼。Permit机制允许用户签名批准他人转移Token,而Permit2是Uniswap为方便用户推出的功能,需用户一次性授权额度,每次交易仅签名即可。这些机制易被黑客利用创建钓鱼网站,用户需警惕。
在 Web3 生态中,「签名钓鱼」事件层出不穷,使用者除了保持警惕外,若了解其背后的原理,将能更有效预防受骗。本文源自「菠菜菠菜」所著文章,由 PANews 整理、编译及撰稿。
明明只是签了个名,我的钱怎么没了呢?「签名钓鱼」 目前正成为了 Web3 的骇客们最喜欢的钓鱼方式,最近看余弦大佬(慢雾创办人)和各大钱包和安全公司都在不断宣传科普钓鱼签名的知识,但是每天还是有好多人被钓鱼。
菠菜认为其中一个原因就是大部分人对钱包互动的底层逻辑并不了解,并且对于不懂技术的人来说学习门槛过高,所以菠菜决定出一个图解版科普签名钓鱼的底层逻辑,并且尝试用最大白话的形式,让不懂技术的人也能看明白。
钱包的操作原理
首先我们要知道我们使用钱包一共只有两种操作:「签名」 和 「互动」。最简单、直接的理解就是:签名是发生在区块链之外的(链下),不需要花 Gas 费的;互动则是发生在区块链上面的(链上),是需要花 Gas 费的。
一般签名的使用场景是为了验证你是你,比如登入钱包,就像你如果要去 Uniswap 换 Token 的话,你需要先连结你的钱包,那么这个时候你就需要签一个名告诉网站 「我是这个钱包的拥有者」,然后你就可以使用 Uniswap 了,这个步骤对区块链不会有任何资料或者状态上的变化,所以不需要花钱。
而互动的话就是当你要真正在 Uniswap 上换 Token 的时候,你需要先花一笔钱告诉 Uniswap 的智慧合约:「我要用 100USDT 换一个菠菜币,我批准你可以挪动我的 100USDT」,这个步骤就叫做授权(approve),然后你还要再花一笔钱告诉 Uniswap 的智慧合约:「我现在要用 100USDT 换一个菠菜币了,你现在可以进行操作了」,然后你就完成了用 100USDT 换一个菠菜币的操作。
钓鱼的原理与方式
简单理解签名和互动的区别之后,我们就来介绍一下钓鱼的原理,菠菜会列举三个不同的方式:授权钓鱼、Permit 签名钓鱼和 Permit2 签名钓鱼,这三个是非常常见的钓鱼方式。
授权钓鱼
咱们先讲授权钓鱼,这是以前 Web3 最经典的钓鱼手法之一,顾名思义就是利用授权(approve)这个机制,之前 Uniswap 的例子告诉我们,授权就是告诉智慧合约 「我批准你挪动我多少 xxx 的 Token」,那么骇客就可以做一个假的钓鱼网站,有著精美的前端伪装成一个 NFT 专案,网站中间是一个漂亮的大按钮 「领取你的空投」,实际上你点了之后钱包弹出来的介面实际上是让你授权你的 Token 给骇客的地址,那么这时候如果你点了确认,那么就恭喜骇客成功完成一个 KPI 了。
但是授权钓鱼有一个问题:因为要花 Gas 费,现在很多人在涉及到花钱的操作上会有所警惕,在陌生网站点选之后稍微一看就会发现不对劲,还是比较好防范的。
Permit 签名钓鱼和 Permit2 签名钓鱼
那么接下来就来到了今天的主角:Permit 和 Permit2 签名钓鱼啦,是 Web3 资产安全领域的重灾区,为什么这么难防呢?
因为每次你要使用一个 DApp 之前一定要签名登入你的钱包,在许多人脑子里可能已经形成了一种惯性思维:「这个操作是安全的」,再加上不需要花钱和大多数人不知道每个签名背后意味著什么。
我们先来看 Permit 机制,Permit 是针对 ERC-20 标准下授权的一个扩展套件功能,像我们平常用的 USDT 就是 ERC-20,简单来说就是你可以签名批准其他人来挪动你的 Token,我们知道授权(Approve)是你花钱告诉智慧合约:「你可以挪动我 xxx 数量的 Token」,那么 Permit 就是你在一张「条子」上签了个名给某一个人,这个纸上写著:「我允许某某某可以挪动我 xxx 数量的 Token」,
然后这个人拿著这个「条子」给智慧合约并花一笔 Gas 费告诉智慧合约:「他允许我挪动他 xxx 数量的 Token」,然后你的钱就可以被其他人挪走了,在这个过程中你只是签了一个名,而背后却意味著你允许其他人去呼叫授权(Approve)并转走你的 Token,骇客可以做一个钓鱼网站,把登入钱包的按钮替换成 Permit 钓鱼,那么就可以轻轻松松把你的资产钓走啦。
那么 Permit2 又是什么呢?Permit2 其实并不是 ERC-20 的一个功能,而是 Uniswap 为了方便使用者推出的一个功能,之前的例子讲了你要在 Uniswap 上用 USDT 换菠菜币你需要先授权(Approve)一次,然后再进行兑换,这需要花两笔 Gas 费,所以 Uniswap 就想了个办法:「你一次性把额度全部授权给我好了,每次兑换你签个名我就给你处理了」,这个功能帮助 Uniswap 使用者使用的时候只需要支付一次 Gas 费即可,并且这个步骤是签名,所以 Gas 费其实不是你付的,而是 Permit2 合约代付了,但是会从你最终兑换的 Token 里扣除掉。
但是中 Permit2 钓鱼的条件是你曾经使用过 Uniswap,并且你还授权了无限额度给 Permit2 智慧合约,由于目前 Uniswap 预设的操作就是无限额度授权,所以其实满足该条件的使用者数量还是蛮大的,同样骇客只要骗你把名签了就可以把你的 Token 转走(仅限给过授权的)。
结论
总结一下,授权钓鱼的本质是你花一笔钱告诉智慧合约:「我批准你挪用我的 Token 给骇客」,签名钓鱼的本质是你签了一张允许别人去挪动你资产的「条子」给到骇客,骇客花钱告诉智慧合约:「我要挪用他的 Token 转给我」。Permit 和 Permit2 是目前钓鱼签名的重灾区,Permit 是 ERC-20 的一个授权扩展套件功能,Permit2 则是 Uniswap 推出的一个新功能。
那么理解了原理,怎么防范呢?
- 首先最最重要的就是培养你的安全意识,每一次钱包的操作都要去检查一下你在做的操作到底是什么?
- 大资金和玩链上的钱包分离,一旦被钓鱼了可以把损失降到最低。
- 学会识别 Permit 和 Permit2 的签名格式,只要你看到以下签名格式,那你就要警惕起来了:Interactive(互动网址)、Owner(授权方地址)、Spender(被授权方地址)、Value(授权数量)、Nonce(随机数)、Deadline(过期时间)
- 相关话题
-
- 13年前比特币暴跌:从17美元跌至0.01美元的黑客攻击事件
- WazirX遭2.3亿美元黑客攻击,假冒赔偿邮件猖獗
- Taleb:加密货币市场暴跌揭示其非有效对冲工具的真实面貌
- $BTC 日内交易策略:支撑有效性与周期看涨分析
- 加密市场动态:降息预期、灰度投资清单、代币发售与钓鱼事件
- 巨额钓鱼骗局连环上演:139万美元加密资产再遭盗取,与3200万美元大案关联紧密
- 最笨却有效的炒币秘诀:月线MACD金叉+60日均线策略,助你稳健盈利
- Atom稳坐钓鱼台,第三浪上涨待续,谨慎追高
- WIF支撑有效,或将迎来上涨行情
- XRP市值重回第三:跨境支付利器,技术原理详解
- DEXX遭黑客攻击,两日转走超1500ETH至Tornado Cash
- 新币频发钓鱼线走势,市场生态引担忧
- 相关资讯
-
警惕推特X平台钓鱼攻击!加密专家教你三步防范盗号
Authy 遭遇黑客攻击,慢雾安全专家提醒防范网络钓鱼
Solana钓鱼诈骗防范:攻击类型与指南
2024 上半年加密货币安全堪忧:损失高达 11.9 亿美元,网络钓鱼攻击成重灾区
微策略X账号遭黑客攻击,钓鱼链接骗取超44万美元
币安交易所回应指控:否认放任骇客钓鱼、未及时冻结攻击者资金
Pump.fun遭骇12.3万枚SOL,攻击者喊向Slerf、Saga手机用户空投8000万美元,会致Solana分叉?
Viralmind去中心化AI训练协议详解:原理、代币经济与市场前景展望
以太坊再质押(ReStaking)详解:原理、优缺点、潜在风险及项目整理
你了解 Pepe 宇宙吗? 百倍币家族 !