首个“Sing-to-Earn”平台被黑,是“运气不好”还是另有其因?

Beosin
Beosin 机构得得号

Oct 26, 2022 Beosin是总部位于新加坡的全球知名区块链安全公司,为区块链生态提供代码安全审计,安全风险监控、预警与阻断,虚拟资产被盗追回,KYT/AML等“一站式”安全产品+服务,已为全球2000多个区块链企业服务,保护客户资产5000多亿美元。

摘要: 本次分析只对黑客的交易进行分析,但实际上漏洞点并不是在合约上。

2022年10月25日,据Beosin EagleEye安全预警与监控平台检测显示,Melody_SGS项目被黑客攻击,造成2224.9BNB损失,约63万美元,攻击发生之后,官方也在推特第一时间更新本次“被黑”事件。


据悉,Melody是一款结合了GameFi和SocialFi的Web3应用,也自称为首个“Sing-to-Earn”平台,通俗来讲,有点类似于Web2的“全民K歌”。

所以此次分析,只针对黑客的交易进行梳理,以便用户更好了解此次攻击事件,也请用户警惕此类事件,并及时转移资金减少损失。

#事件相关信息


攻击交易:0x7fd61155cc33cf52e107980f31c1e198766709d8fa75f6e48230af82ec9dea8f
黑客地址 :0xa3793cCb57FDDAedD4EDCBd4Ca515876057E43a00x7CE402b6753589965Ae152971F7d7010BF25408A0xb355684ea4c28f302d23c5cddcbeabca4118598c
Melody项目AssetsDepositUpgrade合约: 0x780511d5209e8363783310f8a485507785643934

#攻击流程 

本次分析只对黑客的交易进行分析,但实际上漏洞点并不是在合约上。 

1.第一步,黑客调用AssetsDepositUpgrade合约的coinWithdraw函数,这个函数的功能是将用户存在合约中的资产赎回,是一个正常的功能。函数有几个关键的参数,to(接受代币的地址),signature(用户的签名信息,保证交易是用户自己发起的)。

2.这是智能合约很常见的操作,用户提供signature来证明是自己对这个交易签名。那怎么会出现问题呢?我们继续来看攻击者传入了些什么参数。

这里的大概意思就是从合约中取出地址为0xa6cba90f6246aad9b4f3dcd29918821921a5c1ff的代币,并将代币发送给地址为0xa3793ccb57fddaedd4edcbd4ca515876057e43a0的攻击者上,数量为990000000000000000000000个。这里最重要的是看他的签名是否正确,毕竟只有正确的签名才能完成操作。

3.合约中有个check()函数对交易进行校验。他检查了三个参数,分别为signeraddress,hashDataCoin计算的结果(这里不关心),signature.

4.其中signeraddress是0x7434c3765b1800ae535363fa22fc5d04717f04e0。这个是合约的一个状态变量。跟进check函数,原来里面实际调用的是isValidSignatureNow来计算。这里最终算出来发现签名确实是signeraddress的。

5.这就很奇怪,黑客是怎么让signeraddress给他的恶意行为签名的?所以我们怀疑很可能是前端被黑了,或者signeraddress被黑客拿下了,于是构造了恶意行为的签名,将SGS发送给黑客。 

6.最终,黑客将获取的991,360 个SGS代币通过PancakeSwap换成WBNB。 

另外,黑客使用另一个地址0x7CE402b6753589965Ae152971F7d7010BF25408A重复攻击,获利2,450SGS,并将SGS换取的560 WBNB发送给第一个地址。

此外,黑客直接还将0x8c9ae2eacee8cb2e1a7e44572d31968c6bf44c00中的110BNB直接发送给了0xa379地址。

 

经Beosin安全团队统计,发现黑客合计总共获利2,237.47BNB

图片来源: bitquery

并将获利的BNB一起发送给了0x1e091ae02f932be50088cc2e6ac9ca841ecebdb7(疑似黑客另一个地址)。最终将这个地址全部资金发送至MEX交易所。

#事件总结

截止发文时,官方称相关技术漏洞已经修复,但因维护合约已经暂停体提现等功能。

但是针对本次事件,Beosin安全团队还是建议项目方,一是保护好钱包私钥,二是注重签名服务的安全性,此外项目上线前,建议选择专业的安全审计公司进行全面的安全审计,规避安全风险。

Beosin作为一家总部位于新加坡的区块链安全公司,业务涵盖项目上线前的代码安全审计、项目运行时的安全风险监控、预警与阻断、虚拟货币被盗资产追回、安全合规KYT/KYC等“一站式”区块链安全产品+服务,目前已为全球2000多个区块链企业提供安全技术服务,审计智能合约超过2500份,保护客户资产高达5000多亿美元。

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 Beosin 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信