SPO:Zabu Finance 闪电贷安全事件分析 -ODAILY

前言

9月12日,知道创宇区块链安全实验室监测到Avalanche上的DeFi协议ZabuFinance项目遭受闪电贷攻击。实验室第一时间跟踪本次事件并分析。

涉及对象

攻击合约

攻击合约1:

0x0e65Fb2c02C72E9a2e32Cc42837df7E46219F400

攻击合约2:

ETH Research Grant第三轮资助匿名MACI投票在DoraHacks.io正式开启:5月30日消息,以太坊研究长期资助Grant(ETH Research Grant)第三轮资助已在开发者激励平台DoraHacks.io正式开启,并首次采用匿名MACI协议,这也是行业首次采用匿名MACI进行的社区治理。匿名MACI协议在MACI管理员和用户之间添加了匿名性,以实现MACI协议的完整匿名性。本轮进入Grant投票轮的项目分别是Spot on Chain、Desig Protocol和ZkBlind。在本轮投票中,拥有vcDORA的地址将会自动获得投票资格。5月29日-6月8日,vcDORA社区可以通过DoraHacks平台为所支持的项目进行投票,投票结果将决定5000美金资助分配。

ETH Research Grant旨在长期资助以太坊社区的开发者和研究者,资助课题覆盖账户抽象/ERC4337、地址隐私、知识证明、DeGov、以太坊扩容、Data Availability、Rollups、zkEVM/zkVM、ERC/EIP以及以太坊应用采用等。活动报名入口长期开放,项目评选和资助定期开展。[2023/5/30 11:47:44]

0x5c9AD7b877F06e751Ee006A3F27546757BBE53Dd

朝鲜黑客通过虚假的交易所招聘信息攻击macOS用户:9月28日消息,网络安全公司SentinelOne于9月26日表示,在被称为“Operation In(ter)ception”的黑客活动的最新变体中,被称为Lazarus Group的朝鲜黑客一直在通过加密货币交易所提供诱人的工作机会来吸引macOS 用户。黑客将恶意软件伪装成来自流行的加密货币交易所的招聘信息,使用精心设计且看起来合法的诱饵PDF文档来宣传新加坡艺术总监 – 概念艺术 ( NFT )等职位的空缺。

根据该公司的报告,该黑客组织早在2022年8月就做了同样的事情,但这次使用的是Coinbase加密货币交易所的虚假招聘信息。(finbold)[2022/9/28 22:37:28]

漏洞合约

区块链API平台Transpose完成300万美元融资,MaC Venture Capital领投:金色财经报道,区块链API平台Transpose宣布完成300万美元融资,MaC Venture Capital领投,HOF Capital、Soma Ventures和Pareto Ventures 参投。该公司开发了四种不同的应用程序接口来满足Web3开发需求,包括支持查询访问链上数据(即区块和交易信息)、资产层数据(NFT和Token)、以及账户数据(完整钱包所有权和活动)。(alleywatch)[2022/5/27 3:45:02]

ZABUFarm:

声音 | Peter McCormack:正在准备与澳本聪展开法律诉讼,需要得到加密社区支持:据ambcrypto消息,英国加密节目主持人Peter McCormack正在准备与澳本聪,Coingeek创始人Calvin Ayre进行法律斗争。他要求从加密社区得到帮助,需要专业开发人员,密码学专家和OG人员来提供证据支持,并就筹款方式,接受的货币种类以及资金的管理,审计,使用达成一致。[2019/5/31]

0xf61b4f980a1f34b55bbf3b2ef28213efcc6248c4

SPORE:

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协议与代币协议之间不兼容导致的,迄今为止此类攻击事件已发生数次,知道创宇区块链安全实验室再次提醒,近期各链上频频爆发攻击事件,合约安全愈发需要得到迫切重视,合约审计、风控措施、应急计划等都有必要切实落实。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-10:727ms