火星链 火星链
Ctrl+D收藏火星链
首页 > Pol币 > 正文

BALA:DeFi平台Balancer遭黑客攻击全过程技术拆解

作者:

时间:1900/1/1 0:00:00

北京时间06月29日凌晨02时03分起,最近因“借贷即挖矿”模式而备受关注DeFi平台Balancer上的STA和STONK两个ERC20通缩代币池遭到了黑客攻击,共计损失了超50万美元。

PeckShield安全人员介入分析后,迅速定位到问题的本质在于,Balancer上的通缩型代币和其智能合约在某些特定场景不兼容,使得攻击者可以创建价格偏差的STA/STONK流通池并从中获利。

此次黑客实施攻击共计分了四个步骤,具体而言:

1)攻击者通过闪电贷从dYdX平台借出了104,331个WETH;

2)攻击者反复执行swapexactMountin()调用,直至Balancer拥有的大部分STA代币被消耗殆尽,进而开始下一步攻击。最终Balancer仅仅剩余0.000000000000000001个STA。

DeFi协议Umami获Circle批准开设其账户,支持企业通过USDC进入加密领域:9月9日消息,机构级DeFi协议Umami获Circle批准开设Circle账户。通过Circle帐户,企业可以使用USDC进入加密领域、使用USDC进行交易等方式快速融入数字经济。Umami表示,随着机构对合规DeFi产品的兴趣不断增加,Umami希望与Circle共同探索创建一个更加开放和包容的金融体系。[2022/9/9 13:18:58]

3)攻击者利用STA代币和Balancer智能合约存在的不兼容性即记账和余额的不匹配性实施攻击,将资金池中的其他资产耗尽,最终共计获利价值523,616.52美元的数字资产。

4)攻击者偿还从dYdX借出的闪电贷,并卷走了攻击所得的数字资产。

金色财经CEO安鑫鑫:DeFi最大的问题是收益率影响很大:金色财经现场报道,4月25日,2021新基建区块链峰会在成都举办。在分布式存储新时代分会场上,金色财经CEO安鑫鑫以《换个角度 看待区块链挖矿产业》为题进行分享。他指出,AMM流动性挖矿的机制可以称得上区块链第三大发明,它打开了整个区块链应用的窗口。DeFi的本质是可以通过挖矿的方式运转。其与其他项目不同的是,是链上应用层面,基于任何一个网络都可以运营。但是DeFi最大的问题是收益率影响很大,需要实现长久正循环。

安鑫鑫总结表示,挖矿产业是区块链的基石,可以选择适合自己的好矿挖起来。[2021/4/25 20:55:56]

接下来的篇幅中,我们将逐步解析黑客在该笔闪电贷交易(http://oko.palkeo.com/0x013be97768b702fe8eccef1a40544d5ecb3c1961ad5f87fee4d16fdc08c78106/)中实施的攻击行为。

币赢DeFi专区保险协议ISM上涨129%:官方消息,新型币价保险协议ISM上线币赢CoinW后24H上涨129%,当前报价50.32USDT,日成交量突破100万美元。

据悉,ISMProtocol是新型Defi币价保险协议。按照传统金融市场保险类资产规模占比2-3%估算,ISM将有机会占据5000亿美元的加密保险赛道的流通市值规模。[2021/3/18 18:57:31]

Balancer遭黑客攻击全过程技术拆解

第一步:闪电贷

从dYdX闪电贷104,331WETH,这部分熟悉DeFi借贷模式的读者应该都比较清楚,此处不再赘述。

第二步:清空Balancer的STA资产

分析师:过去几个月以来DeFi发展迅猛:金色财经报道,根据推特分析师Ceteris Paribus汇编的数据,过去几个月以来DeFi发展迅猛。5月、6月、7月和8月的数据显示,DeFi加密资产的价格分别平均上涨了42.9%、56%、60.5%和168.4%,这对于任何资产类别来说都是大幅的收益。[2020/9/2]

攻击者通过多次swapExactAmountIn()调用清空了Balancer的STA资产,为下一步实施攻击做准备。值得一提的是,我们发现合约代码中每次能够兑换的资产数额其实有上限,然而狡猾的攻击者预先计算了可兑换的WETH最大数额,并巧妙的让Balancer只剩了0.000000000000000001STA。

由于Balancer资金池各资产间存在“动态平衡”原理,仅剩接近于0的STA会拉高STA的价值,使得任何人都可以用1STA换到大量的其他数字资产。

第三步:攻击获利

经过前两个准备步骤之后,攻击者是时候展现真正技术了!

承上所述,攻击者通过swapExactAmountIn()函数将0.000000000000000001STA发送到BPool,以极高的价值差,立即兑换出了30,347个WETH,实现了获利。而此时,BPool的内部记账机制_records在BPool真正收到0.000000000000000001STA之前先加了1。

另外我们发现,在swapExactAmountIn()的底部,_pullUnderlying()尝试从攻击者端收集相应消耗的STA。然而,由于STA转账时还会烧掉1%的手续费,实际BPool是收不到任何STA的。这样就使得BPool的实际STA余额和内部记账产生不匹配。

接下来是最有趣的一部分,攻击者调用gulp()不断重置_records,使得BPool中始终保持0.000000000000000001个STA。因此攻击者可以用极高价的0.000000000000000001个STA将流通池中的WETH、SNX、LINK等其他资产消耗光。

第四步:偿还闪电贷

最终,如上图所示,攻击者偿还了从闪电贷借出的104,331个WETH。

建议

此次攻击事件再次暴露了DeFi可组合性存在的兼容性风险。此前不久,Uniswap和Lendf.Me两个平台就因和ERC777标准的兼容性问题,产生了非常严重的黑客攻击事件。需要警醒的是,在未来DeFi行业类似的黑客攻击行为或许会屡见不鲜。

如果问该怎样才能规避这类攻击事件的发生呢?或许有两个优化调整思路:1)STA/STONK在执行transfer()或transferFrom()时,当转账数额不足以支付手续费时,应该直接回滚或者返回False;2)Balancer应该在每一次transferFrom()函数调用后检查BPool的余额。

