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

ETH:bZx协议再遭黑客“二连击”背后的技术命门

作者:

时间:1900/1/1 0:00:00

PeckShield 团队在上一篇文章《PeckShield:硬核技术解析,bZx协议遭黑客漏洞攻击始末》中分析了 bZx 于02月15日遭到黑客一次可组合资产流动性攻击,那是由于 bZx 合约对抵押品状态判断不完善导致的。

02月18日,bZx 再次遭遇了类似的攻击,这一次的攻击从技术原理与上一次不同,此次黑客是通过操纵 Oracle 价格对 bZx 合约进行了“蒙”。

从攻击流程上来看,这一次与上次刚好相反,但整体上的套利手段还是一致的,根本原因主要是由于平台间共享流动性过小以及价格机制设计缺陷导致的。

Figure: Five Exploitation Steps With Oracle Manipulation

本文的初衷是希望通过分析此漏洞的一些攻击细节让大家能够更直观的了解此次攻击事件,并希望可以引起更深入的讨论。我们相信,这些讨论将对 DeFi 社区的完善和发展是十分有益的,特别是项目方在开发下一代的 DeFi 类产品时,可以有助于设计出更安全,更可靠的流动性共享模型。

bZx官方:被盗资金已被归还:刚刚去中心化借贷平台bZx官方推特发布称,9月13日因合约漏洞而被盗4700枚ETH已被归还。[2020/9/14]

漏洞的攻击细节如下:

此攻击事件发生在北京时间 2020-02-18 11:18:58(块高度#9504627 )。攻击者的交易信息可以在 etherscan 上查到。此攻击过程可以分为以下五个步骤:

第一步:闪贷获取可用资产

bZx 合约有一个 flashBorrowToken() 接口,允许调用者可以“零成本”从 bZx 平台上借出资产参与 DeFi 活动,之后在完成这一笔交易的时候偿还这部分资产。且调用者在借出资产的同时,可以指定资产的接收方地址。 

Figure1: Flashloan Borrowing From bZx

本次攻击者向 bZx 平台借出 7,500 ETH,并指定攻击者的合约(此前已经部署)为资产接收方地址,这部分是基本的借贷功能,此处不做进一步解释。

Loopring交易所宣布上线bZx代币:路印协议Loopring官方刚刚发推,宣布Loopring交易所上线去中心化借贷平台bZx代币BZRX,开通BZRX-ETH交易对。早前消息,去中心化借贷平台bZx代币BZRX已于7月13日开始解锁。[2020/7/16]

当这一步操作过后,如下表中所示系统资产分布:

第二步:拉升 sUSD

首先,我们介绍一下今天攻击者的最佳配角:sUSD,sUSD 是由 Synthetix 项目方发行的稳定币,其币价正常情况下与 1 美元持平,总发行量为 5,563,037 枚(统计于 2020年02月18日)。

通过第一步闪贷获得 ETH 后,攻击者分两批共 900 ETH 通过 KyberNetwork DEX 换取成 sUSD。其中第一次 使用 540 ETH 换取,(KyberNetwork 内部查询得到 KyberUniswap 的价格是最优的)攻击者得到 92,419 枚 sUSD;第二批分 18 次,每次 20 ETH 换取,(KyberNetwork 查询之后确认 Kyber-sUSD 的价格是最合适的),攻击者获得 63,584 枚 sUSD,总共获得了 156,003 枚 sUSD。 

DeFi贷款协议bZx公布BZRX地址,代币将于7月13日开始释放:7月12日消息,DeFi贷款协议bZx在推特表示,其代币BZRX地址已经确定为0x56d811088235F11C8920698a204A5010a788f4b3,目前正在等待更新代币logo。

此前报道,bZx团队决定将分配给众筹所用的代币置于一个为期4年的锁定合约,最短生效期(cliff)为6个月,BZRX代币释放的时间为美东时间7月13日10时,即北京时间7月13日22时开始计算。不过,目前团队并没有公布更多信息,包括可购买该代币的交易平台以及代币价格等。[2020/7/12]

Figure2: Pumping With Kyber (and Uniswap)

这两步骤也是正常的 DEX 币币交换的过程,在这两个批次操作之后 sUSD 对 ETH 的价格疯涨到了 0.00899,是市场价的 2.5 倍。

在这一步之后,使得 sUSD 价格被抬高了 1.5 倍,攻击者手里的资产还是正常与 KyberNetwork 交互,并没有实质性的攻击发生。然而,KybrNetwork 内部通过 Uniswap 完成 sUSD 与 ETH 转换,这使得那些将 Uniswap 作为 sUSD/ETH Oracle 的其它平台(比如说 bZx)误认为当前 sUSD 价格的确有这么高,这才触发了后面的攻击事件。此时,系统的资产如下:

动态 | bZx协议套利资金发生异动 2,371个ETH被转移:据PeckShield旗下数字资产可视化追踪平台CoinHolmes数据显示,今天上午 11 点43 分至 12 点 15 分,bZx 黑客账号0xb8c6ad开头的地址发生异动,黑客先往 0x6b5a 开头的新地址转移了 1个 ETH,之后再转移 2,370 个ETH,截至目前原地址仅剩18个ETH。PeckShield安全人员分析发现,0xb8c6ad地址开头的黑客于02月18日二次攻击bZx并获利2,378个ETH。此次转移存在黑客通过转移资金进行的可能性,具体原因尚待进一步观察。PeckShield正锁定监控目标资金转移进一步动向,在此提醒广大用户谨慎参与投资,避免数字资产遭到损失,同时呼吁各大交易所应做好地址标记,协助并及时冻结流入的赃款。[2020/2/20]

第三步:吸纳更多筹码

攻击者希望将手里的 6,000 ETH 通过 Synthetix exchangeEtherForSynths() 接口全部换成 sUSD。而 Synthetix 这边也没有足额的 sUSD 来促成这笔交易,只交换了其中的 3,518 枚 ETH,并将剩余的 2,482 枚 ETH 返还给攻击者,攻击者获得了 943,837 枚 sUSD。

声音 | Ethhub创始人:bZx疑似再次发生攻击 或损失2388个 ETH:以太坊爱好者、Ethhub 创始人 Eric Conner 在推特上表示,bZx 攻击疑似再次出现,如果确认的话,这一次攻击者获利 2,388 个 ETH(约 64.4 万美元)。Eric 表示,攻击者疑似借了 7500 个 ETH,换成 WETH 后,抛售换成 Synthetix 合成的 sUSD。[2020/2/18]

Figure3:Hoarding From Synthetix

到此为止,攻击者手里已经拥有的 sUSD 总量为 1,099,841 枚,占总发行量的  19.7%。

当前系统中的账本数据如下:

第四步:抵押借款

攻击者将手里拥有的 1,099,841 枚 sUSD 通过 bZx 的 borrowTokenFromDeposit() 接口全部抵押到 bZx 合约之中,按照 sUSD/ETH 正常价格的话,bZx 应当借给攻击者 3,928 ETH,但是 bZx 从 Oracle Kyber 这边获取的价格偏高,使得借出了 6,796 枚 ETH,多借了 2,868 ETH。

Figure4: Collateralized Borrowing From bZx

到此为止,系统的账本信息如下:

第五步:闪贷还款

攻击者利用从 bZx 借到的 6,796 枚 ETH 以及手中剩余的资产一起还给之前从 bZx 借出来的 7,500 ETH,然后退场离开,完成闪贷操作。 

Figure5: Repay The Flashloan To bZx

完成整个闪电贷流程之后,当前资产情况:

1)bZx 平台对攻击者借出的 6,796 ETH;

