主页 > 苹果如何下载imtoken钱包 > 技术 | 从一起钱包被盗案例,探索 Web3 安全准则

技术 | 从一起钱包被盗案例,探索 Web3 安全准则

苹果如何下载imtoken钱包 2024-01-10 05:07:09

道路千条,安全第一:

1) 不要共享密钥 2) 保持密钥离线

3)单独开发和测试(空投和主账号隔离)

4) 不要从未知来源下载软件 5) 立即检查授权

6)授权前,确认合约的安全性

7)使用空投和福利时注意安全

8) 警惕 Discord 上的陌生人和软件

事件

2022年元旦假期的一天早上,小C准备写代码,继续测试web3js链上的合约交易。 突然发现我的测试账户(bsc链)在metamask中被清零了,前一天晚上账户里还有100USD,查看转账后发现:

钱没了,钱去哪了? ?

背景

技术出身的小C,最近正在学习区块链开发。 作为一个专业的开发者,我已经很谨慎了。 我通常在测试网络上运行。 运行之后,我就去官网部署。 却没有意识到,整个行业还处于一个比较混乱的阶段。 我瘫痪了。 方便的习惯导致损失。

火币转账到比特币钱包要多久_比特币钱包被盗_比特币被盗 平摊损失

损失是如何造成的?

2021年的最后一天比特币钱包被盗,小C偶然看到一个有趣的账户(这个账户有很多活跃交易),跟踪了自己的一些链上交易,看到了一个非常有趣的项目(年化收益率很高),并且然后一不小心连上了自己的Metamask,然后一不小心approve了,因为一般的Web3项目都是这个流程,approve然后transfer就结束了。

但是震惊的一幕出现了:点击之后,整个网站突然卡住了(其实卡顿期间小偷把钱转走了),没有任何反应,小C当时也没有收回。 我关闭了站点并去做其他事情。

大约一天后,小C回来开发时,发现账户里的钱全没了。 他去查看历史记录,发现账户里的余额已经全部转走。

审查过程

小偷是怎么把小C账户里的钱全部转走的?

现象:只要你认可,理论上你不需要私钥就可以转出所有相应的钱。 小C追根溯源,可能是钓鱼网站的审批有问题,所以追查了转账记录。

比特币钱包被盗_火币转账到比特币钱包要多久_比特币被盗 平摊损失

如图所示,可以看到首先一个合约被批准(授权),钓鱼合约被授权对账户中的BUSD进行操作,没有数量限制。

为什么是BUSD? 小C回忆说,自己进入这个钓鱼网站时,默认选择的是busd。 估计小偷在浏览了site link钱包后,已经把账户里钱最多的token筛选出来了。

然后,当小C认为这是一个高年化收益的新掉期合约,准备先行尝试时,他就按照常规流程进行审批。 approve结束后,网站直接卡死。

后来追溯,授权后大概几十秒,合约直接触发转账操作,直接将BUSD代币转走。

火币转账到比特币钱包要多久_比特币钱包被盗_比特币被盗 平摊损失

后来查了一下授权信息。

比特币被盗 平摊损失_比特币钱包被盗_火币转账到比特币钱包要多久

基本上,默认授权metamask时,它是

ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

转换成数字,我们知道的是1.157920892373162乘以10的59次方。 基本上可以理解为无限制转账,即这种授权操作让合约可以无限期的操作我账户的token。 看到这个我就觉得背后一凉,因为之前点了很多次approve,就是不去看。

然后黑客操纵一个可以控制合约方法的钱包地址,发起合约转账方法,将钱转走。 所以以后点击metamask授权一定要小心。

小C查看了一下,小偷很可能在这个账户里已经有了3万美元的token,而且还有源源不断的受害者转账。 但是没有办法面对区块链,更不可能查出黑客是谁。

有问题的链接

问题出在哪儿?

因为最近在学习区块链。 小C大致梳理了一下这个钓法的逻辑。 不可有害人之心,不可有防人之心。 如果你有兴趣,你可以了解一下:

案例一:用户间直接转账 A用户将BUSD转账给B用户

合约通常会检查以下逻辑

火币转账到比特币钱包要多久_比特币钱包被盗_比特币被盗 平摊损失

1)判断用户A的账户余额中是否有足够的钱 2)是否为用户A发起的转账

过程如下图所示

火币转账到比特币钱包要多久_比特币被盗 平摊损失_比特币钱包被盗

就是我们平时使用pancakeswap、uniswap等进行兑换时的流程

案例2:通过swap换币用户进行换币(BUSD到WBNB)流程合约判断:

1)用户A的账户余额中是否有足够的BUSD,(假设掉期合约已被授权操作账户A的BUSD代币) 2)掉期合约从账户A中取出500 BUSD放入掉期合约池(假设汇率为1:500) 3)成功后,合约转1BNB到账户A,注意第2)点和第3)点由合约控制操作token。 也就是说,合约可以绕过我们,直接对我们账户下的代币发起操作。