当然,任何安全事件事后采取措施补救都无法弥补已经产生的损失,我们相信最好的解决方案还是事前防备。DeFi项目开发者应尽可能利用好的代码规范,并可寻求第三方安全公司协助其在上线前进行全面的攻防测试,尽可能找出一切潜在的漏洞。最后,尽可能对ERC20、ERC777和其它DeFi项目的任何组合行为都做好周密排查。

后续

毫无疑问,Balancer事件的发生势必也会对DeFi社区带来影响,而且这类事情接下来发生的可能性还会很大,在此提醒广大DeFi项目开发者应务必重视合约的安全问题。

经我们统计发现,Balancer在此次攻击事件共计损失了523,616.52美元的数字资产,详情列表如下:

本文链接:https://www.8btc.com/media/615706

转载请注明文章出处

标签:STAALABALANCESTARPSAFEGALAXY 币Tor CabalaTesta Finance

Pol币热门资讯
300:币上皇:大饼6月30早间思路与方向

币上皇早间思路:?先看均线有回落向下的趋势,那么会继续回调现价处于10日均线下方,那么5日均线已经拐头短期的话我们先把支撑为给到30日和60日附件那么今天的思路还是很明显.

1900/1/1 0:00:00
BTC:乐观情绪充斥市场,大型机构多头头寸持仓量再创新高 | CFTC COT 比特币持仓周报

6月27日,CFTC公布了最新一期的CME比特币期货周报,统计周期中BTC行情运行平稳,市场情绪并没有出现特别明显的波动,仅在统计周期末端出现了一波小幅反弹.

1900/1/1 0:00:00
BIG:系统维护通知(2020/06/30)

亲爱的用户:为提升系统性能,BigONE将在?2020年6月30日15:00-15:30进行系统升级维护。维护期间,BigONE所有代币将暂停提现,影响范围包括App端、Web客户端、API端.

1900/1/1 0:00:00
比特币:币凯言:6.29比特币以太坊晚间行情分析子弹准备好晚间多单怼进去

赠言:我们无法预知未来的路,只得集中精力走好脚下的每一步。该发生的总会发生,不管你是否为此焦虑。向前走,向前看,生活就这么简单.

1900/1/1 0:00:00
:币圈小蝶:面对币圈复杂的讯息,我们需要做到的几点

?1.面对复杂的讯息,学会“逃避”在币圈,我们会接收到各种各样的讯息,一些垃圾信息层出不穷,这些垃圾信息很容易误导我们投资,引起我们的亏损.

1900/1/1 0:00:00
BAL:现货API更新日志(2020年6月)

尊敬的用户:欢迎使用火币API!我们将在本公告内持续记录API更新日志,请您及时关注。更多详情,请参考火币官方.

1900/1/1 0:00:00