零时科技 || Victor the Fortune攻击事件分析

admin 2022年11月2日21:16:35评论28 views字数 1346阅读4分29秒阅读模式
零时科技 || Victor the Fortune攻击事件分析



事件背景

零时科技区块链安全情报平台监控到消息,北京时间2022年10月27日,BSC链上Victor the Fortune 合约受到黑客闪电贷攻击,攻击者已获利约5.8万美元,耗尽了流动资金池,攻击者地址为0x57c112cf4f1e4e381158735b12aaf8384b60e1ce,零时科技安全团队及时对此安全事件进行分析。



攻击步骤

1. 攻击者通过闪电贷借出约100,000 USDT

零时科技 || Victor the Fortune攻击事件分析

2. 将借出的USDT兑换为77,853 VTF

零时科技 || Victor the Fortune攻击事件分析

3. 调用updateUserBalance()函数计算获得奖励

零时科技 || Victor the Fortune攻击事件分析

4. 调用transfer函数将资金全部转移至 地址 0x1dd557415a0ddea7d3e56f49c78d54ebbf31f569 

零时科技 || Victor the Fortune攻击事件分析

5. 调用updateUserBalance()函数获得奖励

零时科技 || Victor the Fortune攻击事件分析

6. 重复执行第四步和第五步,最后共获得 499,803,157 VTF

零时科技 || Victor the Fortune攻击事件分析
零时科技 || Victor the Fortune攻击事件分析

7. 将获得的VTF兑换获得 158,450 USDT

零时科技 || Victor the Fortune攻击事件分析

8. 归还闪电贷后共获利 58,450 USDT

零时科技 || Victor the Fortune攻击事件分析



漏洞核心

攻击者通过调用transfer函数进行转账,在转账函数中调用了updateUserBalance()函数,由于此时userBalanceTime[user]为0会将当前时间赋值给userBalanceTime[user]。

零时科技 || Victor the Fortune攻击事件分析

之后调用updateUserBalance(),当userBalanceTime大于0时会调用 getUserCanMint函数计算奖励值

零时科技 || Victor the Fortune攻击事件分析

在getUserCanMint函数中计算返回值是用户的余额除以常数乘当前时间与用户开始时间的时间差,由于没有设置最小时间差,因此在很短时间调用函数也可以获得奖励。

零时科技 || Victor the Fortune攻击事件分析

由于调用一次updateUserBalance()函数后会更新时间,攻击者通过调用transfer函数将资金转移至一个新的地址,再次调用updateUserBalance()函数可以继续获利,并且当攻击者地址资金增加时获得的奖励也随着增加,攻击者通过重复以上步骤获得奖励逐渐增加直到将池子掏空。


零时科技 || Victor the Fortune攻击事件分析

总结建议

此次攻击是由于合约中的计算奖励函数的算法只与用户地址余额和时间差有关,攻击者通过先调用转账获得用户初始时间,之后调用获得奖励的函数,通过这两个函数调用过程中的时间差计算获得奖励。通过多次转账计算获得奖励使得资金累加,最后将池子中代币几乎掏空。

安全建议

  • 建议对于计算获得奖励时设置最小时间差,避免攻击者通过短时间多次调用函数获利。

  • 建议项目方上线前进行多次审计,避免出现审计步骤缺失



零时


零时科技 || Victor the Fortune攻击事件分析


零时科技 || Victor the Fortune攻击事件分析


往期内容回顾


零时科技 | Nomad 跨链桥被盗1.8亿美元事件分析

零时科技 | Audius金库1850万枚AUDIO被盗事件分析

零时科技 | Fortress攻击事件分析

Beanstalk Farms攻击事件分析 | 零时科技

为什么黑客如此“钟爱”跨链桥

零时科技 | Agave Finance攻击事件分析

零时科技联合创始人黄鱼先生受邀对话《Web3应用创新与生态安全》

零时科技创始人邓永凯先生受邀对话《公链隐私保护及生态安全》

零时科技 | 被盗6.1亿美金,Poly Network 被攻击复盘分析

零时科技 || Uniswap v3出现漏洞?No,新型钓鱼来袭!

原文始发于微信公众号(零时科技):零时科技 || Victor the Fortune攻击事件分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月2日21:16:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   零时科技 || Victor the Fortune攻击事件分析http://cn-sec.com/archives/1386133.html

发表评论

匿名网友 填写信息