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

STA: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。

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

数据:当前DeFi协议总锁仓量为2049亿美元:10月7日消息,据Defi Llama数据显示,目前DeFi协议总锁仓量2049亿美元,24小时增加1.36%。锁仓资产排名前五分别为AAVE(157亿美元)、Curve(156.3亿美元)、Maker DAO(135.3亿美元)、InstaDApp(120.5亿美元)、WBTC(113.7亿美元)。[2021/10/7 20:10:53]

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

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

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

Anthony Pompliano:推动DeFi局的正是当初那些推动ICO局的人:10月10日消息,MorganCreekDigital联合创始人AnthonyPompliano发推特称,“推动这些DeFi局的,正是当初那些推动ICO局的人。他们当时拿走了你的钱,现在也要拿走你的钱。继续进行中。”(zycrypto)[2020/10/10]

第一步:闪电贷

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

第二步:清空Balancer的STA资产

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

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

币赢CoinW将于8月12日19:00在DeFi专区上线STAKE:据官方消息,币赢CoinW将于8月12日19:00在DeFi专区上线STAKE/USDT交易对,开启“充值送STAKE,-0.1%Maker费率\"活动;据悉,xDai Chain是一个由MakerDAO基金会与POA Network联合推出的美元稳定币区块链,也是一个与以太坊兼容的侧链,其使用稳定币xDai(由以太坊上的去中心化稳定币Dai在侧链上按照1:1比例兑换而来)作为基础代币用于交易和支付gas费用,并通过STAKE代币,借助独特的权益证明算法—POSDAO来进行记账和治理。[2020/8/12]

第三步:攻击获利

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

火币研究院:DeFi整体可持续性相对较弱:7月24日晚8点,火币研究院直播栏目《洞若观火的研究员》正式上线,本次直播首秀主题为“区块链行业最强智库天团——火币研究院巅峰成团夜”。

在《DeFi 2020:衔木棍的海鸟》环节,火币研究院表示,DeFi目前无论是机制设计、开发规划和激励体系都略为脆弱,好比是想要衔着木棍穿越海洋的海鸟,整体可持续性还是相对较弱。详情点击原文链接。[2020/7/24]

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

韦氏评级:目前DeFi领域的小泡沫不会伤害整个生态系统:加密评级机构韦氏评级发推称,目前在DeFi 领域看到的小泡沫不会伤害整个生态系统,就像ICO狂热没有伤害到2017年的加密行业一样。事实上,很多伟大的项目都是从泡沫中诞生的。而泡沫所做唯一的一件事就是让没有经验的交易者输个精光。而在今日稍早前,韦氏评级还发推称,DeFi将和加密市场其他部分脱钩的想法是可笑的。其还预言,狂热会结束,DeFi将会和加密市场中其他交易一样。[2020/6/24]

另外我们发现,在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美元的数字资产,详情列表如下:

标签:STADEFIEFIDEFKaraStar UMYPEET DeFiPeakDeFiEVAL DEFI

BNB热门资讯
COMP:DeFi发币潮之下,散户真能赚到钱吗?

文|王也?编辑|郝方舟出品?|?Odaily星球日报 三个月前,DeFi众产品还陷入集体性信任危机中:「3.12」暴跌下的挤兑提币、连锁反应下的清算、拥堵不堪的以太坊网络、接连被黑客攻击的DeF.

1900/1/1 0:00:00
OUT:非同质化代币:技术融合将解锁下一个十亿美元的资产类别

撰文:AndrewSteinwold编译:PerryWang本文发表于2019年7月作者的博客上。尽管文中部分信息已过时,但多数观点依然成立。作者授权链闻翻译并发表中文版本.

1900/1/1 0:00:00
DEFI:长铗: DeFi打开了资产上链的任意之门

DeFi无疑是当前区块链圈内最热的话题。近期Compound推出“借贷即挖矿”,发行的代币上市就成为DeFi市值第一名,彻底点燃了DeFi的热情.

1900/1/1 0:00:00
COIN:Filecoin挖矿江湖事:万事俱备只欠东风

Filecoin正红。就像堆叠硬盘提供存力,Filecoin堆叠了行业内的无数资源,从业者都在等待着资源变现。即使Filecoin苦信仰者久矣,很多人离开了,但还有更多人进入了.

1900/1/1 0:00:00
CEL:实现更快、更廉价的国际结算,新加坡区块链支付系统准备投入使用

据外媒7月14日报道,新加坡创建了一个基于区块链的支付系统Ubin。新加坡金融管理局指出,该区块链支付网络有可能实现更快、更廉价的国际结算.

1900/1/1 0:00:00
FIL:Filecoin主网上线日确定,3个月暴涨286%,市场火爆背后暗藏玄机

7月6日,Filecoin出台测试网奖励计划,400万FIL代币奖励成为全球加密投资者眼中的香饽饽.

1900/1/1 0:00:00