Bitget App
Trade smarter
行情交易合约跟单策略理财Web3

OneKeyCN:一个 Permit 签名如何骗走用户资产?

吴说2024/04/21 08:04
作者:吴说
作者 | OneKeyCN
 
自测一下,你是不是还认为:只要不是发起交易,我签个名「连接登陆」网站,就不会丢失资产?
 
如果你点头了,那可能你的安全意识停留在了 21 年前。
 
从 Scam Sniffer 公布的 24 年 3 月钓鱼报告来看,90% 的被钓鱼资产为 ERC-20 代币。而这其中主要的钓鱼方式就是 Permit / Permit2 钓鱼签名。
 
仅仅是今年 3 月中旬,就有 4 笔价值平均资产约 2 百万美元的被盗交易,其中 3 笔都是被 Permit 钓鱼签名盗走的 Pendle PT 本金代币。
 
从受害者的角度,这简直就是一部恐怖片——某天突然发现资产被转走,检查了一圈以为是私钥被盗了,最后才发现是曾经一个不经意的离线签名,无可奈何。
 
而这一切,本可以被避免。
 
一句话说明白 Permit / Permit2
 
为了节约时间,OneKey 在这里不会讲太多 EIP-2612 引入 Permit 或者 Uniswap 推出 Permit2 的加密「课本知识」。
 
你只需要意识到:时代变了,「浓眉大眼」的签名也不简单。
 
你可以直接粗暴理解为 —— 现在不少的 ERC-20 代币授权将通过一个「中介」来管理。
 
在以前,你的代币额度,是一个个授权(Approve)给每个 dApp 合约的。而每一次授权,都需要花费 Gas。
 
而现在,通过 Permit / Permit2 技术(已经有相当数量的 dApp 采用),你只需要把代币授权给 Permit / Permit2 这个「中介」。
 
集成了这个技术的 dApp 都可以请求用这个授权额度——只需要简单签个名就能授权给它们(甚至是批量的),不需要一次又一次花费 Gas 授权。
 
一把双刃剑
 
这个类型的签名升级,虽然对于跨应用操作带来了便利并节约成本,有各式各样的好处。但是也留下了一些隐患。
 
其危险之处就在于,上一轮牛市,加密用户们已经养成了「登入 Dapp 需要签名进行连接」的操作习惯,并且默认普通签名就是安全的、毫无防备之心。
 
殊不知,新版本的签名如果不注意区分(盲签),就会中招钓鱼。这对于用户安全意识和各种基础设施如钱包,提出了新的挑战。
 
对于黑客来说,那就是可以更好地「借刀杀人」了。
 
攻击者只需要部署一个钓鱼合约,向你获取一个 Permit 授权签名,即可随后提交一个盗走你资产的交易(甚至可以等过几天你忘记了这件事再提交)。并且, Permit2 还可以让黑客批量获取你的全部已授权代币的权限。
 
例如最近 SlowMist 创始人余弦分享的这个 案例 ,某用户在质押期间被签名钓鱼了相关代币的授权,而自己一无所知(也没有注意检查),黑客在其提出代币到自己钱包的时候,立刻盗走了资产,损失惨重。
 
从伪装手段上看,似乎钓鱼也变得更简单了一些。他们完全可以做一个「空投检查」网站,让你「连接钱包」查看空投。或者是,做一个工具网站让你登陆,以满足你在某些热点事件/项目中的需求。花样无穷无尽。而使用过程中,你很可能就被诱导做了 Permit / Permit2 类型的签名。
 
展望未来,随着以太坊推进账户抽象(EIP-3074 正式纳入下次 Pectra 硬分叉升级),你甚至还可以直接授权整个地址控制权限给一个合约,让合约地址直接操作用户的钱包地址。这也一样会在便利的同时引入新的钓鱼风险。
 
当然,这是后话了。
 
如何这种类型的钓鱼预防?有后悔药吗?
 
关于 Permit / Permit2 钓鱼的预防方法,已经有无数的推文、文章写过。在这里我们也是不厌其烦地再次总结——这很值得。
 
1、不要盲签
 
就和现实世界里的有法律效力的合同一样,没有人会随意给出自己的签名。
 
识别伪装的钓鱼网站属于是加密安全的基操了。而陌生土狗网站的「登陆请求」也一样要小心,黑客会想尽办法伪装按钮的意图,诱骗你签名。
 
大家常用的小狐狸是可以识别出 Permit/ Permit2 签名的,如果你交互的 dAPP 弹出了这个类型的签名,那最好再三确认你是否要授权相关的代币。如果只是普通的签署消息,是不可能弹出特别类型的签名的。
 