比特币钱包被盗_比特币被盗 平摊损失_火币转账到比特币钱包要多久

先看这张溯源图

比特币钱包被盗_比特币被盗 平摊损失_火币转账到比特币钱包要多久

对于正常的转账,转账方和合约执行方应该是同一个人,即上图中的(1)和(2)应该是由同一个人发起的。 至于我转入的交易,这两个地址不一样。 推测应该是一个可以执行钓鱼合约的钱包地址控制了合约的执行,然后将我授权的BUSD转入钓鱼合约。

查钓鱼合约,钓鱼合约是加密合约也就不足为奇了。 不过想想也不难。 学过Solidity的都知道,在定义合约的时候,多设置几个Admins或者Owners就可以了。

所以以后一定要注意项目方的背书,不要随便给不认识的项目授权! ! !

比特币钱包被盗_比特币被盗 平摊损失_火币转账到比特币钱包要多久

安全建议

因为这件事,小C搜索了一些有用的建议和方法,也看到了很多血的教训。

这里有一些方法,大家可以根据自己的需要选择。 1)不要共享密钥。 看到一个帖子说一个助记词生成多个账号。 不推荐这种账号,因为很可能一锅用完。 2)密钥离线保存,因为有很多剪贴板工具输入法会将您的剪贴板记录上传到云端。 直接复制的话,万一云泄露了,你的key就丢了。 我的建议是生成后尽快复制到笔记本中。 当然你可以复制到笔记本上,也可以参考我自己的字典加密密钥。 例如a替换为1,b替换为2,1替换为a。 这将确保即使有人看到了你的纸质密钥,也无法移动你的数字资产。 3)开发和测试分开(空投和主账号隔离)安装两个浏览器,一个可以chrome比特币钱包被盗,一个brave。 一个用来管理你的主钱包。 另一个可以参与领取空投,各种链上操作等。 4)不下载来路不明的软件,不使用百度下载来路不明的软件。 我见过下载盗版metamask直接破产的案例。 一定要到官方地址下载,有条件的可以参考Google Play。 chrome web store 等 5) 立即检查您的授权检查 URL 如下。 Debank不开源,但UI交互更好。 未来有开源的。 你可以自己选择。

火币转账到比特币钱包要多久_比特币钱包被盗_比特币被盗 平摊损失

如图所示,基本上是无穷大。 每次唤醒metamask,一定要多看授权,别像我现在这样无脑授权下一步。 6) 在授权前,您可以使用慢雾的合约审计功能来确认合约的安全性。 您还可以查看合约是否开源。 如果是开源的,需要确认合约是否是可升级合约等。 7)领取空仓和收益要注意安全,用小账户领取,不要用大账户,你授权时可以设置金额! ! !

8)警惕社工的闯入,小心在Discord上私聊你的陌生人

比如discord或者telegram,有人认识你几天了,说带钱给你拿个空投,让你安装他发给你的软件登录,这种钱99.99%都会亏你的钱。 帐号被盗。

特别是在Discord中,进入nft官方的discord,会有人私聊你,告诉你已经获得白名单,并附上一个mint链接。 骗子会把头像和名字改成官方的,其实就是拉他和你进群来实现的。 其实,只要不贪心,这种骗局还是很容易识破的。 一般会被告知在几个小时内铸造,数字为1-10。 很多热门项目在白名单上都有一两个铸币厂,但这个有 10 个时间限制。

也会有骗子模仿项目官网做假网站,私信给项目服务器里的人,请他们来造币。

有朋友在opensea上买了个假的NFT,发现不是官方的。 过了几天,这个NFT从账户里消失了,但是被扣了。。。(怎么找到的?看链子和官方discord 贴Opensea官网)

还有一个假的collab.land骗取钱包密码,空投给大v,声称大v买了nft/token。

新年将至,大家一定要注意安全,希望看到这篇文章的朋友们平安无事!

比特币钱包被盗_火币转账到比特币钱包要多久_比特币被盗 平摊损失

*本文感谢作者克里斯,

感谢Free、Satoshi Ben、JulzW、Big K、Mr. Ah Meng 的补充。

*本文仅供科普,不构成任何投资建议。

比特币钱包被盗_火币转账到比特币钱包要多久_比特币被盗 平摊损失

2022畅嘉刘秋山最新力作《元界:无限游戏之路》让你把握技术前沿,洞悉元界本质,发现未来投资趋势,成为元界赛道的领跑者!

联座独家预售套餐:签名版+赠品58元

比特币被盗 平摊损失_比特币钱包被盗_火币转账到比特币钱包要多久

比特币钱包被盗_火币转账到比特币钱包要多久_比特币被盗 平摊损失

比特币钱包被盗_火币转账到比特币钱包要多久_比特币被盗 平摊损失

中国推特:

英文推特:

电报频道:

电报社区: