前言
9月12日,知道创宇区块链安全实验室 监测到 Avalanche 上的 DeFi 协议 Zabu Finance 项目遭受闪电贷攻击。实验室第一时间跟踪本次事件并分析。
涉及对象
攻击合约
攻击合约1:
0x0e65Fb2c02C72E9a2e32Cc42837df7E46219F400
攻击合约2:
街头艺术家Szabotage将在Quidd推出NFT系列Stencil Tongue:7月7日消息,街头艺术家Szabotage将在Animoca Brands旗下NFT市场Quidd上推出数字艺术藏品系列Stencil Tongue。获得该系列的收藏家将通过解锁的随机两组NFT组合出不同的内容。Stencil Tongue系列计划于2022年7月27日上线Quidd。[2022/7/7 1:57:15]
0x5c9AD7b877F06e751Ee006A3F27546757BBE53Dd
ZABUFarm:
0xf61b4f980a1f34b55bbf3b2ef28213efcc6248c4
慢雾:Avalanche链上Zabu Finance被黑简析:据慢雾区情报,9月12日,Avalanche上Zabu Finance项目遭受闪电贷攻击,慢雾安全团队进行分析后以简讯的形式分享给大家参考:
1.攻击者首先创建两个攻击合约,随后通过攻击合约1在Pangolin将WAVAX兑换成SPORE代币,并将获得的SPORE代币抵押至ZABUFarm合约中,为后续获取ZABU代币奖励做准备。
2.攻击者通过攻击合约2从Pangolin闪电贷借出SPORE代币,随后开始不断的使用SPORE代币在ZABUFarm合约中进行`抵押/提现`操作。由于SPORE代币在转账过程中需要收取一定的手续费(SPORE合约收取),而ZABUFarm合约实际接收到的SPORE代币数量是小于攻击者传入的抵押数量的。分析中我们注意到ZABUFarm合约在用户抵押时会直接记录用户传入的抵押数量,而不是记录合约实际收到的代币数量,但ZABUFarm合约在用户提现时允许用户全部提取用户抵押时合约记录的抵押数量。这就导致了攻击者在抵押时ZABUFarm合约实际接收到的SPORE代币数量小于攻击者在提现时ZABUFarm合约转出给攻击者的代币数量。
3.攻击者正是利用了ZABUFarm合约与SPORE代币兼容性问题导致的记账缺陷,从而不断通过`抵押/提现`操作将ZABUFarm合约中的SPORE资金消耗至一个极低的数值。而ZABUFarm合约的抵押奖励正是通过累积的区块奖励除合约中抵押的SPORE代币总量参与计算的,因此当ZABUFarm合约中的SPORE代币总量降低到一个极低的数值时无疑会计算出一个极大的奖励数值。
4.攻击者通过先前已在ZABUFarm中有进行抵押的攻击合约1获取了大量的ZABU代币奖励,随后便对ZABU代币进行了抛售。
此次攻击是由于ZabuFinance的抵押模型与SPORE代币不兼容导致的,此类问题导致的攻击已经发生的多起,慢雾安全团队建议:项目抵押模型在对接通缩型代币时应记录用户在转账前后合约实际的代币变化,而不是依赖于用户传入的抵押代币数量。[2021/9/12 23:19:21]
SPORE:
声音 | 智能合约先驱Nick Szabo:比特币的收益仍远超黄金等资产:据beincrypto消息,智能合约先驱Nick Szabo发推表示,在使用夏普比率进行风险调整后,在超过四年的时间里,比特币的收益远远超过了美国股票、房地产、债券、黄金等其他受欢迎的资产。尽管比特币是一种易变资产,具有较高的风险,但其性能仍比传统上较安全的资产(如黄金和房地产)高得多。[2020/1/24]
0x6e7f5c0b9f4432716bdd0a77a3601291b9d9e985
漏洞成因分析
漏洞产生原因在于 Defi 协议与代币协议之间的不兼容,其不兼容主要是 zabuFarm 合约质押功能与 spore 合约转账功能出现冲突,下面从双方功能实现逻辑来分析冲突。
声音 | Cobra:Nick Szabo不是中本聪 其太热衷于和非技术思维:比特币官方论坛Bitcoin.org持有人眼镜蛇Cobra刚刚发推文称,不知道人们真的怎么相信Nick Szabo(智能合约先驱尼克·萨博)可能是中本聪的,也许在他相对不为人知和“神秘”的特质上这是有道理的,但很明显,Nick Szabo太热衷于和非技术思维,更多的是自我驱动,这不是中本聪的特点。[2019/9/16]
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 函数进行费用记录更新
由此我们可以发现 zabuFarm 合约质押功能与 spore 合约转账功能出现冲突的本质在于 deposit 函数仅是对用户传入转账金额_amount 做用户账户更新记录,而不是对_transferStandard 函数在收取费用后实际转账做用户账户更新记录,导致实际收款小于账户记录,俗称亏本买卖。
简述攻击过程
1.利用攻击合约1 0x0e65,将 WAVAX 代币通过 Pangolin 置换成 SPORE 代币,并质押到 ZABUFarm 合约中;
2.通过攻击合约2 0x5c9A 从 Pangolin 闪电贷借出 SPORE 代币,并利用 SPORE 代币不断在 ZABUFarm 合约进行质押-提现的操作,消耗原本属于ZABUFarm 合约的SPORE 代币,由于 ZABUFarm 合约是通过 SPORE 代币总量计算奖励,攻击合约1 0x0e65 会获得巨额 ZABU 代币奖励;
3.最后取出质押 SPORE 代币,归还闪电贷,抛售 ZABU 代币获利。
总结
此次攻击属于 defi 协议与代币协议之间不兼容导致的,迄今为止此类攻击事件已发生数次,知道创宇区块链安全实验室再次提醒,近期各链上频频爆发攻击事件,合约安全愈发需要得到迫切重视,合约审计、风控措施、应急计划等都有必要切实落实。
继内蒙古、新疆、青海、云南、四川等地之后,安徽也将全面清理关停虚拟货币挖矿项目。合肥在线今日发布文章《我省全面清理关停虚拟货币挖矿项目》.
1900/1/1 0:00:00根据3月6日发布的一份文件,科罗拉多州州长Jared S. Polis已将“科罗拉多数字令牌法”签署为法律.
1900/1/1 0:00:00头条▌中国首笔数字人民币B2B支付结算在辽宁大连完成3月15日,辽宁省大连市两家燃油贸易企业通过数字人民币(e-CNY)支付方式在航运产业数字平台上完成一笔燃油交易的结算业务.
1900/1/1 0:00:00上图为BTC长期走势,下方为RSI曲线走势,可以看出,在BTC历史上前三轮牛市中,2011年、2013年和2017年牛市,每一轮牛市,随着价格一路向上.
1900/1/1 0:00:00近期各种利空,价格不断被打压,不过牛市仍未结束,上面比特币13、17和21年三轮牛市走势,可以发现,牛市进程中,都必须大幅调整,13年的大幅调整,价格最高涨至268美金,最低砸至51美金附近.
1900/1/1 0:00:00头条▌拜登下令就美国200多家公司遭勒索软件攻击事件进行调查美国拜登下令就美国200多家公司遭勒索软件攻击事件进行调查,拜登称:“最初的想法是不是俄罗斯政府所为,但我们还不确定.
1900/1/1 0:00:00