除了 Permit 类之外,还有 increaseAllowance、多 dApp 组合操作甚至是 0x 开头的完全无可读性的各种签名,都有可能危害到你的资产安全。
 
总之,如果不清楚弹出来的签名的内容和后果,一定要慎之又慎,尤其是钱包内的资产比较多的情况。
 
2、干湿分离
 
常在河边走,哪有不湿鞋。
 
喜欢在小网站「无视风险警告」打土狗的你,如果实在要经常发生「高危行为」,那就做好资产的隔离。
 
经常用于交互的小钱包,不存放大量资产。举个不太恰当的比喻,你外出随意逛街的时候,肯定不会把家当带在身上,钱包里只会放一些小钱。
 
并且每隔一段时间,就换整理资产、换新钱包,以及取消授权和签名,尽可能地降低自己的风险敞口。
 
对于存放大量资产的钱包,就不要随意「连接」网站。或者就干脆放在硬件钱包中冷保存,需要地时候专门转出进行交互。这也是老生常谈的预防钓鱼的方式了。
 
3、检查授权
 
如果不是高强度使用,在第一次授权 Permit / Permit2 代币额度的时候,建议选择按需授权。也就是使用多少授权多少,而不是默认的最大(无限)额度。
 
已经授权了 Permit / Permit2 无限额度的,也是有后悔药可以吃。你可以在 Revoke Cash 中检查自己的代币授权风险敞口——你会明确地看到某个代币授权给 Permit / Permit2 多少额度。
 
该工具也支持取消签名,你也可以在其中找到签名来取消(在黑客激活相关签名偷走你的资产之前)。
 
要注意的是,Permit 类型的签名是一种离线签名,在被使用之前,链上是没有痕迹的(黑客通常会在服务器上储存这些偷来的签名)。
 
定期使用工具检查授权与签名是个好习惯。
 
结语
 
如果你不幸中招了,最好及时寻求专业安全团队如 SlowMist 的帮助,及时转移资产和亡羊补牢,把损失最小化。甚至是使用一些技术手段抢救资产。
 
值得注意的是,这些签名钓鱼已经趋向于专业化、产业化,分工分赃明确。如果资产已经被专业的 Drainer 黑客团队转移并洗钱,很大的概率是拿不回来的!所以还得是防患于未然,不让他们有任何可趁之机。


阅读原文
0

免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。

PoolX:质押赚新币
CEC、QTLX、GDV等热门新币火热进行中!
立即质押!

你也可能喜欢

Web3清算层Everclear正式启动主网,并推出全新代币机制

Everclear通过协调全球链间的流动性结算,解决模块化区块链的碎片化问题。

BlockBeats2024/09/18 13:46

DeBox (BOX):彻底改变数字身份的 Web3 社交平台

什么是DeBox (BOX)? DeBox (BOX) 是一个为 Web3 时代设计的先进社交平台,利用了去中心化身份 (DID) 技术。它建立在以太坊生态系统中,并融合了 Layer2 和 Cosmos 跨区块链通信 (IBC) 协议等其他技术。如果您熟悉微信,DeBox 旨在成为其 Web3 版,提供类似的体验,但具有区块链技术固有的增强安全性和隐私功能。 该平台提供一系列功能,包括一对一和群聊、DAO 管理和资产处理。它特别适合管理 KOL 粉丝群和其他可以控制访问权限和货币化的社区。 谁创立了 DeBox (BOX)? DeBox 由 Blackiron 创立,该公司于 2021 年

Bitget Academy2024/09/18 12:27

利用 Bitget 质押借贷进行战略套利:如何优化 Bitget Launchpad 投资

在这篇关于利用 Bitget 质押借贷套利系列的第一篇文章中,我们将探讨如何利用 Bitget 质押借贷 参与 Bitget Launchpad :一个可以提前参与新代币发行的平台。通过 Bitget 质押借贷借入资金,您可以最大限度地参与这些早期代币发行,并充分利用潜在的价格收益。 一文看懂 Bitget 质押借贷 Bitget 质押借贷旨在让用户在不出售所持资产的情况下获得额外资金。对于希望增加流动性和抓住新机遇的交易者来说,无论是参与代币销售、在波动市场进行交易,还是进行多元化投资,该解决方案都是理想之选。凭借 Bitget 质押借贷,用户可以保持对其资产的所有权,同时获得资金来探索其

Bitget Academy2024/09/18 08:55