ANI:小缺陷大损失 ,GYM Network何至于此 ?_GYMAI价格

前言

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

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

基础信息

Algorand 基金会任命 Anil Kakani 为印度地区负责人:金色财经报道,Algorand 基金会任命 Anil Kakani 为印度地区负责人,Kakani 将领导 AlgoBharat 团队和 Algorand 在印度的所有编程和项目,包括大学教育项目、社区项目以及私人和公共合作伙伴关系。

据悉,Kakani 此前在华盛顿特区的公共和私营部门担任过多个职务,包括担任美国财政部的印度高级顾问,在那里他建立了美国财政部和印度财政部之间的第一个双边伙伴关系。他还曾担任康宁公司印度商业发展总监,并在印度的 Anand Rathi Investment Banking 和美国的 Vikasa Holdings 担任高级领导职务。[2022/11/29 21:10:27]

被攻击合约:0x0288fba0bf19072d30490a0f3c81cd9b0634258a

Animoca Brands联合创始人:未来将收购更多工作室来制作NFT游戏:金色财经报道,Animoca Brands最近收购了包括Eden Games在内的三家游戏工作室。Animoca联合创始人Yat Siu表示, Animoca可能会收购更多工作室,并讨论了其F1 Delta Time的关闭和越来越多的 \"元空间第一 \"IP重点。Animoca Brands是区块链游戏和NFT初创公司的主要投资者,但它也发行自己的NFT游戏,包括基于以太坊的元世界体验the Sandbox。(decrypt)[2022/4/25 14:46:32]

攻击者地址:0xB2C035eee03b821cBe78644E5dA8B8eaA711D2e5

Animoca Brands联合创始人:开放的元宇宙提供了让所有参与者受益的机会:1月3日消息,Animoca Brands执行主席兼联合创始人Yat Siu表示,大多数人仍然不理解NFT在开放元宇宙中的巨大潜力,并发文阐述了为什么真正的数字产权如此重要和有影响力。Yat Siu表示,开放的元宇宙提供了让所有参与者受益的机会,结束了传统的零和思维方式。开放的元宇宙让我们可以拥有并从我们的数据中受益,数字产权和参与由此产生的网络效应不仅是实现真正数据公平的重要先例,而且还为世界上最大的问题之一“不平等”提供了解决方案,并为前所未有的创造和创新浪潮奠定了基础。简而言之,每个客户也成为所有者。开放的元宇宙不能也不应该由任何一个实体拥有,而是基于开放性、公平性、用户所有权、财产权和非零和方法。[2022/1/3 8:21:23]

攻击合约:0xcD337b920678cF35143322Ab31ab8977C3463a45、0x68b5f1635522ec0e3402b7e2446e985958777c22

Solanium核心贡献者Terry:Solanium是Solana公链上一站式去中心化融资平台:官方消息,5月17日20:00,Solanium核心贡献者Terry做客抹茶社区分享观点。Terry表示:“Solanium是Solana公链上一站式去中心化融资平台,将集钱包,DEX一体化,通过完善用户界面和体验来帮助所有人体验全新的融资平台,平台也将向所有人开发,每个人都可以创建专属资金池,官方也会对已验证KYC的池子进行标识。未来平台将有质押挖矿,社区治理,以及获得早期项目分成的方式来赋能资产。同时Solanium也获得Serum早期资助和支持。[2021/5/18 22:12:44]

tx:0xfffd3aca0f53715f4c76c4ff1417ec8e8d00928fe0dbc20c89d875a893c29d89

GymSinglePool代理合约:0xa8987285e100a8b557f06a7889f79e0064b359f2

漏洞分析

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

对于应该开放给用户的质押内部函数是_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-4:678ms