北京时间2022年2月22日下午1:46,CertiK安全专家团队检测到与FlurryFinance相关的一系列可疑活动,FlurryFinance的Vault合约受到攻击,价值约29.3万美元的资产被盗。
下文CertiK安全团队将从合约地址及攻击操作等方面为大家进行详细的解读并分析。
攻击步骤
①攻击者部署了一个恶意代币合约,并为代币和BUSD创建了一个PancakeSwap交易对。
攻击者:https://bscscan.com/address/0x0f3c0c6277ba049b6c3f4f3e71d677b923298b35
恶意代币合约:https://bscscan.com/address/0xb7a740d67c78bbb81741ea588db99fbb1c22dfb7
美国塔吉特百货公司现在在一些商店出售比特币硬件钱包:金色财经报道,Bitcoin Archive在社交媒体上称,美国塔吉特百货公司现在在一些商店出售比特币硬件钱包。[2022/10/12 10:31:41]
PancakeSwap交易对:https://bscscan.com/address/0xca9596e8936aa8e902ad7ac4bb1d76fbc95e88bb
②攻击者从Rabbit的Bank合约中进行闪电贷,并触发了StrategyLiquidate的execute方法。
execute方法将输入数据解码为LP代币地址,并进一步得到恶意代币合约地址。
攻击者利用恶意代币合约中的攻击代码发起初步攻击:https://bscscan.com/address/0xbeeb9d4ca070d34c014230bafdfb2ad44a110142
StrategyLiquiddate合约:https://bscscan.com/address/0x5085c49828b0b8e69bae99d96a8e0fcf0a033369
③恶意代币合约调用FlurryRebaseUpkeep合约的performUpkeep方法,对Vault合约的相关金额进行重新统计,并更新了与之相关的Rho代币的multiplier。
此处的multiplier将用于Rho代币的余额计算。对Vault合约的相关金额进行重新统计,并更新了与之相关的Rho代币的multiplier。此处的multiplier将用于Rho代币的余额计算。该更新基于与Vault合约相关的盈利策略合约里的余额。
更新是在闪电贷的过程中触发的,此时的闪电贷还未结束,借出的金额也还未归还,因此Bank合约的当前余额远小于正常值。此Bank合约也是某个strategy的一部分,因而使得某strategy的余额小于正常值,进一步导致multiplier小于正常值。
FlurryRebaseUpkeep合约:https://bscscan.com/address/0x10f2c0d32803c03fc5d792ad3c19e17cd72ad68b
其中一个Vault的合约:https://bscscan.com/address/0xec7fa7a14887c9cac12f9a16256c50c15dada5c4
④攻击者归还了闪电贷的款项并完成了初步攻击,且为进一步攻击获利做好了准备。
⑤在紧接着的交易中,攻击者以前一次交易中得到的低multiplier存入代币,将multiplier更新为更高的值,并以高multiplier提取代币。例如,在其中一笔初步攻击的交易中,multiplier被更新为4.1598e35。
在进一步攻击的交易中multiplier被更新为4.2530e35。
攻击实例:https://bscscan.com/tx/0x923ea05dbe63217e5d680b90a4e72d5552ade9e4c3889694888a2c0c1174d830
https://bscscan.com/tx/0x646890dd8569f6a5728e637e0a5704b9ce8b5251e0c486df3c8d52005bec52df
⑥因为multiplier乘数是决定Rho代币余额的因素之一:
攻击者的Rho代币余额在交易中增加了,所以ta能够从Vault中提取更多的代币。
⑦攻击者多次重复这一过程,从Vault合约中盗走了价值29.3万美元的资产。
因此CertiK的安全专家建议:项目在与外部合约交互之前应对其安全性有清晰的认知,并且限制外部依赖可能对自身合约的影响。
除此之外,CertiK官网https://www.certik.com/已添加社群预警功能。在官网上,大家可以随时看到与漏洞、黑客袭击以及RugPull相关的各种社群预警信息。
近期攻击事件高发,加密项目方及用户们应提高相关警惕并及时对合约代码进行完善和审计。除此之外,技术团队应及时关注已发生的安全事件,并且检查自己的项目中是否存在类似问题。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。