http://www.7klian.com

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

在完成以上两步操纵之后,进攻者已经完成打猎前的筹备,随时可以开始进攻。
=
6792 => 利用 sUSD 在 bZX 兑换 WETH
在第一次进攻中,进攻者团结 Flash loan 和 Compound 中的贷款,对 bZx 实施进攻,主要分成以下几步:
4、偿还借贷
14400 ETH
总的收益为: 16774 – 14400 = 2374 ETH
在完成对 sUSD/WETH 的拉升后,进攻者此时需要收罗大量的 sUSD,为后续兑换 WETH 做筹备。为了告竣这个目标,进攻者向 Synthetix 提倡 sUSD 的购置,通过向 Synthetix 发送 6000 ETH 购置 sUSD,直接把 Synthetix 中的 sUSD 买空,Synthetix 合约返还 2482 个 ETH 给进攻者。

3、一杆进洞
在完成从 bZx 的借入之后,进攻者开始通过 Kyber 举办 sUSD 的买入操纵,第一次利用了 540 个 ETH 购置了 92,419.7 个 sUSD, 这个操纵令 WETH/sUSD 的价值瞬间拉低,捧高了 sUSD 的价值。这次的生意业务兑换的比例或许为 1:170,而 Kyber 最终是通过 UniSwap 来举办兑换的,所以此时 Uniswap 的 WETH/sUSD 处于低位,反过来,sUSD/WETH 升高。

完成了上面的操纵后,进攻者直接对 bZx 动员总攻,直接用之前操纵得来的一共 1,099,841 个 sUSD 向 bZx 兑换 WETH,此时由于 bZx 兑换照旧要去查询 Uniswap 的 sUSD/WETH 的价值,而这个价值已经被进攻者工钱拉得很高了,此时兑换,就能通过 1,099,841 个 sUSD 调换大量的 WETH, 此次生意业务一共用 1,099,841 个 sUSD 调换了 6792 个 WETH,此时进攻已经完成。
+
7500 => 偿还bZx闪电贷
6000  => 买空sUSD
=
支出
完成了对 bZx 的进攻之后,将 7500 ETH 偿还给 bZx, 完成闪电贷流程,从 bZx 来,再回到 bZx 去,还使 bZx 蒙受了损失。
0x762881b07feb63c436dee38edd4ff1f7a74c33091e534af56c9f7d49b5ecac15

+
2482 => Synthetix 返还
细节分解

媒介

通过 etherscan 上的阐明,我们看到这笔生意业务中产生了大量的 token 转账。

赛后复盘
防止发起
项目方在利用预言机获取外部价值的时候,应配置保险机制,每一次在举办代币兑换时,都应生存当前生意业务对的兑换价值,并与上一次生存的兑换价值举办比拟,假如颠簸过大,,应实时暂停生意业务。防备市场被恶意哄骗,带来损失。

7500 => bZx 闪电贷
两次进攻的主要原因照旧因为 Uniswap 的价值的猛烈变革最终导致资产的损失,这本该是正常的市场行为,可是通过恶意哄骗市场,进攻者可通过多种方法压低价值,使项目方造成损失。针对这种通过哄骗市场举办赢利的进攻,慢雾安详团队给出如下发起:
收入
通过阐明进攻者的进攻手法,我们统计下进攻者在进攻进程中的支出和收入环境。
注: 下文中呈现的 WETH 是 ETH 的 token 化代币,可统一认为是 ETH。与 ETH 之间的兑换比例是 1:1
第二次进攻与之前稍有差异,但焦点都在于节制预言机价值,并通过哄骗预言机价值赢利。

这表白 sUSD/WETH 的价值被进一步拉升,这加剧了 Uniswap 中 sUSD/WETH 的价值,此时价值已经到达巅峰了,或许是 1:157。

今早,bZx 疑似遭遇第二次进攻,差异的是本次的工具是 ETH/sUSD 生意业务对,但也许有人会有疑问,sUSD 不是对标 USD 的不变币吗?这都能被进攻?进攻手法详细是奈何的?带着这样的疑问,针对此次事件,慢雾安详团队接下来将复盘这两次进攻进程。
在完成第一次的 540 个ETH的兑换之后,进攻者再次在 Kyber 举办 18 次小额度的兑换,每次利用 20 个 ETH 兑换 sUSD,从 etherscan 我们可以或许看到,每一次的兑换返来的 sUSD 金额在不绝淘汰。

本次产生进攻的生意业务哈希为:
4. 用从 Compound 借来的 112 个 BTC 来在 UniSwap 中卖掉,由于第三步中 bZx 中的 5 倍杠杆已经把价值拉高,所以这个时候出售 ETH 必定是赚的,然后卖了 6871 个 ETH
+
1、赛前筹备
和第一次一样,首先进攻者需要从 Flash loan 借入必然的金额开始本次的进攻,第一次进攻是从 dYdX 借入 10000 ETH,这次,进攻者选择从 bZx 自己支持的 Flash loan 下手,借入 7500个 ETH。

1. 从 dYdX 借了 10000 个 ETH

2、发球
+
540 + (20*18) => 拉高 sUSD/WETH 价值

这么多转账生意业务中,进攻者一共购置了 20 次 sUSD,最终赢利离场,那么进攻者详细是怎么操纵的呢?我们利用区块欣赏器 bloxy.info 来做进一步阐明。
2. 到 Compound 用 5500 ETH 借了 112个 BTC 筹备抛售
16774 ETH
5. 偿还 dYdX 中的借贷
3. 到 bZx 顶用 1300个 ETH 开 5 倍杠杆做空,换了 51.345576 个 BTC,而这里调换的 BTC 是通过 Kyber Network 来获取价值的,然而 Kyber Network 最终照旧挪用 Uniswap 来获取价值,5 倍杠杆开完后兑换返来的 51 个 BTC 实际上是拉高了 UniSwap 中 BTC/ETH 的价值,调换价值是 1/109,可是实际上大盘的价值不会拉到这么多

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