慢雾:详解 DeFi 协议 bZx 二次被黑_ETH:USD

本文作者:yudan@慢雾安全团队

前言

今早,bZx 疑似遭遇第二次攻击,不同的是本次的对象是 ETH/sUSD 交易对,但也许有人会有疑问,sUSD 不是对标 USD 的稳定币吗?这都能被攻击?攻击手法具体是怎样的?带着这样的疑问,针对此次事件,慢雾安全团队接下来将复盘这两次攻击过程。

在第一次攻击中,攻击者结合 Flash loan 和 Compound 中的贷款,对 bZx 实施攻击,主要分成以下几步:

从 dYdX 借了 10000 个 ETH

到 Compound 用 5500 ETH 借了 112个 BTC 准备抛售

到 bZx 中用 1300个 ETH 开 5 倍杠杆做空,换了 51.345576 个 BTC,而这里换取的 BTC 是通过 Kyber Network 来获取价格的,然而 Kyber Network 最终还是调用 Uniswap 来获取价格,5 倍杠杆开完后兑换回来的 51 个 BTC 实际上是拉高了 UniSwap 中 BTC/ETH 的价格,换取价格是 1/109,但是实际上大盘的价格不会拉到这么多

慢雾:远程命令执行漏洞CVE-2023-37582在互联网上公开,已出现攻击案例:金色财经报道,据慢雾消息,7.12日Apache RocketMQ发布严重安全提醒,披露远程命令执行漏洞(CVE-2023-37582)目前PoC在互联网上公开,已出现攻击案例。Apache RocketMQ是一款开源的分布式消息和流处理平台,提供高效、可靠、可扩展的低延迟消息和流数据处理能力,广泛用于异步通信、应用解耦、系统集等场景。加密货币行业有大量平台采用此产品用来处理消息服务,注意风险。漏洞描述:当RocketMQ的NameServer组件暴露在外网时,并且缺乏有效的身份认证机制时,攻击者可以利用更新配置功能,以RocketMQ运行的系统用户身份执行命令。[2023/7/14 10:54:22]

用从 Compound 借来的 112 个 BTC 来在 UniSwap 中卖掉,由于第三步中 bZx 中的 5 倍杠杆已经把价格拉高,所以这个时候出售 ETH 肯定是赚的,然后卖了 6871 个 ETH

慢雾:Platypus再次遭遇攻击,套利者获取约5万美元收益:7月12日消息,SlowMist发推称,稳定币项目Platypus似乎再次收到攻击。由于在通过CoverageRatio进行代币交换时没有考虑两个池之间的价格差异,导致用户可以通过存入USDC然后提取更多USDT来套利,套利者通过这种方式套利了大约50,000美元USDC。[2023/7/12 10:50:27]

归还 dYdX 中的借贷

第二次攻击与之前稍有不同,但核心都在于控制预言机价格,并通过操纵预言机价格获利。

注: 下文中出现的 WETH 是 ETH 的 token 化代币,可统一认为是 ETH。与 ETH 之间的兑换比例是 1:1

细节剖析

本次发生攻击的交易哈希为:

0x762881b07feb63c436dee38edd4ff1f7a74c33091e534af56c9f7d49b5ecac15通过 etherscan 上的分析,我们看到这笔交易中发生了大量的 token 转账。

慢雾:7月3日至7月7日期间?Web3生态因安全问题损失近1.3亿美元:7月10日消息,慢雾发推称,自7月3日至7月7日,Web3生态因安全问题遭遇攻击损失128,419,000美元,包括Encryption AI、AzukiDao、NFT Trader、MIKE&SID、Bryan Pellegrino、Aptos Foundation、Multichain、CivFund。其中,Multichain被攻击损失1.26亿美元。[2023/7/10 10:12:36]

这么多转账交易中,攻击者一共购买了 20 次 sUSD,最终获利离场,那么攻击者具体是怎么操作的呢?我们使用区块浏览器 bloxy.info 来做进一步分析。

1、赛前准备

和第一次一样,首先攻击者需要从 Flash loan 借入一定的金额开始本次的攻击,第一次攻击是从 dYdX 借入 10000 ETH,这次,攻击者选择从 bZx 本身支持的 Flash loan 下手,借入 7500个 ETH。

慢雾:共享Apple ID导致资产被盗核心问题是应用没有和设备码绑定:5月19日消息,慢雾首席信息安全官23pds发推表示,针对共享Apple ID导致资产被盗现象,核心问题是应用没有和设备码绑定,目前99%的钱包、交易App等都都存在此类问题,没有绑定就导致数据被拖走或被恶意同步到其他设备导致被运行,攻击者在配合其他手法如社工、爆破等获取的密码,导致资产被盗。23pds提醒用户不要使用共享Apple ID等,同时小心相册截图被上传出现资产损失。[2023/5/19 15:13:08]

