前言
9月12日,知道创宇区块链安全实验室监测到Avalanche上的DeFi协议ZabuFinance项目遭受闪电贷攻击。实验室第一时间跟踪本次事件并分析。
涉及对象
攻击合约
攻击合约1:
0x0e65Fb2c02C72E9a2e32Cc42837df7E46219F400
攻击合约2:
众议院金融服务委员会主席:新的加密税收提案试图“扼杀”美国的数字资产行业:金色财经报道,美国众议院金融服务委员会主席Patrick McHenry发布了一份声明,反对财政部和国税局 (IRS) 发布的关于数字资产报告要求的拟议规则。
McHenry表示:“关于数字资产报告要求的拟议规则制定通知是拜登政府持续攻击数字资产生态系统的另一个战线,在《基础设施投资和就业法案》通过后,两党众多立法者明确表示,任何拟议的规则都必须是量身定制的和明确的。我很高兴看到拟议规则中延迟的生效日期和其他活动的豁免反映了两党法案《美国保持创新法案》。然而,它在许多其他方面都失败了,与法律其他部分相关的任何其他规则制定必须遵守国会的意图”。
McHenry还表示:“拜登政府必须停止扼杀美国数字资产生态系统的努力,并与国会合作,最终为该行业制定明确的规则。我期待推进我的两党解决方案——《美国保持创新法案》——以解决这些误导性的报告要求,保护市场参与者的隐私,并确保数字资产生态系统能够在美国蓬勃发展”。[2023/8/26 10:03:37]
0x5c9AD7b877F06e751Ee006A3F27546757BBE53Dd
Gemini在其推出学院的公告中强调其基金会不适用于美国、英国或欧盟的客户:5月24日消息,加密交易所Gemini宣布推出Gemini基金会学院,旨在为用户提供加密货币衍生品交易相关知识和工具。Gemini强调,Gemini基金会不适用于美国、英国或欧盟的客户。[2023/5/24 15:22:08]
漏洞合约
ZABUFarm:
0xf61b4f980a1f34b55bbf3b2ef28213efcc6248c4
SPORE:
0x6e7f5c0b9f4432716bdd0a77a3601291b9d9e985
哈萨克斯坦参议院通过监管加密货币挖矿和交易的法案:金色财经报道,哈萨克斯坦参议院通过了一项法案,旨在监管该国的加密货币和相关活动。据当地媒体报道,随着其他法律文件的颁布,新的《哈萨克斯坦共和国数字资产法》为在该国建立加密生态系统创造了条件。议会上院议员在1月早些时候审议了这一综合法案,并决定对其提出某些修正案,议会下院已经批准了该法案的版本。然而,总统Kassym-Jomart Tokayev于1月19日解散了众议院,并要求提前举行选举。
参议员Bekbolat Orynbekov表示,在选举出新的议会下院之前,参议院拥有所有的立法权。该数字资产法规和相关法案构成了一套单一的法律,使哈萨克斯坦国家元首能够履行其对数字货币挖矿及其流通的监管职责。
Tokayev还没有签署这项法律和参议员提出的其他必要修改,包括对哈萨克斯坦税收和其他预算支付、司法行政和行政违法法律的修正案。据悉,政府的一个关键目标是监管在该国发行数字货币公司的活动。[2023/1/30 11:36:26]
漏洞成因分析
交易所钱包近24小时有2,379.56枚BTC流出:金色财经报道,据coinglass数据显示,交易所钱包余额近24小时流出2,379.56枚BTC,近7天流入51,102.64枚BTC,近30天流出44,360.81枚BTC。目前全网交易所钱包余额总计为1,952,931.55枚BTC。[2022/11/21 7:50:17]
漏洞产生原因在于Defi协议与代币协议之间的不兼容,其不兼容主要是zabuFarm合约质押功能与spore合约转账功能出现冲突,下面从双方功能实现逻辑来分析冲突。
zabuFarm合约质押功能
zabuFarm合约质押功能由函数deposit实现
简述deposit函数实现逻辑:
1.由传参_pid获取对应矿池信息与用户信息
2.更新_pid对应矿池信息,当用户账户不为0向用户发送质押已产生奖励
3.将传参_amount数量的代币从函数调用者转移到该合约
4.更新用户添加的代币以及最新奖励状态5.触发质押事件。
spore合约转账功能
spore合约转账功能由函数_transferStandard实现(ps:_transferStandard函数是zabuFarm合约质押功能转账时调用的函数)
简述_transferStandard函数实现逻辑:
1.由传参tAmount通过_getValues函数获取五个值,分别是rAmount实际转账数量,rTransferAmount收费后转账数量,rFee实际费用,tTransferAmount初始转账数量,tFee初始费用
2.对相应账户进行实际转账代币数量更新
3.通过_reflectFee函数进行费用记录更新
由此我们可以发现\nzabuFarm合约质押功能与spore合约转账功能出现冲突的本质在于deposit函数仅是对用户传入转账金额_amount\n做用户账户更新记录,而不是对_transferStandard\n函数在收取费用后实际转账做用户账户更新记录,导致实际收款小于账户记录,俗称亏本买卖。
简述攻击过程
1.利用攻击合约10x0e65,将WAVAX代币通过Pangolin置换成SPORE代币,并质押到ZABUFarm合约中;
2.通过攻击合约2\n0x5c9A从Pangolin闪电贷借出SPORE代币,并利用SPORE代币不断在ZABUFarm\n合约进行质押-提现的操作,消耗原本属于ZABUFarm合约的SPORE代币,由于ZABUFarm合约是通过SPORE\n代币总量计算奖励,攻击合约10x0e65会获得巨额ZABU代币奖励;
3.最后取出质押SPORE代币,归还闪电贷,抛售ZABU代币获利。
总结
此次攻击属于defi协议与代币协议之间不兼容导致的,迄今为止此类攻击事件已发生数次,知道创宇区块链安全实验室再次提醒,近期各链上频频爆发攻击事件,合约安全愈发需要得到迫切重视,合约审计、风控措施、应急计划等都有必要切实落实。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。