2)bZx 平台持有 1,099,841 枚 sUSD;

3)攻击者手上还持有 2,378 枚 ETH。

最终攻击者手中持有的 2,378 ETH 部分为其获利,合计 $665,840(当前 ETH 价格$280);而 bZx 平台负债为 2,868 ETH(6,796 - 1,099,841/280),即 $803,040。

总结

这一次的攻击事件中,我们能看出 DeFi 产品在设计过程中几个明显的问题点:

1)当引入第三方 Token 的时候,需要考察第三方 Token 的安全性,有没有可能被单方面市场操纵,从而引起价格波动;

2)DeFi 平台自身应当有价格容错与检验机制,使用第三方 Oracle 获取价格的时候,对他方的数据有尽可能多的验证;

3)平台自身对于价格也应当设立止水阀机制。

从第一次 bZx 被攻击损失 1,271 枚 ETH,这一次又损失 2,378 枚,且这两次攻击之间只相差了 3 天时间,可见 DeFi 特别项目的安全问题非常严峻。

由于各项目由不同团队开发,对各自产品的设计与实现理解有限,集成的产品很可能在与第三方平台交互的过程中出现安全问题,进而腹背受敌。PeckShield 在此建议,DeFi 项目方在上线之前,应当尽可能寻找对 DeFi 各环节产品设计有深入研究的团队做一次完整的安全审计,以避免潜在存在的安全隐患。

标签:ETHBZXUSDSUSDvethor-tokenbZx Vesting Tokenfoin币可以转usdt吗ASUSD币

火必交易所热门资讯
CYS:塞浦路斯证券交易委员会拥抱区块链 但加密货币监管仍不明确

塞浦路斯证券交易委员会(CySEC)最近发布了一份报告,讨论了其创新中心正在进行的活动。该创新中心是一个合作实体,于2018年10月启动,作为CySEC与金融科技和监管科技部门实体之间的交流平台.

1900/1/1 0:00:00
区块链:火币公链测试网上线 4大优势打造全球性金融基础设施

金色财经报道 2月29日,火币全球站发布公链测试网正式上线公告,这是火币集团和Nervos Foundation联合开发的,全球首个提供链上的合规及监管框架,全面深度支持合规及监管的公链.

1900/1/1 0:00:00
NBS:最近的财富密码是SpaceM?一文详解MXC抹茶打新规则

2月27日,MXC抹茶正式宣布将于3月2日12时至16时正式开启项目上线营销通道SpaceM,首期项目为JUS(JUST Network)。先说项目.

1900/1/1 0:00:00
数字货币:金色观察 | 拒绝隔岸观火 日本计划2-3年实现数字日元

由于中国央行和Facebook积极推进数字货币,日本方面压力倍增。 在过去几周,许多日本议员公开表示他们倾向于日本央行研发并控制CBDC,总体思路是应对来自中国即将发行的数字人民币.

1900/1/1 0:00:00
CEN:美财政部长:FinCEN将推出“重磅”加密法规

作者:Nikhilesh De   |   编译者:Maya姆努钦在参议院财政委员会的一次听证会上表示.

1900/1/1 0:00:00
区块链:摩根大通为什么并购区块链公司Consensys?

根据本周早些时候发布的一份全新的报告称,银行业巨头摩根大通(JP Morgan)目前正在推动其内部区块链部门Quorum与以太坊软件开发商 ConsenSys的并购计划.

1900/1/1 0:00:00