TOKE:技术 | 从一个钱包被盗的案例,探讨Web3的安全指南_PBCA Token

道路千万条,安全第一条:

1)不要共用密钥2)密钥离线保存

3)开发和测试分开

4)不要下载来历不明的软件5)立即检查授权

6)进行授权前,对合约安全进行确认

7)撸空投和福利的时候注意安全?

8)警惕Discord来路不明的人和软件

事件

2022年元旦假期的某个早上,小C准备写代码,继续测试web3js的链上合约交易。突然发现自己的测试账号在metamask归零了,明明前一晚账户内还有100USD,然后查完转账就发现:钱都没了,钱哪去了??

背景

技术出身的小C,最近在学习区块链开发。本身是专业开发者,已经很谨慎小心了,通常都是在测试网络上跑,跑完之后,再会去正式网络上部署,但是没有意识到整个产业目前还处在相对混乱的阶段,麻痹大意,顺手习惯导致造成了损失。损失是如何造成的?2021年的最后一天,小C偶然看到一个账号很有趣,就追踪了他的一些链上交易,然后看到了一个非常有意思的项目,然后就鬼使神差地连上了自己的Metamask,然后鬼使神差的进行了approve,因为一般Web3的项目就是这个流程,approve然后转账就结束了。但是令人惊呆的一幕出现了:点完之后,整个网站突然卡死了,没有任何反应,小C当时没当回事,把站点给关了,去做其他事情了。过了大概一天,小C重新回来开发的时候,发现账上的钱全部没有了,去查了历史记录,发现账上的余额已经被全部转走。回顾过程

全国政协委员:运用区块链等技术 发挥信息化在疾控工作中的支撑作用:全国政协委员、杭州市政协副主席谢双成表示,从这次疫情来看,我国公共卫生应急战略规划和投入保障不足,法治和信息化建设比较滞后,人才短缺,基层卫生网的建设较为薄弱。他建议,依托医养护平台及公共卫生平台建设,打通“信息孤岛”,深度融合医疗服务信息、公共卫生基础信息、部门数据,运用区块链、大数据、人工智能、云计算、物联网等技术,发挥信息化在疾控工作中的重要支撑作用。(经济参考报)[2020/5/29]

盗取者是怎么把小C账户上的钱都转走的?

现象:只要你approve了,不需要私钥理论上也可以把对应的钱全部转走。小C进行了下溯源,大概是在一个钓鱼网站的approve出了问题,于是追溯该转账记录。

新华网:支付宝的实名认证、区块链等技术 激活城市消费潜力:截至目前,全国已有超十省、市推出消费券等鼓励措施,涵盖餐饮、文旅、住宿、体育、汽车、家电等生活消费服务众多方面。通过数字化技术实现及时、精准的消费券,激活消费潜力尤为重要。依托阿里长期商业领域积累以及支付宝的实名认证、区块链等技术,消费券可实现“一城一策、按需定制”、“灵活可调整”、“公平可追溯”,在激活消费的同时成为商家数字化的助推器。(新华网)[2020/3/27]

如图,可以看到,先是approve了一个合约,授权了钓鱼合约能够对账号里面BUSD进行操作,而且是没有数量限制的。为什么会是BUSD呢?小C回忆了一下,一进入这个钓鱼站点是默认选了busd,估计在浏览站点链接钱包之后,盗取者就已经筛选了出了账号里面钱最多的token了。然后当小C以为这是一个新的swap合约,并且有很高的年化收益,准备先试试的时候,按照常规流程就进行approve。approve结束后,网站直接卡了。

声音 | 谭锐坚:有了信息加密技术 区块链不会对数据有危害:据新浪财经消息,第13届亚洲金融论坛于2020年1月13及14日在湾仔香港会议展览中心举行,香港贸易融资平台有限公司风险总监谭锐坚表示,区块链能够确保对于数据进行调取和分析的人都能够获得他们授信的数据,对于数据不会有任何危害,对于安全性不会有任何影响。

谈及信息加密技术,他认为,不管是进口还是出口,相关方都把所有的信息放在区块链当中,如果放进去数据就不会进行篡改和变化,就不会从单一平台进行信息虚假的呈现,所以区块链的技术会在未来得到很好的发展。[2020/1/14]

后来经过追溯,大概在授权之后几十秒,合约就直接触发了一个转账操作,直接把BUSDtoken给转走了。后来去查了一下授权的信息

声音 | imToken首席执行官:EOS是一项新技术 确实看到其潜力:据CCN报道,中国加密货币钱包创业公司imToken的首席执行官何斌在接受CCN的采访时表示,EOS是一项新技术,虽然由于EOS主网的引入和推出,EOS出现了一些问题和缺点,但仍可其他其新技术。至少在中国,有些人确实看到了EOS引入的技术和概念的潜力。目前,24%的EOS成交额源自韩国,而韩国正是imToken在全球的第二大市场。此外,imToken计划首先支持EOS代币,并计划整合其认为的用户所需要的,创新的或拥有可靠技术的代币。将提供链上治理工具和其他生态系统工具包,以支持投资于EOS生态系统的用户。[2018/7/4]

基本上metamask默认授权的时候是

ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

转换成数字,我们认识的就是1.157920892373162乘以10的59次方。基本上就可以理解为无限量转账了,也就是这个授权的操作,可以让这个合约无限量的操纵我账号的token。看到这里感觉背后一凉,因为以前点过很多次approve都是不会去看的。

然后黑客操纵一个可以控制这个合约方法的钱包地址,就发起合约转账方法,把钱转走了。所以小伙伴之后点metamask授权的时候一定要小心。

小C查了下,盗取者现在这个账号里大概已经有了3w美金的token了,现在还有源源不断的受害者在转钱。但是面对区块链没有办法,根本无法找不到这个黑客是谁。

出现问题的环节

问题到底出在哪里?因为最近在学习区块链。小C大概理了一下这个钓鱼的逻辑方式,害人之心不可有,防人之心不可无。大家有兴趣可以了解一下:正常转账

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

合约正常会检查以下逻辑

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

流程如下图

正常合约兑换

就是我们平时使用pancakeswap、uniswap等兑换时候的流程案例二:通过swap进行token兑换A用户进行token兑换流程合约进行判断:1)A用户账户余额是否有足够的BUSD,2)swap合约取A账户下的500BUSD放入swap的合约池中3)成功后合约再向A账户转入1BNB注意第2)3)点,是由合约控制token进行操作。那么也就是说合约可以绕过我们直接发起对我们账号下的token的操作。

钓鱼合约

先看这张溯源图

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-5:962ms