一.事件背景
8月17日,有消息爆出BSC上DeFi协议XSURGE遭到闪电贷攻击,被盗金额价值500万美金。知道创宇区块链安全实验室迅速展开分析。
二.攻击合约及交易
攻击合约地址:
0x1514AAA4dCF56c4Aa90da6a4ed19118E6800dc46
Axie Infinity将向土地质押者提供每月33.75万枚AXS奖励:5月4日消息,Axie Infinity公布土地质押开发进度,目前团队已在UI设计方面取得了进展,并且与智能合约开发商Owl合作开发了土地质押合约。此外,Axie Infinity计划向土地质押者提供每月33.75万枚AXS奖励,还将推出激励计划来鼓励社区成员进行包括社区拓展、构建工具、增强游戏体验、创建内容等推动生态发展的活动。[2022/5/4 2:48:55]
攻击交易链接:
DeFi平台Streamix宣布DAI/MIXS 90/10池现已上线Value Liquid:DeFi社交流媒体&游戏平台Streamix在推特上宣布,DAI/MIXS 90/10池现已在Value Liquid上线。该池将产生一部分剩余的MIXS代币,形成其2021年的bounce拍卖。此外,官方还将对现有的98/2 MIXS/WETH池作出更改。这一变化主要是为了解决该池IL和低交易量的问题,因为它主要是作为面向现有MIXS持有者的质押池。新的DAI/MIXS池将帮助解决这些问题,该池权重比将为90/10,因此耕作者可以以最低的IL风险获得收益。[2021/1/1 16:12:54]
https://bscscan.com/tx/0x7e2a6ec08464e8e0118368cb933dc64ed9ce36445ecf9c49cacb970ea78531d2
动态 | 币安今日完成3月份GAS、ONG、VTHO、NPXS发放:币安目前已完成2019年3月份 GAS、ONG、VTHO、NPXS 的发放,用户可以登录Binance平台,在用户中心的分发记录栏目,查询自己的分发数量。[2019/4/5]
三.事件复盘
分析攻击交易,攻击者通过闪电贷借入BNB后购买surge代币,然后不断卖出再买入,最后套利离场,分析代币源代码可以发现,这次漏洞的原因是因为合约内的sell函数导致的重入漏洞。
sell函数计算完卖出代币所值BNB数量后,合约会把BNB发送给攻击合约,但是如果攻击合约此时在回退函数中又执行了purchase函数,就会导致重入的发生。
观察此次函数调用产生的影响,由于这是在sell函数中调用的purchase,所以totaslSupply还没有销毁掉sell的SurgeToken,导致totalSupply高于正常值,bnbAmount和prevBNBAmount的值会因为94%的手续费问题而有所变化,但也影响不大。
也就是说攻击者通过买入-卖出-买入的操作,以更低的代币价格获取到了更多的surge代币,值得一提的是因为sell函数中nonReentrant修饰函数的影响,攻击合约只能重复之前的操作,也说明了防重入修饰函数不能完全解决这种伪重入问题,最好的方法还是限制call函数转账调用,用更安全的transfer函数限制转账gas消耗。
四.事件总结
最近链上安全事件频繁发生,这次重入漏洞又造成了重大的经济损失,我们建议各大项目方认真审视自身代码,做好安全保障。同时官方发文称将会尽量弥补受害者被盗资金,如有最新进展,我们将会及时跟进。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。