乱象重生中如何睡个好觉?

区块链安全 2年前 (2022) admin
422 0 0

前言

2022年10月2日,国庆的第二天,一大早醒来就被推送到 TP 钱包的 transit swap 被黑了,金额还挺大,很多人一觉醒来发现钱包的钱都没了。真的很痛心。由此其实也引入了大家一直忽视的授权问题,希望这文章可以让大家后面有更好的安全意识,保护好自己的资产。

授权原理

根据 ERC20 标准,第三方(协议或者个人)在想转移你的代币的时候,都需要获得你的授权才可以转移代币。这就类似你开银行的支票黑别人,拿到你支票的人,其实就相当于获取了你银行账户的一定额度授权,就可以在额度范围内使用你的资金。

为了方便起见,一般在和协议交互的时候,项目方的网页都会让你设置无限授权,如下图:

乱象重生中如何睡个好觉?

无限授权虽然方便交互,并且如果你频繁使用某些协议(如 Swap 类型的协议)的时候,重复授权不仅增加操作步骤,同时也会增加操作费用。但是无限授权意味着协议可以随时转走你的全部资金,就像你的银行账户,开了一个面额无限大的支票给第三方,一旦第三方作恶或者出现安全风险,你的全部资金就有可能血本无归。

安全的授权方式

许多用户并没有意识到无限授权带来的风险,在以前刚开始的时候,各种 钱包 APP 匹配也没有跟上,用户如果要操作授权的话,需要自己生成合约调用,技术门槛很高,但是目前的话,很多主流的钱包都已经适配授权额度的更改,以 imToken 为例,用户可以通过以下的 操作来更改授权额度。

乱象重生中如何睡个好觉?

除此之外,大家常用的 metamask 也支持代币额度的更改,大家可以参考他们的官方教程(https://metamask.zendesk.com/hc/en-us/articles/6055177143579-How-to-customize-token-approvals-allowances-with-custom-spend-limit)。

在明白了授权的风险后,在授权的时候,我们应该遵循的安全实践有: 

  • 杜绝任何的无限授权 

  • 授权过程中,应该遵循需要用多少,授权多少,一般精确到小数点后2位就差不多了 

  • 定期检查自己的账号是否存在无限授权的行为,可以通过 etherscan 的 approval 检查器或者通过 revoke.cash 检查自己的授权情况,及时取消不必要的授权

总结

总体而言,无限授权还是一个较为难以察觉的 风险,由于我们无法信任授权的协议是否在未来不会存在安全问题,所以有限授权才是有效保护我们自己的唯一方式,祝大家都可以睡个好觉 😀


原文始发于微信公众号(蛋蛋的区块链笔记):乱象重生中如何睡个好觉?

版权声明:admin 发表于 2022年10月2日 下午2:47。
转载请注明:乱象重生中如何睡个好觉? | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...