木星链 木星链
Ctrl+D收藏木星链
首页 > PEPE > 正文

FFF:从一个钱包被盗的案例 探讨Web3的安全指南

作者:

时间:1900/1/1 0:00:00

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

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

3)开发和测试分开

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

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

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

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

注:本号不推销任何意义上的商业产品,不提供任何投资建议,不接任何PR需求。本文不构成任何投资上的建议。

作者|Chris阿法兔

事件

*本文2700字左右,阅读时间10-20分钟

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

钱都没了,钱哪去了??

背景

技术出身的小C,最近在学习区块链开发。本身是专业开发者,已经很谨慎小心了,通常都是在测试网络上跑,跑完之后,再会去正式网络上部署,但是没有意识到整个产业目前还处在相对混乱的阶段,麻痹大意,顺手习惯导致造成了损失。

损失是如何造成的?

2021年的最后一天,小C偶然看到一个账号很有趣,就追踪了他的一些链上交易,然后看到了一个非常有意思的项目,然后就鬼使神差地连上了自己的Metamask,然后鬼使神差的进行了approve,因为一般Web3的项目就是这个流程,approve然后转账就结束了。

Jimbos协议与美国国土安全部合作以帮助从闪电贷漏洞中收回资金:金色财经报道,基于Arbitrum的应用程序Jimbos Protocol的开发人员周三表示,他们已与美国国土安全部纽约分部立案,以逮捕上周末利用该协议获利数百万美元的攻击者。除了与美国的执法部门合作外,该团队目前还在其他司法管辖区立案,并向公众提供价值约80万美元的10%赏金,奖励任何提供信息以抓获剥削者和资金的人。[2023/6/1 11:51:30]

但是令人惊呆的一幕出现了:点完之后,整个网站突然卡死了,没有任何反应,小C当时没当回事,把站点给关了,去做其他事情了。

过了大概一天,小C重新回来开发的时候,发现账上的钱全部没有了,去查了历史记录,发现账上的余额已经被全部转走。

回顾过程

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

现象:只要你approve了,不需要私钥理论上也可以把对应的钱全部转走。

小C进行了下溯源,大概是在一个钓鱼网站的approve出了问题,于是追溯该转账记录。

数据:主流区块链网络已累计部署超200万个NFT项目,产生20亿条链上记录:5月21日消息,根据NFTScan数据显示,截止到5月21号,主流区块链网络上已经累计部署了超过200万个NFT项目,铸造了8.1亿枚NFT资产,产生了20亿条链上记录,目前有1.1亿个钱包地址持有NFT资产。[2023/5/22 15:17:31]

如图,可以看到,先是approve了一个合约,授权了钓鱼合约能够对账号里面BUSD进行操作,而且是没有数量限制的。

为什么会是BUSD呢?小C回忆了一下,一进入这个钓鱼站点是默认选了busd,估计在浏览站点链接钱包之后,盗取者就已经筛选了出了账号里面钱最多的token了。

然后当小C以为这是一个新的swap合约,并且有很高的年化收益,准备先试试的时候,按照常规流程就进行approve。approve结束后,网站直接卡了。

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

后来去查了一下授权的信息

7位Doodles NFT巨鲸在Blur pool中共抛售逾400枚Doodles:5月21日消息,据 Blur Dumping Bot 统计,今日 12:00 开始,7 位 Doodles NFT 巨鲸在 Blur pool 中抛售的 Doodles NFT 数量超过 400 枚,其中,0xf50991 开头地址在三笔交易中共抛售 142 枚 NFT(三笔平均售价分别为:2.5 ETH、2.46 ETH、2.39 ETH),0x43bfF0 开头地址通过 2 笔交易抛售 102 枚 NFT,0x09e949 开头地址抛售 30 枚 NFT,0xcEc5D5 开头地址抛售 50 枚 ETH,0x4BD88f 开头地址抛售 44 枚,0x05c85f 开头地址抛售 20 枚,0x5e1416 地址抛售 31 枚 NFT(平均售价 2.09 ETH)。[2023/5/21 15:16:46]

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

ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

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

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

FTX欠迈阿密戴德县1650万美元,需在三年内还清:11月12日消息,在美国佛罗里达州迈阿密戴德县和迈阿密热火队发表联合声明宣布终止与FTX的业务关系后,根据双方此前签署的1.35亿美元的19年冠名权合约,FTX如因违约(含破产事件)必须在未来三年内还清总计1650万美元的欠款,如果未在10个工作日内支付款项,该县表示有权收取年利率12%的利息,直到付款完成为止,其中首年需要支付1400万美元。[2022/11/12 12:54:57]

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

出现问题的环节

问题到底出在哪里?

因为最近在学习区块链。小C大概理了一下这个钓鱼的逻辑方式,害人之心不可有,防人之心不可无。大家有兴趣可以了解一下:

正常转账

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

合约正常会检查以下逻辑

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

流程如下图

说唱歌手Drake在直播中捐赠了100万美元比特币:5月27日消息,BitcoinMagazine发推称,说唱歌手Drake在直播期间捐赠了100万美元的比特币。[2022/5/27 3:45:49]

正常合约兑换

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

案例二:通过swap进行token兑换A用户进行token兑换流程合约进行判断:

1)A用户账户余额是否有足够的BUSD,

2)swap合约取A账户下的500BUSD放入swap的合约池中

3)成功后合约再向A账户转入1BNB

