Permit:一个平平无奇的签名,如何骗走你的资产?

OneKey 中文热度: 10399

近期发生多起签名被盗导致资产损失的事件,主要是因为黑客利用Permit/Permit2技术伪装网站或工具盗取资产。为防止钓鱼行为,用户需识别伪装网站和按钮,避免盲目签名。Permit/Permit2签名可直接授权合约操作用户钱包,但也带来新的钓鱼风险。预防方法包括不盲签、干湿分离、检查授权,如中招可寻求专业安全团队帮助。OneKey始终将用户资产安全置于首位,推荐阅读Beosin的文章。

摘要由 Mars AI 生成
本摘要由 Mars AI 模型生成,其生成内容的准确性、完整性还处于迭代更新阶段。

原文作者:OneKey 中文

原文来源:twitter

注:本文来自@OneKeyCN 推特,火星财经整理如下:

自测一下,你是不是还认为:只要不是发起交易,我签个名「连接登陆」网站,就不会丢失资产?

如果你点头了,那可能你的安全意识停留在了 21 年前。


从 Scam Sniffer 公布的 24 年 3 月钓鱼报告*来看,90% 的被钓鱼资产为 ERC-20 代币。而这其中主要的钓鱼方式就是 Permit / Permit2 钓鱼签名。


仅仅是今年 3 月中旬,就有 4 笔价值平均资产约 $2M 的被盗交易,其中 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 创始人余弦分享的这个案例(https://x.com/evilcos/status/1771338665052287307),某用户在质押期间被签名钓鱼了相关代币的授权,而自己一无所知(也没有注意检查),黑客在其提出代币到自己钱包的时候,立刻盗走了资产,损失惨重。


从伪装手段上看,似乎钓鱼也变得更简单了一些。他们完全可以做一个「空投检查」网站,让你「连接钱包」查看空投。或者是,做一个工具网站让你登陆,以满足你在某些热点事件/项目中的需求。花样无穷无尽。而使用过程中,你很可能就被诱导做了 Permit / Permit2 类型的签名。


展望未来,随着以太坊推进账户抽象(EIP-3074 正式纳入下次 Pectra 硬分叉升级),你甚至还可以直接授权整个地址控制权限给一个合约,让合约地址直接操作用户的钱包地址。这也一样会在便利的同时引入新的钓鱼风险。


当然,这是后话了。


如何这种类型的钓鱼预防?有后悔药吗?


关于 Permit / Permit2 钓鱼的预防方法,已经有无数的推文、文章写过。在这里我们也是不厌其烦地再次总结——这很值得。


1、不要盲签


就和现实世界里的有法律效力的合同一样,没有人会随意给出自己的签名。


识别伪装的钓鱼网站属于是加密安全的基操了。而陌生土狗网站的「登陆请求」也一样要小心,黑客会想尽办法伪装按钮的意图,诱骗你签名。


大家常用的小狐狸是可以识别出 Permit/ Permit2 签名的,如果你交互的 dAPP 弹出了这个类型的签名,那最好再三确认你是否要授权相关的代币。如果只是普通的签署消息,是不可能弹出特别类型的签名的。


除了 Permit 类之外,还有 increaseAllowance、多 dApp 组合操作甚至是 0x 开头的完全无可读性的各种签名,都有可能危害到你的资产安全。


总之,如果不清楚弹出来的签名的内容和后果,一定要慎之又慎,尤其是钱包内的资产比较多的情况。


2、干湿分离


常在河边走,哪有不湿鞋。


喜欢在小网站「无视风险警告」打土狗的你,如果实在要经常发生「高危行为」,那就做好资产的隔离。


经常用于交互的小钱包,不存放大量资产。举个不太恰当的比喻,你外出随意逛街的时候,肯定不会把家当带在身上,钱包里只会放一些小钱。


并且每隔一段时间,就换整理资产、换新钱包,以及取消授权和签名,尽可能地降低自己的风险敞口。


对于存放大量资产的钱包,就不要随意「连接」网站。或者就干脆放在硬件钱包中冷保存,需要地时候专门转出进行交互。这也是老生常谈的预防钓鱼的方式了。


3、检查授权


如果不是高强度使用,在第一次授权 Permit / Permit2 代币额度的时候,建议选择按需授权。也就是使用多少授权多少,而不是默认的最大(无限)额度。


已经授权了 Permit / Permit2 无限额度的,也是有后悔药可以吃。你可以在 http://Revoke.Cash 中检查自己的代币授权风险敞口——你会明确地看到某个代币授权给 Permit / Permit2 多少额度。


该工具也支持取消签名,你也可以在其中找到签名来取消(在黑客激活相关签名偷走你的资产之前)。


要注意的是,Permit 类型的签名是一种离线签名,在被使用之前,链上是没有痕迹的(黑客通常会在服务器上储存这些偷来的签名)。


定期使用工具检查授权与签名是个好习惯。


结语


如果你不幸中招了,最好及时寻求专业安全团队如 SlowMist @SlowMist_Team 的帮助,及时转移资产和亡羊补牢,把损失最小化。甚至是使用一些技术手段抢救资产。


值得注意的是,这些签名钓鱼已经趋向于专业化、产业化,分工分赃明确。如果资产已经被专业的 Drainer 黑客团队转移并洗钱,很大的概率是拿不回来的!所以还得是防患于未然,不让他们有任何可趁之机。


最后,OneKey 始终将用户资产安全置于首位,关注加密安全动态并分享输出。欢迎了解我们的硬件、软件钱包产品,并关注我们的推特。

别忘了点赞收藏,分享给那位喜欢「无视风险继续访问」的朋友


——

附:

Scam Sniffer @realScamSniffer 的 24 年 3 月钓鱼报告(https://x.com/realScamSniffer/status/1774963876968436156

如果你确实想了解 Permit 相关的「课本知识」,推荐扩展阅读这篇来自 Beosin 的文章(https://web3caff.com/zh/archives/63069)。

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。