道路千万条,安全第一条:
1)不要共用密钥2)密钥离线保存
3)开发和测试分开
4)不要下载来历不明的软件5)立即检查授权
6)进行授权前,对合约安全进行确认
7)撸空投和福利的时候注意安全?
8)警惕Discord来路不明的人和软件
事件
2022年元旦假期的某个早上,小C准备写代码,继续测试web3js的链上合约交易。突然发现自己的测试账号在metamask归零了,明明前一晚账户内还有100USD,然后查完转账就发现:钱都没了,钱哪去了??
背景
技术出身的小C,最近在学习区块链开发。本身是专业开发者,已经很谨慎小心了,通常都是在测试网络上跑,跑完之后,再会去正式网络上部署,但是没有意识到整个产业目前还处在相对混乱的阶段,麻痹大意,顺手习惯导致造成了损失。损失是如何造成的?2021年的最后一天,小C偶然看到一个账号很有趣,就追踪了他的一些链上交易,然后看到了一个非常有意思的项目,然后就鬼使神差地连上了自己的Metamask,然后鬼使神差的进行了approve,因为一般Web3的项目就是这个流程,approve然后转账就结束了。但是令人惊呆的一幕出现了:点完之后,整个网站突然卡死了,没有任何反应,小C当时没当回事,把站点给关了,去做其他事情了。过了大概一天,小C重新回来开发的时候,发现账上的钱全部没有了,去查了历史记录,发现账上的余额已经被全部转走。回顾过程
央行:要借助区块链等技术 探索金融科技创新监管工具的试点:在第十二届陆家嘴论坛上,中国人民银行科技司的司长李伟表示,在推进金融科技应用发展的同时,人民银行也高度重视金融科技创新的监管。支持在上海等地探索金融科技创新监管工具的试点,在金融科技监管框架下将创新监管的工作做得更扎实,更细致。在这方面,我们觉得上海要在试点的过程中借助于大数据区块链等技术,加强或者推进金融市场交易报告库数据交换管理平台的建设,通过对数据的管控,提升风险防控的能力和水平。(一财)[2020/6/19]
盗取者是怎么把小C账户上的钱都转走的?
现象:只要你approve了,不需要私钥理论上也可以把对应的钱全部转走。小C进行了下溯源,大概是在一个钓鱼网站的approve出了问题,于是追溯该转账记录。
动态 | 上海国际医药供应链信息服务平台揭牌,采用区块链技术 实现信息溯源:上海国际贸易单一窗口“区块链+”新闻发布会11月7日上午在国家会展中心(上海)举行。会上,上海市商务委(上海市口岸办)会同上海市药监局联合打造的上海国际医药供应链信息服务平台正式揭牌。这是上海国际贸易单一窗口针对单一垂直行业进行深度服务的首个平台。
据介绍,该平台采用区块链技术,实现了分布式账本、数据防篡改和信息可追溯,为进口医疗器械和药品等行业上下游企业提供从源头到消费的“端到端”、“可视化”供应链信息服务,提高了监管效率和精准度、有效减低监管成本和企业负担。[2019/11/7]
动态 | 印度政府看好人工智能、区块链等新兴技术 科技巨头为政府工作人员提供技能培训:随着印度政府看好人工智能、云计算、区块链和数据分析等新兴技术,其未来的艰巨任务是培训数百万政府官员,以便优化这些颠覆性技术造福超过10亿人。除了在新兴技术领域培养熟练的学生、年轻程序员和企业家,科技巨头现在有责任培训政府系统的人才,特别是在信息技术部门。零售业巨头亚马逊AWS全球公共部门(APAC和日本)区域董事总经理Peter Moore表示,已经成功地与政府高层领导人就此议题进行会谈,因为AWS已经在培养学生技能和提升该国劳动力技能方面发挥了领导作用。
微软印度公司上个月宣布了“数字治理技术之旅”项目,旨在让政府信息技术官员掌握人工智能和智能云计算等技术。微软将组织一系列物理和虚拟研讨会,在12个月内培训5000名政府IT人员。(Hindustan Times)[2019/9/29]
如图,可以看到,先是approve了一个合约,授权了钓鱼合约能够对账号里面BUSD进行操作,而且是没有数量限制的。为什么会是BUSD呢?小C回忆了一下,一进入这个钓鱼站点是默认选了busd,估计在浏览站点链接钱包之后,盗取者就已经筛选了出了账号里面钱最多的token了。然后当小C以为这是一个新的swap合约,并且有很高的年化收益,准备先试试的时候,按照常规流程就进行approve。approve结束后,网站直接卡了。
优博讯:已尝试使用区块链技术 股价直线涨停:优博讯(sz300531)今日下午在互动平台上表示,区块链技术已经是一个通用技术,公司所涉及的领域是区块链技术应用的重点领域,公司已经在尝试使用该技术,未来不远的时间,将会看到有关新产品的推出。随后不久,公司股价直线拉升,截至发稿,公司股票已涨停。[2018/1/16]
后来经过追溯,大概在授权之后几十秒,合约就直接触发了一个转账操作,直接把BUSDtoken给转走了。后来去查了一下授权的信息
基本上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的操作。
钓鱼合约
先看这张溯源图
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。