BAL:Balancer因通缩代币STA遭遇闪电贷攻击,价值50万美元资产被黑

写在前面:北京时间6月29日,知名defi项目Balancer的两个资产池遭遇闪电贷攻击,价值50万美元的代币被攻击者抽走,对此,defi服务商1inch及Balancer项目方相继对攻击事件进行了复盘。此外,Balancer联合创始人兼CTOMikeMcDonald还提醒称,任何恶意的ERC20代币都有可能被添加到Balancer合约层,因此需要注意这种未知的风险,根据此前的计划,Balancer很快将进行第三次安全审计。

火币合约平台将于1月29日14点上线BAL、ZEN等品种USDT本位永续合约:据官方公告,火币合约平台将于2021年1月29日14点上线BAL、ZEN、MANA、AKRO、SAND、BADGER、BAGS和MASS品种USDT本位永续合约。[2021/1/28 14:12:25]

今天,至少有两个Balancer多币资产池遭到闪电贷攻击,导致价值50万美元的资产被耗尽,原因是AMM和通缩代币模型环境造成的漏洞。

Balancer池是类似Uniswap的自动做市商,其包含了多种资产,并通过特殊数学公式形成价格,为交换任何资产创造套利机会。

据defi服务商1inch分析,攻击者向以太坊主网发送了一笔复杂的交易,导致对其中一个Balancer资产池发起攻击,几分钟后,其发起了第二笔交易,并耗尽了另一个Balancer资产池,以下是1inch编写的分析报告:

BKEX Global将于今日16:30上线ORN:据BKEX Global公告,BKEX Global将于2020年9月30日16:30(UTC+8)上线ORN(Orion Protocol),开放交易对:ORN/USDT。

Orion是一个提供B2B + B2C流动性解决方案的DeFi平台。它旨在通过将整个加密市场的流动性汇总到一个去中心化平台中来解决DeFi中的痛点:流动性问题 - 从每个主要的中心化交易所,去中心化交易所和流动性池中将流动性进行聚合。[2020/9/30]

攻击者使用智能合约在单笔交易中自动执行多个操作。在第一步,攻击者通过闪电贷从dYdX获得10.4万WETH,这些资金被用于将WETH与STA代币来回交换24次,从而将STA余额从Balancer池中抽走,然后池中资产变成了1weiSTA。

BKEX Global将于今日18:30上线PNK:据BKEX Global公告,BKEX Global将于2020年8月11日18:30(UTC+8)上线PNK(Kleros),开放交易对:PNK/USDT。

Kleros为所有问题提供快速、安全、可负担的仲裁。Kleros是连接需要解决纠纷的用户与拥有解决问题技能的陪审员的沟通工具。用户担任Kleros陪审员,在每个陪审团工作中收到相应仲裁费,获得经济收益。Pinakion保护系统免受“女巫攻击”,也激励陪审员诚实投票,让条理混乱的陪审员支付部分其保证金给条例清晰的陪审员。[2020/8/11]

造成这个问题的原因在于,Balancer资产池合约跟踪合约中的代币余额,而STA代币有一个通缩模型,从接收方收取1%的传输费,从而导致transfer和transferFrom()的错误行为。因此,每当攻击者将WETH交换到STA时,Balancer池收到的STA就比预期的少1%。

行情 | ULM上线BKEX Global,现报价1.009 USDT:据BKEX Global数据显示,ULM开盘最高涨幅超过0.9%,现报价1.009 USDT。

据介绍,ULM,即?种?户借助主链平台通过质押数字&实体资产来获得的可流通等价或溢价权证。ULM系统作为?种去中?化的应?,它可以让?户创建基于原有真实资产(无论数字或实体)的等价或更高价值的溢价权证,其为资产稳定通证与USD软锚定,1ULM≈1USD。[2020/1/20]

然后下一步,攻击者多次将1weiSTA换成WETH,由于STA代币传输费的实施,资产池中从未收到STA,但它却释放了WETH。重复相同的步骤,攻击者就从Balancer资产池中抽走了WBTC、SNX以及LINK代币余额。

而最后一步,攻击者向dYdX偿还了10.4万WETH,攻击者通过存入一些weiSTA迅速增加其在Balancer池中的份额,然后,他通过UniswapV2将收集的Balancer池代币交换成13.6万STA,然后再次将13.6万STA交换成109WETH。

所有被盗资金都被转移到以下地址:0xbf675c80540111a310b06e1482f9127ef4e7469a;

1inch总结称:这次攻击的幕后黑手,是一位非常老练的智能合约工程师,他对领先的DeFi协议有着广泛的知识和理解。

显然,这次攻击是有着充分计划的,此外,他还用TornadoCash来获得初始资金,用于部署智能合约和执行攻击,从而隐藏了ETH的来源。

Balancer项目方的分析与反应

在攻击发生后,Balancer项目方也进行了分析:

通过闪电贷从dYdX借出ETH并转换为WETH;

不断交易WETH&STA;

在每笔交易中,STA都有一笔转移费,而资产池希望它在没有这笔费用的情况下获得余额;

经过足够的调用后,攻击者调用gulp,该函数将代币余额的内部池记帐同步到代币跟踪器合约中存储的实际余额;

由于STA的余额接近于零,因此它相对于其他代币的价格非常高,攻击者现在可以使用STA,以极低的成本交换池中的其他资产;

对此,Balancer联合创始人兼CTOMikeMcDonald在博客中写道:

“尽管事先我们并不知道这种特定类型的攻击是可能的,但我们在文档、discord及其他渠道中始终警告ERC-20与传输费可能在协议中产生的意外影响。这就是为什么STA不包含在最近汇总的BAL挖矿白名单中的原因。

该系统是为符合ERC20标准而设计的,当代币表现出意外的行为时,可能会发生不良情况。Balancer是一种无需许可的协议,始终可以在合约层添加损坏或恶意的代币。

至于下一步,我们将开始向UI黑名单中添加传输费代币,类似于我们对无bool转移代币所做的一样。请注意,这些列表并不详尽,任何新代币都可以随时添加到Balancer。

我们将添加更多文档,说明这些资产池如何工作,以及存在漏洞或恶意设计的代币可能如何从资产池中耗尽资产的风险。

Balancer已经过2次全面审核,并且已经制定了第三次审核计划,这次审核很快将开始。我们将继续审核和审查Balancer协议。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-0:883ms