前言
9月12日,知道创宇区块链安全实验室监测到Avalanche上的DeFi协议ZabuFinance项目遭受闪电贷攻击。实验室第一时间跟踪本次事件并分析。
涉及对象
攻击合约
攻击合约1:
0x0e65Fb2c02C72E9a2e32Cc42837df7E46219F400
攻击合约2:
美国参议员ElizabethWarren质疑上市矿企Greenidge的环境足迹:12月3日消息,美国参议员ElizabethWarren在给上市公司首席执行官JeffreyKirt的一封详细信中质疑GreenidgeGeneration(GREE)在纽约州的比特币采矿业务的环境足迹。Warren写信给JeffreyKirt,她担心公司的能源使用以及对环境和消费者的影响。鉴于与比特币采矿相关的极高的能源使用量和碳排放量,Greenidge和其他工厂的挖矿作业引发了人们对其对全球环境、当地生态系统和消费者电力成本影响的担忧,并要求在12月17日前做出详细回应。(FxStreet)[2021/12/3 12:48:23]
0x5c9AD7b877F06e751Ee006A3F27546757BBE53Dd
推特CEO取关Elizabeth Warren:推特CEO Jack Dorsey已经取关Elizabeth Warren。据悉,Elizabeth Warren曾在2020年竞选美国总统,目前是美国民主党、马萨诸塞州参议员,也是美国政界自由派的重要代表人物之一。她在今日的Bloomberg TV中表示加密货币需要更多监管。在本周三的参议院银行委员会听证会中,美国立法者们本来要讨论CBDC,但是关于比特币的话题引起了不少立法者的关注,该经济政策小组委员会很可能会就加密货币召开进一步的听证会,而Elizabeth Warren就是小组委员会的主席。[2021/6/10 23:26:53]
漏洞合约
Nick Szabo:基于信任的验证是比特币带来的最重要的改进:金色财经报道,据官方推特消息,智能合约先驱Nick Szabo今日在迈阿密举行的比特币2021大会上表示,中心化的系统创造了有的环境,导致了高昂的治理成本。比特币解决了这个问题,它是信任最小化的去中心化,它创造了一种对传统第三方依赖性更少的资产。基于信任的验证是比特币带来的最重要的改进。[2021/6/5 23:13:25]
ZABUFarm:
0xf61b4f980a1f34b55bbf3b2ef28213efcc6248c4
SPORE:
智能合约创始人Nick Szabo:比特币是这个星球上最安全的金融网络:智能合约创始人Nick Szabo消称,比特币是这个星球上最安全的金融网络,但其中心化的外围公司是属于最不安全这一类的。他提到Mt.Gox曾在网络攻击中损失4亿美元,Bitfinex曾在网络攻击中损失7200万美元,美国数字货币交易所Cryptsy曾因攻击损失900万元。[2018/6/20]
0x6e7f5c0b9f4432716bdd0a77a3601291b9d9e985
漏洞成因分析
漏洞产生原因在于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协议与代币协议之间不兼容导致的,迄今为止此类攻击事件已发生数次,知道创宇区块链安全实验室再次提醒,近期各链上频频爆发攻击事件,合约安全愈发需要得到迫切重视,合约审计、风控措施、应急计划等都有必要切实落实。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。