注意第2)3)点,是由合约控制token进行操作。那么也就是说合约可以绕过我们直接发起对我们账号下的token的操作。

钓鱼合约

先看这张溯源图?

正常的转账,转账方和合约执行的转账方应该是同一个人,即上图与应该是由同一个人发起的。而我被转账的这笔交易,这两个不是同一个地址。推测应该是由一个可以执行钓鱼合约的钱包地址控制执行了合约,然后将我授权给钓鱼合约里的BUSD转走了。

去查看钓鱼合约,不出意料钓鱼合约是一个加密的合约。不过想一下也不难,稍微学过Solidity的人都知道,在合约定义的时候,多设置几个Admin或者Owner就可以了。

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

安全建议

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

这里列出来一些方法大家可以根据自己的需要选择。

不要共用密钥

之前看有帖子说一个助记词生成多个账号的,这种我不建议哈,因为很可能被一锅端。

密钥离线保存

因为现在有很多剪贴板工具输入法会将你的剪贴板记录上传到云端,如果你直接复制了,如果云端泄漏,你的密钥就直接无了。我的建议就是生成之后,第一时间抄到本子上。当然抄到本子上,你也可以参考我对密钥自己的字典加密,比如a用1代替,b用2代替,1用a代替,这样就可以保证即使有人看到了你的纸质密钥,也不能动你的数字资产。

开发和测试分开

安装2个浏览器,一个可以是chrome,一个是brave。一个管理你的主钱包。另外一个可以参与领取空投,各种链上操作等

不要下载来历不明的软件

不要去用baidu这些下载来历不明的软件,我看到有案例是下载盗版metamask,直接破产的。一定要去正规的地址下载,有条件的可以参考googleplay。chromewebstore等

立即检查你的授权

检查的网址有下面几个,debank没有开源,但是UI交互比较好,后续的有开源的,大家自己抉择吧。

https://debank.com/

https://approved.zone/

https://tac.dappstar.io/

https://ethallowance.com/

看到图上所示,基本上就是无限的。

每次唤起metamask的时候一定要多看看授权,不要像我现在这样无脑点授权下一步。

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

https://www.slowmist.com/service-smart-contract-security-audit.html

可以使用慢雾的合约审计功能。

也可以看看该合约是否开源,如果开源的话需要确认该合约是否是可升级合约等等。

撸空头和福利的时候注意安全

用小号去领取,别用大号,授权的时候可以设置额度!!!

警惕社工的入侵,小心Discord私聊你的陌生人

比如discord或者telegram,有人跟你认识几天,说要带你赚钱拿空投,让你安装他发给你的软件并登录,这种99.99%你会血本无归。账号被盗。

特别地,Discord里面,进nft的官方discord,会有人私聊你,告诉你获得了白名单,附带一个mint链接。子会把头像和名称改成官方的样子,其实是把他和你拉了一个组来实现的。其实只要不贪,这种局还蛮好识破的,一般会告诉你在几个小时内mint,数量1-10。很多大热项目一个白名单mint一两个不错了,这一上来顶格10个还带时间限制。

还有,会有子模仿项目官网做个假网站,私信给项目Server里的人,让他们来mint.

还有小伙伴在opensea买了假NFT后来发现不是官方的然后过了几天那个NFT就从账户消失了然而?已经扣了...(怎么发现的?看链条还有官方discord发了官方Opensea网址)

还有假的collab.land钱包密码,给大v空投然后号称大v买了那个nft/token.

新的一年到来,大家一定要注意安全呀,希望看到本文的朋友都能平平安安顺顺利利!

标签:FFFNFTAPPPROfff币有价值吗nft币有潜力吗bitpie钱包官网下载appPROGE币

PEPE热门资讯
NFT:金色Web3.0周报 | Uniswap稳定币AMM市场份额较Curve占比已达89%

DeFi数据1.DeFi代币总市值:1373.46亿美元 DeFi总市值数据来源:Coingecko2.过去24小时去中心化交易所的交易量:555.

1900/1/1 0:00:00
KEN:游戏公会井喷 谁会成为下一个 YGG?

据FootprintAnalytics数据显示,游戏领域自2021年9月吸引了大批投资者,融资金额于11月达到高峰13亿美元.

1900/1/1 0:00:00
STA:StarkNet Alpha 的费用机制

StarkNetAlpha在几周前登陆了主网,上线初期并没有应用费用机制,而与L1交互的gas成本实际上是由StarkWare补贴的.

1900/1/1 0:00:00
区块链:新闻周刊 | 北京环球度假区将引入元宇宙应用场景

金色周刊是金色财经推出的一档每周区块链行业总结栏目,内容涵盖一周重点新闻、矿业信息、项目动态、技术进展等行业动态。本文是其中的新闻周刊,带您一览本周区块链行业大事.

1900/1/1 0:00:00
NFT:浅析NFT如何成为Web3社交的基础?

这一期的灵感来自与@anonalyx的几次谈话,已经很久没有一个话题能让我如此兴奋了。本周我们讨论的是Web3的社交体验。这些想法非常新奇,我相信在后面几期里还会继续完善很多内容.

1900/1/1 0:00:00
WEB:Web 3.0 需要更多用户 而非更多投资者

项目需要专注于开发吸引非加密用户的产品,从而推动Web3.0的创新和成熟。加密货币的世界一直是由那些对金钱非常了解的人组成的。毕竟,加密货币本身就是金融产品.

1900/1/1 0:00:00