11

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

 3 years ago
source link: https://www.tuoniaox.com/news/p-515395.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

SharkTeam 2021-09-13 20:31
article_qmarks.svg 摘要:

闪电贷攻击:Zabu Finance被黑事件分析

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

image.png

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

一、事件分析

image.png

攻击大致分为两步:

(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 代币,使得值变得非常小,为后面的攻击创造条件。

image.png

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

image.png

image.png

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

image.png

image.png

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

image.png

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

二、安全建议

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

image.png

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

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

image.png

和2万人一起加入鸵鸟社群

添加QQ群:645991580

添加TG群:鸵鸟中文社区 https://t.me/tuoniaox

声明: 鸵鸟区块链所有发布内容均为原创或授权发布,如需转载,请务必注明文章作者以及来源:鸵鸟区块链(微信公众号:MyTuoniao),任何不尊重原创的行为鸵鸟区块链都将进行责任追究!鸵鸟区块链报道和发布内容,不构成任何投资建议。

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK