火星链 火星链
Ctrl+D收藏火星链
首页 > DAI > 正文

ETH:硬核技术解析,bZx协议遭黑客漏洞攻击始末

作者:

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

02月15日,bZx团队在官方电报群上发出公告,称有黑客对bZx协议进行了漏洞攻击,且已暂停除了借贷外的其他功能。对于攻击细节,bZx官方并没有进行详细披露。

PeckShield安全人员主动跟进bZx攻击事件,发现这起事件是针对DeFi项目间共享可组合流动性的设计进行攻击,特别在有杠杆交易及借贷功能的DeFi项目里,该问题会更容易被利用。

Figure1:FiveArbitrageStepsinbZxHack

漏洞的攻击细节如下:

此攻击事件发生在北京时间2020-02-1509:38:57。攻击者的transaction信息可以在?etherscan?上查到。此攻击过程可以分为以下五个步骤:

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

攻击者通过在部署的合约中调用了?dYdX闪贷功能借入了10,000个?ETH。这部分是已知的dYdX的基本借贷功能,我们不做进一步解释。

加密游戏公司double jump.tokyo将推出《足球小将》主人公大空翼NFT:2月7日消息,加密游戏公司 double jump.tokyo 宣布将推出《足球小将》主人公大空翼官方 NFT 集合,购买 NFT 的用户可以选择将 NFT 转换为灵魂绑定 Token(SBT),SBT 持有者将能收到一个由漫画家高桥洋一原创设计的实物球。double jump.tokyo 表示,每购买一个 NFT 该公司就会捐赠一个实物足球,分发给世界各国。

此前报道,double jump.tokyo 去年 4 月完成 2400 万美元 C 轮融资,之后于 10 月推出了世嘉授权《三国志》Web3 卡牌游戏。(雅虎财经)[2023/2/8 11:53:12]

Figure2:FlashloanBorrowingFromdYdX

当第一步操作过后,如下表中攻击者资产,此时并没有收益:

第二步:囤积WBTC现货

通过第一步闪贷获得ETH后,攻击者将其中的5,500ETH存入Compound作为抵押品,贷出112WBTC。这也是正常的Compound借贷操作,贷出的WBTC将在第四步中被抛售。

支付宝加入数字人民币受理网络并支持快付功能:金色财经报道,12月12日,在首届全球数字贸易博览会之江数字贸易论坛上,蚂蚁集团首席合规官李臣透露,支付宝已加入数字人民币受理网络,并作为首家支付平台支持数字人民币钱包快付功能,“从今天开始,支付宝将面向淘宝用户逐步开放数字人民币支付功能。”(鞭牛士)[2022/12/12 21:39:20]

Figure3:WBTCHoardingFromCompound

在此步骤操作后,我们可以看到关于攻击者控制的资产发生了改变,但此时仍然没有获益:

第三步:杠杆拉盘WBTC价格

利用bZx的杠杆交易功能,做空ETH购入大量WBTC。具体步骤是:攻击者存入1,300ETH并调用bZx杠杆交易功能,即接口mintWithEther(),在内部会继续调用接口marginTradeFromDeposit()。接下来,攻击者将从bZx5倍杠杆获得的5,637.62个ETH,通过?KyberSwap兑换成51.345576WBTC。请注意,此处做空ETH是借来的5倍。本次交易导致将WETH/WBTC的兑换率提高到109.8,大约是正常兑换率的3倍。

为了完成此交易,KyberSwap基本上会查询其储备金并找到最优惠的汇率,最终只有Uniswap能提供这样的流通性,因此这个交易从本质上推动了Uniswap中WBTC价格上涨了3倍。

Aztec Network开源EVM汇编语言Huff:7月28日消息,据官方推特,基于ZK Rollup的隐私和扩容解决方案Aztec Network宣布开源EVM汇编语言Huff。据悉,该语言由Aztec创始人Zac Williamson于2019年构建。[2022/7/28 2:42:48]

Figure4:MarginPumpingWithbZx(andKyber+Uniswap)

应该注意的是,这步操作在合约内部实现有个安全检查逻辑,但是实际上在交易之后并没有验证锁仓值。也就是说,当攻击发生时,此检查没有启用,我们在后面会有一节详细介绍此合约中的问题。

在这一步之后,我们注意到关于黑客控制的资产有以下改变。不过,在这一步之后仍然没有获利。

第四步:抛售WBTC现货

上周比特币基金净流入1.259亿美元,以太坊基金遭遇连续第九周资金外流:金色财经报道,据CoinShares报告显示,在截至6月3日的一周内,专注于比特币的投资基金净流入 1.259 亿美元,使年初以来的净流入总额达到 5.06 亿美元。总体而言,加密基金净流入约 1 亿美元,这意味着比特币基金的流入额弥补了山寨币基金的流出。

以太坊投资产品净流出 3200 万美元,已遭遇连续第九周的资金外流,今年至今已流出超 3.5 亿美元。管理一种以上加密货币的多资产基金上周净流入 430 万美元,自今年年初以来总流入量高达 2.01 亿美元,CoinShares研究主管 JamesButterfill表示,这种差异表现表明投资者正涌向比特币的相对安全性。[2022/6/7 4:07:13]

在Uniswap中WBTC价格飙升后,攻击者将第二步中通过Compound借的112WBTC全部卖给Uniswap并返还了相应的WETH。

这次交易攻击者共计获得6,871.41个ETH的净额作为回报。在这一步之后,可以看到攻击者已经获得不少利润。

