Hitbtc

The home of digital asset trading

SharkTeam独家分析 | 闪电贷攻击:Zabu Finance被黑事件分析

hitbtc1个月前94

北京时间9月12日,Avalanche上 ZabuFinance 项目遭受闪电贷攻击。攻击流程与之前发生的多起安全事件非常相似,内部的交易攻击手法与今年7月份发生的PolyYeld Finance攻击事件相同。均使用当前合约的代币余额作为除数来计算奖励因子,攻击者利用合约的漏洞使得合约的余额消耗到一个很小的值,而后将其其作为除数计算奖励因子,使其值异常的大,攻击者获得巨额的奖励代币。

SharkTeam第一时间对此事件进行了攻击分析和技术分析,并总结了安全防范手段,希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。

一、事件分析

攻击大致分为两步:

(1)利用合约漏洞消耗 Zabu Farm 合约的SPORE代币,使lpSupply的值非常小,根据lpSupply计算的奖励因子accRewardPerShare值非常大。

(2)攻击者调用 Zabu Farm合约的updatePool(uint256 _pid) public 函数,更新accRewardPerShare因子,并调用withdraw(uint256 _pid, uint256 _amount) public 函数提取巨额奖励获利。

第一步:

https://cchain.explorer.avax.network/tx/0x0d65ce5c7a0c072b14ec5da08488d07778f334a7ddb6b7a30df97f274f3e1eb3/token-transfers

第二步:

https://cchain.explorer.avax.network/tx/0x8b3042e55a63f39bb388240a089cf4d51e59abe7cb0bff303c6dbb19eaeb75ac/token-transfers

攻击者之所以可以使得 ZabuFarm 合约的代币余额变为一个很小的值,是因为合约设计的缺陷。在用户存入和提取SPORE时,合约并没有考虑到手续费的因素,使得攻击者在一笔交易内,通过反复读取的方式来消耗当前合约SPORE 代币,使得值变得非常小,为后面的攻击创造条件。

通过前一笔交易的攻击,合约中lpSupply的数量变为2。此时攻击者发起第二笔交易,调用ZABUFarm 合约的updatePool(uint256 _pid) public 函数来更新奖励因子,获得的值异常的大。

而后,攻击者通过call调用withdraw(uint256 _pid, uint256 _amount) public 函数,获得巨额的奖励。

在给攻击者发送奖励时,使用safeTokenTransfer(address _to, uint256 _amount)函数,当前合约 Zabu代币余额不足以支付发放奖励,将当前合约的所有余额(4525726903052326398176909438)发放给攻击者。

总结:此次攻击是由于 Zabu合约在进行函数调用时消耗合约本身的SPORE 代币导致的,如果用户在合约中存入 100 枚代币,仍可以从合约中中提取 100 枚代币。但实际上,在交易中会收取一定比例的手续费,合约中的余额应是扣除手续费后的数值。一旦流动池中的总代币余额极小时,获得奖励就会变得非常的大。

二、安全建议

此次事件是又一次与闪电贷有关的安全事件,DeFi项目的业务逻辑设计复杂,涉及的经济学计算和参数较多,却不同项目和协议之间可组合性极其丰富,很难预测,非常容易出现安全漏洞。如下表,利用闪电贷这种新型产品进行攻击的DeFi事件在过去的一年里层出不穷,已增加到40起。通常闪电贷攻击包括“哄抬套利”、“操纵预言机”、“重入攻击”和“技术漏洞”四种,本次属于基于利用“技术漏洞”进行的闪电贷攻击。

SharkTeam提醒您,在涉足区块链项目时请提高警惕,选择更稳定、更安全,且经过完备多轮审计的公链和项目,切不可将您的资产置于风险之中,沦为黑客的提款机。而作为项目方,智能合约安全关系用户的财产安全,至关重要!区块链项目开发者应与专业的安全审计公司合作,进行多轮审计,避免合约中的状态和计算错误,为用户的数字资产安全和项目本身安全提供保障。

SharkTeam作为领先的区块链安全服务团队,为开发者提供智能合约审计服务。智能合约审计服务由人工审计和自动化审计构成,满足不同客户需求,独家实现覆盖高级语言层、虚拟机层、区块链层、业务逻辑层四个方面近两百项审计内容,全面保障智能合约安全。

上一篇 下一篇

猜你喜欢

  • 红海中崛起,Celo打造去中心化移动支付

    红海中崛起,Celo打造去中心化移动支付

    作者:Rachel出品:2020年,Celo繁荣联盟因Libra(Diem前身)协会成员、联合创始人的加入,在币圈一炮而红,再加上a16z、Polychain的加持,自诞生起,Celo一路走得颇为顺利,致力于移动端支付市场的稳定币发展,生态也逐渐繁荣。顺应当下行业趋势,8月底,Aave、Curve...

    1个月前106阅读更多
  • Arbitrum来势汹汹,L2助推以太坊稳固霸主地位

    Arbitrum来势汹汹,L2助推以太坊稳固霸主地位

    作者:陈一晚风出品:最近几天,数字资产领域备受瞩目的就是Arbitrum的爆发式增长。据DuneAnalytics统计数据显示,以太坊Layer2网络Arbitrum的资产桥TVL已突破21亿美元,其7天的TVL增长率超过了3200%,这样惊人的成绩,让大众都开始重新对以太坊L2燃起了斗志。据...

    1个月前103阅读更多
  • SharkTeam独家分析 | 闪电贷攻击:Zabu Finance被黑事件分析

    SharkTeam独家分析 | 闪电贷攻击:Zabu Finance被黑事件分析

    北京时间9月12日,Avalanche上ZabuFinance项目遭受闪电贷攻击。攻击流程与之前发生的多起安全事件非常相似,内部的交易攻击手法与今年7月份发生的PolyYeldFinance攻击事件相同。均使用当前合约的代币余额作为除数来计算奖励因子,攻击者利用合约的漏洞使得合约的余额消耗到...

    1个月前94阅读更多
  • Yam Finance将把误造的200亿枚YAM发送至其DAO金库,在下一个链上治理提案中销毁

    Yam Finance将把误造的200亿枚YAM发送至其DAO金库,在下一个链上治理提案中销毁

    9月13日消息,DeFi项目YamFinance发布YAM铸造漏洞事件分析,团队于9月9日发现因Yam的链上治理提案YIP-79,错误地铸造了200亿枚YAM代币,并将它们发送到YAM多重签名地址,但由于YAM代币合约不允许发送至销毁地址,因此无法直接从多重签名地址中销毁它们。团队表示解决方案是...

    1个月前119阅读更多
  • Cardano主网部署Alonzo硬分叉升级并启用智能合约功能

    Cardano主网部署Alonzo硬分叉升级并启用智能合约功能

    9月13日消息,Cardano开发公司InputOutput发推表示,已在Cardano主网部署了Alonzo硬分叉升级,正式进入智能合约时代,将通过HFC(硬分叉组合器)协议升级事件将Plutus智能合约功能部署到Cardano主网上。团队表示接下来的几个月将继续每两周发布一次代码更新,并定期...

    2个月前100阅读更多

网友评论