木星链 木星链
Ctrl+D收藏木星链

DEF: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协议总锁仓量为2293.2亿美元:3月31日消息,据Defi Llama数据显示,目前DeFi协议总锁仓量2293.2亿美元,24小时增加0.96%。锁仓资产排名前五分别为Curve(211亿美元)、Lido(190.8亿美元)、MakerDAO(174.3亿美元)、Anchor(152.2亿美元)、AAVE(141亿美元)。[2022/3/31 14:29:45]

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

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

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

超过20个DeFi协议的锁仓量在1亿美元以上:据欧科云链OKLink数据显示,截至今日11时30分,以太坊上DeFi协议总锁仓量为180.3亿美元。其中排名前三的协议分别是Maker 25.7亿美元(-0.94%),WBTC 22.5 亿美元(+0.62%)以及Compound 17.2亿美元(+0.26%)。

此外当前包括Uniswap、Aave等共计8个协议的总锁仓量已经突破10亿美元,锁仓量超过1亿美元的协议数量则已超过20个。[2020/12/16 15:21:10]

(图解黑客攻击全流程)

第一步:闪电贷

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

DeFi项目HakkaFinance发布流动性挖矿方案 将采用线性下降模型:DeFi项目HakkaFinance(HAKKA)发布流动性挖矿模型。未来四年,HakkaFinance将通过流动性挖矿和激励计划向用户分发40%的HAKKA(约858,993,458枚)。为激励早期支持者参与,HakkaFinance计划初始阶段向用户提供更多的代币,即采用了一个线性下降模型,奖励的HAKKA代币逐周递减,第一年会分发总流动性挖矿计划奖励代币数量的40%,此后每年递减10%。第一周将分发7,362,801枚代币。在该模型中,将在210周后开采出858,993,458枚HAKKA。不过,具体的挖矿周期等信息后续可能会通过治理进行调整。注,HakkaFinance的创始人为以太坊开发者陈品,是以太坊智能合约及去中心化应用开发商Pelith创始人。[2020/8/25]

第二步:清空 Balancer 的 STA 资产

当前DeFi中锁定资产总价值达46.08亿美元:金色财经报道,据DeBank数据显示,DeFi中锁定资产总价值达46.08亿美元,Maker以10.4亿美元排在首位、Compound锁定资产总价值为8.14亿美元、Synthetix锁定资产总价值5.78亿美元。

注:总锁仓量(TVL)是衡量一个DeFi项目使用规模时最重要的指标,通过计算所有锁定在该项目智能合约中的ETH及各类ERC-20代币的总价值(美元)之和而得到。[2020/8/4]

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

动态 | DeFi项目锁仓价值15亿美元,过去一周环比增加16.58%:据DAppTotal.com DeFi专题页面数据显示:截至目前,已统计的34个DeFi项目共计锁仓资金达15亿美元,其中Maker锁仓5.61亿美元,占比37.34%,排名第一位;EOSREX锁仓3.45亿美元,占比22.97%,排名第二位;排名第三位的是Edgeware锁仓1.75亿美元,占比11.66%;Compound,Synthetix、dYdX、Nuo等其他DeFi类应用共占比28.03%。截至目前,ETH锁仓总量达401万,占ETH市场总流通量的3.66%,EOS锁仓总量达7,198万个,占EOS市场总流通量的6.86%。整体而言,过去一周随着市场行情的不断回暖,DeFi项目锁仓价值较上周环比大幅增加16.58%。[2020/2/10]

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

第三步:攻击获利

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

(第三步 :攻击获利图示上)

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

(第三步:攻击获利图示下)

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

接下来是最有趣的一部分,攻击者调用 gulp() 不断重置 _records[STA],使得 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 美元的数字资产,详情列表如下:

标签:DEFDEFIEFISTAAxis DeFiDefinixDEFILANCERInvest Like Stakeborg Index

抹茶交易所热门资讯
NFT:NFT 对阿什维尔艺术界的意义

由于饥饿的艺术家和著名的音乐家都声称不可替代的代币是下一件大事,阿什维尔的许多本地创作者都接受了这种相对较新的现象,以此将他们的艺术作品公之于众并从中获利.

1900/1/1 0:00:00
EFI:疫情与经济双寒冬下 为何中国资本却纷纷入场DeFi领域?

2020年,疫情下的全球经济,可谓是进入了寒冬腊月天。大量公司裁员、削减业务,负债累累,违约事件频发,就连一些国际巨头也不能幸免,有的最终只能向政府求助或是申请破产保护.

1900/1/1 0:00:00
以太坊:以太坊分水岭:建立自我延续的生态系统

原文标题:《以太坊分水岭》原文作者:David Hoffman,Bankless 联合创始人原文编译:Block unicoen在合并后的世界里,以太坊交易将通过一个非常具体和有序的流程流动.

1900/1/1 0:00:00
区块链:细数全球区块链创新50强榜单中的百倍千倍项目

随着区块链市场的火热,越来越多的项目开始涌现出来,但繁荣的市场下却是鱼龙混杂的景象,这使得很多人常常在杂乱无章的市场中无从下手.

1900/1/1 0:00:00
钻石手:数据解析:NFT 钻石手动向 分布和投资策略

近期,数字资产市场的宏观变化,也对 NFT 市场带来了冲击。根据 NFTGo.io 数据,目前,NFT 市场情绪较为冷淡.

1900/1/1 0:00:00
NFT:加密大佬如何看待当下NFT市场:短期繁荣不可持续 但仍长期看好

本文梳理自 Treeverse 创始人 Loopify 在个人社交媒体平台上的观点,律动 BlockBeats 对其整理翻译如下:2021 年 7 月.

1900/1/1 0:00:00