2、发球

在完成从 bZx 的借入之后,攻击者开始通过 Kyber 进行 sUSD 的买入操作,第一次使用了 540 个 ETH 购买了 92,419.7 个 sUSD, 这个操作令 WETH/sUSD 的价格瞬间拉低,捧高了 sUSD 的价格。这次的交易兑换的比例大概为 1:170,而 Kyber 最终是通过 UniSwap 来进行兑换的,所以此时 Uniswap 的 WETH/sUSD 处于低位,反过来,sUSD/WETH 升高。

动态 | 慢雾:9 月共发生 12 起较典型的安全事件,供应链攻击趋势愈发明显:过去的 9 月区块链生态共发生 12 起较典型的安全事件,包括:EOSPlay 遭受新型随机数攻击、资金盘项目 FairWin 智能合约权限管理缺陷、EOS 黑名单账号 craigspys211 利用新晋 BP 黑名单缺陷转移走 19.999 万枚 EOS 等典型安全事件。此外,慢雾区块链威胁情报(BTI)系统监测发现,针对区块链生态的供应链攻击越来越多,形如:去年 11 月慢雾披露的污染 NPM 模块 EventStream、今年 7 月披露的对数字货币钱包 Agama 构建链的攻击、今年 8 月披露的针对数字货币行情/导航站的 URL 劫持攻击,还有 9 月慢雾披露的针对交易所使用的第三方统计、客服 js 的恶意代码植入,进行实施盗币攻击。[2019/10/1]

在完成第一次的 540 个ETH的兑换之后,攻击者再次在 Kyber 进行 18 次小额度的兑换,每次使用 20 个 ETH 兑换 sUSD,从 etherscan 我们能够看到,每一次的兑换回来的 sUSD 金额在不断减少。

这表明 sUSD/WETH 的价格被进一步拉升,这加剧了 Uniswap 中 sUSD/WETH 的价格,此时价格已经达到顶峰了,大概是 1:157。

在完成以上两步操作之后,攻击者已经完成狩猎前的准备,随时可以开始攻击。

3、一杆进洞

在完成对 sUSD/WETH 的拉升后,攻击者此时需要采集大量的 sUSD,为后续兑换 WETH 做准备。为了达成这个目的,攻击者向 Synthetix 发起 sUSD 的购买,通过向 Synthetix 发送 6000 ETH 购买 sUSD,直接把 Synthetix 中的 sUSD 买空,Synthetix 合约返还 2482 个 ETH 给攻击者。

完成了上面的操作后,攻击者直接对 bZx 发动总攻,直接用之前操作得来的一共 1,099,841 个 sUSD 向 bZx 兑换 WETH,此时由于 bZx 兑换还是要去查询 Uniswap 的 sUSD/WETH 的价格,而这个价格已经被攻击者人为拉得很高了,此时兑换,就能通过 1,099,841 个 sUSD 换取大量的 WETH, 此次交易一共用 1,099,841 个 sUSD 换取了 6792 个 WETH,此时攻击已经完成。

4、归还借贷

完成了对 bZx 的攻击之后,将 7500 ETH 归还给 bZx, 完成闪电贷流程,从 bZx 来,再回到 bZx 去,还使 bZx 遭受了损失。

赛后复盘

通过分析攻击者的攻击手法,我们统计下攻击者在攻击过程中的支出和收入情况。

7500 => bZx 闪电贷+2482 => Synthix 返还+6792 => 使用 sUSD 在 bZX 兑换 WETH=16774 ETH支出

540 + (20*18) => 拉高 sUSD/WETH 价格+6000  => 买空sUSD+7500 => 归还bZx闪电贷=14400 ETH总的收益为: 16774 - 144002374 = 2374 ETH

防御建议

两次攻击的主要原因还是因为 Uniswap 的价格的剧烈变化最终导致资产的损失,这本该是正常的市场行为,但是通过恶意操纵市场,攻击者可通过多种方式压低价格,使项目方造成损失。针对这种通过操纵市场进行获利的攻击,慢雾安全团队给出如下建议:

项目方在使用预言机获取外部价格的时候,应设置保险机制,每一次在进行代币兑换时,都应保存当前交易对的兑换价格,并与上一次保存的兑换价格进行对比,如果波动过大,应及时暂停交易。防止市场被恶意操纵,带来损失。

慢雾导航

慢雾科技官网

https://www.slowmist.com/

慢雾区官网

https://slowmist.io/

慢雾 GitHub

https://github.com/slowmist

Telegram

https://t.me/slowmistteam

Twitter

https://twitter.com/@slowmist_team

Medium

https://medium.com/@slowmist

币乎

https://bihu.com/people/586104

知识星球

https://t.zsxq.com/Q3zNvvF

火星号

http://t.cn/AiRkv4Gz

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

水星链

[0:15ms0-0:937ms