GYM:创宇区块链|小缺陷大损失 GYM Network 何至于此_DEPO

前言

北京时间2022年6月8日,知道创宇区块链安全实验室?自动数据监测工具监测到BSC链上NFT项目GYMNetwork因"PublicdepositFromOtherContract"权限控制问题被攻击,损失包括7475枚BNB,共计约216W美元,目前已将兑通过DEX换70W美元的ETH通过Celer跨链到以太坊,2000枚BNB利用BSC-Tornado进行混币,余下3000枚BNB在攻击者地址。

知道创宇区块链安全实验室?第一时间跟踪本次事件并分析。

基础信息

被攻击合约:0x0288fba0bf19072d30490a0f3c81cd9b0634258a

BBKX将于今日12时开启第五场金色算力云IPFS云算力认购:据BBKX官方消息,BBKX第四轮金色算力云IPFS云算力抢购已于今日10时售罄,应社区用户的要求,今日12:00将开放第5场抢购,限额200T。

BBKX平台IPFS云算力为与金色算力云联合推出,起购门槛为20USDT,可以满足不同用户的投资需求。

BBKX成立于2019年6月,已获得节点资本与链上基金联合投资,现货交易手续费低至0.05%。[2020/7/4]

攻击者地址:0xB2C035eee03b821cBe78644E5dA8B8eaA711D2e5

攻击合约:0xcD337b920678cF35143322Ab31ab8977C3463a45、0x68b5f1635522ec0e3402b7e2446e985958777c22

金色晨讯 | 6月26日隔夜重要动态一览:21:00-7:00关键词:美国新冠肺炎、以太坊2.0、Telegram

1.美国新冠肺炎确诊病例超240万例。

2.CME比特币衍生品未平仓合约创新高。

3.DeFi生态中锁定的资产总价值突破16亿美元。

4.灰度以太坊信托价格已从6月高点下跌65%。

5.以太坊2.0Altonav0.12测试网将于6月29日启动。

6.美国SEC向法院提交Telegram开放网络项目终审判决提案。

7.俄罗斯基于区块链的宪法修正案投票系统今日上线后故障频出。

8.Kadena推出区块链应用程序以验证COVID-19检测真实进行。

9.比特币小幅震荡,日内最高报9340美元,最低报9212.04美元。[2020/6/26]

tx:0xfffd3aca0f53715f4c76c4ff1417ec8e8d00928fe0dbc20c89d875a893c29d89

金色晨讯 | 马耳他批准了14个加密资产代理商并已发放金融牌照:1.雄岸科技控股股东出售股份。

2.巴基斯坦国家银行正在考虑到2025年推出数字货币。

3.马耳他批准了14个加密资产代理商并已发放金融牌照。

4.GateChain将在今年第三或第四季度发布测试网和主网。

5.易见股份提示风险:对区块链的探索及应用仍处初期阶段。

6.安永会计师事务所提议将QuadrigaCX重组程序转为破产程序。

7.奥地利数字和经济事务部长:不需要对区块链进行监管。

8.百度牵手湖南省政府依托区块链等技术推进百度大脑等落地。

9.信息发展:已提交区块链备案申请并待工信部正式颁布。[2019/4/3]

GymSinglePool代理合约:0xa8987285e100a8b557f06a7889f79e0064b359f2

金色相对论丨启赋资本兰洪明:监管政策的出现是对加密货币行业最大的利好:在金色相对论今日热议“政府监管风波”问题上,启赋资本兰洪明表示:如果出具体政策进行监管,同时出相关税收政策其实对这个行业是重大利好。若真有这样的动作,首先代表政府对于加密货币领域的正式认可,其次可以驱散现在市场大量的空气币。

启赋资本专注于私募股权投资的专业基金管理公司,主要以管理创投基金为主,聚集TMT、现代服务业、新材料等行业。[2018/6/25]

漏洞分析

项目方在GymSinglePool合约中实现过程中对于0x0288fba0bf19072d30490a0f3c81cd9b0634258a#depositFromOtherContract函数缺少了权限控制,导致攻击者能够通过该函数调用内部_autoDeposit函数实现零消耗质押:

金色财经现场报道 V神在会场阐述二次分片的由来 :金色财经6月3日现场报道,在今天的以太坊技术及应用大会上,以太坊创始人Vitalik Buterin做了题为“Casper与分片技术最新进展”的主题演讲。假设一个节点能处理N个交易,那么主链能追踪N个分片,每个分片都能处理N个交易,所以系统一共能处理N的2次方个交易,因此这个提案叫二次分片。[2018/6/3]

对于应该开放给用户的质押内部函数是_deposit函数,该函数实现了对于token的审批传入,如下图所示:

对应的_autoDeposit函数则实现了"特权"质押,即不需要转入Token进行质押。同时该函数直接暴露给了用户,函数对比如下:

攻击流程

攻击者为了防止链上MEV和抢跑机器人,将合约进行了分步部署执行,同时部署/调用了多次以完成对GymNetwork合约(0x3a0d9d7764FAE860A659eb96A500F1323b411e68)中的GYMNETToken完全抽离,以其中一笔部署调用为例:

1.部署合约后调用depositFromOtherContract实"特权"质押,对应0xfd4a2266方法:

内部调用细节如下:

2.调用0x30649e15实现对上一步特权质押的Token回撤:

3.利用0x1d111d13函数售出获取到的的GYM-Token:

重复多次"特权"质押--回撤--售出步骤,攻击者最终获取到7475枚BNB:

为了抑制抢跑,攻击者将添加质押和回撤进行了步骤分离,两个步骤均为核心操作,同时刻意提高添加部分步骤的GasPrice为15/20gwei,可见攻击者是有意为之。

溯源处置

本次攻击原因是项目方实现的特权函数权限控制不当,在攻击发现的1小时后项目方将GymSinglePool代理合约的逻辑合约进行了多次修改,为其添加了权限控制:

并在20分钟后对逻辑合约添加了紧急账户处置函数:

而对于项目方Deployer地址分析,其部署的多个GymSinglePool合约根据追踪仅在两天前部署的GymSinglePool合约中存在漏洞,4天前的合约则不存在此函数:

同时代理合约对应的逻辑合约被升级为漏洞合约的事件发生在在2days13hrsago:

攻击者的资金准备(FromTornado)则在约6小时以前,攻击者的身份也值得令人深思。

总结

虽然只是一处小的控制缺陷,却导致了数百万美元的损失。项目方的处置虽较为及时,漏洞导致的损失却难以挽回。该类型漏洞在审计过程中很容易被发现并将归纳到逻辑缺陷/不安全的外部调用,各项目方在开发和审计流程上切莫大意。

来源:金色财经

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

区块博客

[0:15ms0-3:444ms