Figure5:WBTCDumpingWithUniswap

美联储卡什卡利:也许加密货币现在崩溃比5年后更多人的钱面临风险要好:5月18日消息,美联储卡什卡利表示,美联储已经释放信号,将在今年加息至中性水平。还不清楚美联储是否需要在利率问题上做得更多,不知道美联储的行动是否会导致美国经济衰退。对央行能够降低需求充满信心。并表示,也许加密货币现在崩溃比5年后更多人的钱面临风险要好,还不知道美联储的行动是否会引发衰退。(财联社)[2022/5/18 3:23:20]

第五步:闪贷还款

攻击者从抛售的112WBTC中获得的6,871.41个ETH,将闪贷的10,000个ETH偿还给dYdX,从而完成闪贷还款。

在这一步之后,我们重新计算了以下资产详情。结果显示,攻击者通过此次攻击获得71ETH,加上这两个锁仓:Compound和bZx。bZx锁仓处于违约状态,Compound的锁仓是有利可图的。显然,在攻击之后,攻击者就开始偿还Compoud债务以赎回抵押的5,500个WETH。由于bZx锁仓已经处于违约状态,攻击者也不再感兴趣了。

参考1WBTC=38.5WETH的平均市场价格,若攻击者以市场价格购入112WBTC花费约需4,300个ETH。此112WBTC用以清偿Compond债务并取回抵押品5,500ETH,则最终攻击者总共获利为?71WETH+5,500WETH-4,300ETH=1,271ETH,合计大约$355,880。

硬核解析:bZx可规避风险代码逻辑缺陷

通过前面攻击者在合约中实现的步骤可以看出,问题的核心原因是在第三步调用marginTradeFromDeposit()通过借贷的1,300ETH,加5倍杠杆来实现做空ETH/WBTC交易的,于是

我们进一步审查合约代码,发现这是一个「可避免的套利机会」,但因为代码存在的逻辑错误造成可用于规避风险的代码逻辑没有生效。具体代码追踪如下:

首先是marginTradeFromDeposit()调用_borrowTokenAndUse(),此处由于是以存入的资产作杠杆交易,第四个参数为true。

在_borrowTokenAndUse()里,当amountIsADeposit为true时,调用_getBorrowAmountAndRate()并且将borrowAmount存入sentAmounts。

在1,355行,sentAmounts被设置为sentAmounts并且于第1,370行调用_borrowTokenAndUseFinal()

经由IBZxinterface进入bZxContract的takeOrderFromiToken()函数。

bZxContract属于另一个合约?iTokens_loanOpeningFunctions?于是我们我们继续分析合约代码,在函数中发现有一个关键的逻辑判断:

在第148行,bZx事实上尝试利用oracle合约的shouldLiquidate()检查这个杠杆交易的仓位是否健康。然而,因为第一个条件已经为true,则继续执行,而忽略了shouldLiquidate()的逻辑判断。

事实上,在合约?BZxOracle?的shouldLiquidate()中实现了对getCurrentMarginAmount()<=loanOrder.maintenanceMarginAmount判断,如果执行到shouldLiquidate()就可以有效避免这个攻击的发生。

如前所述,这是一次很有意思的攻击,它结合了各种有趣的特性,如贷款、杠杆交易和拉高价格等。之所以可能发生这种攻击,是因为当前项目共享可组合流动性的设计。特别是,5倍杠杆交易允许用户以相对较低的成本借入大量代币,加上DeFi项目间共享的流动性,导致交易价格更容易被操控。

标签:ETHBTCBZXWBTCunshETHBTC2价格bzx币团队MWBTC币

DAI热门资讯
LIB:主动求变,Libra或改为美元单一锚定

TheBlock获悉,Libra协会正考虑对其稳定币的资产支撑模式进行重大调整。Facebook于去年6月正式发布了Libra白皮书.

1900/1/1 0:00:00
比特币:研报 | 2020年值得关注的颠覆性创新包含比特币:比特币的市值结果将以万亿计

翻译:刘斌来源:点滴科技资讯编者注:原标题为《2020年值得关注的颠覆性创新》 Messari发布USDD Q3调研报告:Q3钱包数量增5倍:11月3日消息.

1900/1/1 0:00:00
ETH:抄底的时机到了吗?Tether已新增6000万个USDT库存

比特币在过去两天内的价格下跌了17.16%,震撼了整个市场,但是,加密货币市场下跌的同时,股票市场也出现了大幅下跌.

1900/1/1 0:00:00
DEF:bZx事件的启示:本质上更像是利用DeFi协议和产品的一次套利操控

编者注:原标题为《bZx事件的启示》黑客在ETHDenver大会期间对bZx发起攻击,就像是对DeFi精心策划的一次精准伏击。虽然损失的金额不大,但它显然对过去两天的市场行情产生了一些影响.

1900/1/1 0:00:00
BLOCK:疫情之下,区块链技术如何赋能医疗数据共享场景?

编者注:本文作了不改变作者原意的删减。2月13日晚,中国集团公司促进会区块链分会副会长兼秘书长范金刚做客火讯TALK,以下为访谈实录.

1900/1/1 0:00:00
加密货币:世界首富对加密货币和区块链有何看法?

来源:cointelegraph编译:小葱区块链在过去的十年中,区块链,比特币和其他加密货币已经颠覆了富豪们所接触的一切,包括银行,对冲基金,执法,医疗保健和房地产等.

1900/1/1 0:00:00