前言
北京时间2022年6月8日,知道创宇区块链安全实验室?自动数据监测工具监测到BSC链上NFT项目GYMNetwork因"PublicdepositFromOtherContract"权限控制问题被攻击,损失包括7475枚BNB,共计约216W美元,目前已将兑通过DEX换70W美元的ETH通过Celer跨链到以太坊,2000枚BNB利用BSC-Tornado进行混币,余下3000枚BNB在攻击者地址。
知道创宇区块链安全实验室?第一时间跟踪本次事件并分析。
基础信息
被攻击合约:0x0288fba0bf19072d30490a0f3c81cd9b0634258a
Wintermute Trading从币安提取逾800万枚ARKM代币,成为ARKM第十大持有者:金色财经报道,根据区块链分析公司Nansen的数据,大型加密做市商Wintermute Trading从币安提取了超过800万枚ARKM代币,持仓量增加了731%,交易完成后,Wintemute成为ARKM第十大持有者。该代币在过去 24 小时内下跌了5.6%,至略低于47美分。
Arkham Intel Exchange激励用户找出谁是匿名加密钱包的幕后黑手,并以 ARKM 代币支付赏金。ARKM于7月18日推出,当时价格75 美分,推出前一天,Wintemute曾从Arkham Intelligence的Multisig钱包收到了约1500万枚代币。[2023/8/3 16:15:08]
攻击者地址:0xB2C035eee03b821cBe78644E5dA8B8eaA711D2e5
攻击合约:0xcD337b920678cF35143322Ab31ab8977C3463a45、0x68b5f1635522ec0e3402b7e2446e985958777c22
Filecoin推出用户端检索工具Lassie,允许用户无需运行IPFS节点检索数据:5月19日消息,Filecoin 推出用户端检索工具 Lassie,允许用户无需运行 IPFS 或 Filecoin 节点检索数据。此外,应用程序开发人员还可以利用 Lassie 作为库,直接通过应用程序内部从 Filecoin 和 IPFS 中获取内容。据悉,由于 IPFS 生态系统中数据传输协议的多样性,Lassie 目前能够同时使用 Graphsync 或 Bitswap 协议,未来将支持更多的数据传输协议。[2023/5/19 15:14:10]
tx:0xfffd3aca0f53715f4c76c4ff1417ec8e8d00928fe0dbc20c89d875a893c29d89
GymSinglePool代理合约:0xa8987285e100a8b557f06a7889f79e0064b359f2
漏洞分析
项目方在GymSinglePool合约中实现过程中对于0x0288fba0bf19072d30490a0f3c81cd9b0634258a#depositFromOtherContract函数缺少了权限控制,导致攻击者能够通过该函数调用内部_autoDeposit函数实现零消耗质押:
公链LUKSO将于5月23日上线主网:5月10日消息,以太坊ERC-20标准发明者Fabian Vogelstelle推出的Layer1区块链LUKSO将于5月23日上线主网。用户可以运行一个具有共识和执行客户端的节点并质押32枚LYX代币成为验证者,代币的初始供应量将有3500万枚、4200万枚以及1亿枚三个选项。[2023/5/11 14:55:41]
对于应该开放给用户的质押内部函数是_deposit函数,该函数实现了对于token的审批传入,如下图所示:
Aptos生态AMM交易平台LiquidSwap已上线LayerZero跨链桥UI,并开放测试网:10月14日消息,Aptos生态AMM交易平台LiquidSwap已上线互操作性协议LayerZero的跨链桥UI界面,目前测试网已开放,用户很快就可以将ETH跨链至Aptos。
此前报道,10月11日,公链项目Aptos已集成跨链互操作性协议LayerZero,Aptos生态系统将使用LayerZero解锁跨链机会,LayerZero将使Aptos团队能够为整个Move生态系统及其他领域提供关键基础设施、应用程序和高级工具。[2022/10/14 14:27:30]
对应的_autoDeposit函数则实现了"特权"质押,即不需要转入Token进行质押。同时该函数直接暴露给了用户,函数对比如下:
前Meta内容合作主管加入Dapper Labs担任首席商务官:金色财经报道,在Meta和 Facebook 工作了近 12 年后,Nick Grudin离开这家社交媒体巨头。Grudin 下个月将加入 NFT 数字收藏品公司Dapper Labs,担任首席商务官。
Grudin 将负责 Dapper Labs 产品组合的合作伙伴关系以及开发者体验和营销,包括 Dapper 钱包、Flow 区块链和 Dapper Sports Studio、NBA Top Shot、NFL All Day 和 UFC Strike 的开发者。(finance.yahoo)[2022/8/11 12:17:04]
攻击流程
攻击者为了防止链上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小时以前,攻击者的身份也值得令人深思。
总结
虽然只是一处小的控制缺陷,却导致了数百万美元的损失。项目方的处置虽较为及时,漏洞导致的损失却难以挽回。该类型漏洞在审计过程中很容易被发现并将归纳到逻辑缺陷/不安全的外部调用,各项目方在开发和审计流程上切莫大意。
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。