宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > Coinw > 正文

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

作者:

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

编者按:本文来自PeckShield,Odaily星球日报经授权转载。02月15日,bZx团队在官方电报群上发出公告,称有黑客对bZx协议进行了漏洞攻击,且已暂停除了借贷外的其他功能。对于攻击细节,bZx官方并没有进行详细披露。PeckShield安全人员主动跟进bZx攻击事件,发现这起事件是针对DeFi项目间共享可组合流动性的设计进行攻击,特别在有杠杆交易及借贷功能的DeFi项目里,该问题会更容易被利用。

Figure1:FiveArbitrageStepsinbZxHack漏洞的攻击细节如下:此攻击事件发生在北京时间2020-02-1509:38:57。攻击者的transaction信息可以在etherscan上查到。此攻击过程可以分为以下五个步骤:第一步:闪贷获取可用资金

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

AIP-169以超70%赞成率获得通过,ApeCoin DAO与Cartan Group合同延长两个月:金色财经报道,ApeCoin DAO发起将Cartan Group社区管理员功能延长2个月以保持运营连续性和秩序的新提案AIP-196已获得社区通过,其中赞成票的比例达到72.7%。此外,据ApeCoin DAO透露,Cartan Group必须“实施透明的提案请求(“RFP”)流程,以确定在延长期间(2022 年 1 月 1 日至 2 月 28 日)未来的 APE 基金会管理员。如有必要,完全移交给未来的 DAO 管理员,组建由主要 DAO 利益相关者组成的临时工作组,负责开发 DAO 工作组结构和内部能力。据悉,ApeCoin DAO目前已开始寻找下一任社区管理员。[2023/1/6 10:24:29]

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

第二步:囤积WBTC现货

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

ApeCoin DAO发起构建APE生态网站的提案投票:据官方消息,ApeCoin DAO社区已发起新提案AIP-123投票,该提案拟构建一个名为Apeverse的APE生态网站,及时向ApeCoin持有者传递APE相关信息。根据提案,该生态网站将支持多语言,最先支持英文、中文、日文和韩文,同时将支持ApeCoin支付系统的衍生产品销售。[2022/12/5 21:22:56]

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倍。

Rarible拟构建零费用Apecoin市场的提案未获通过:11月11日消息,Apecoin DAO投票否决了Rarible创建零费用Apecoin市场的提案AIP-97,投票结果显示该提案获得了85.65%的反对票。

据悉,ApeCoin DAO在9月还拒绝了Magic Eden和X Marketplace提议创建Apecoin市场的提案,因为社区可能认为这些市场可能会存在中心化问题。[2022/11/11 12:51:43]

Figure4:MarginPumpingWithbZx(andKyber+Uniswap)应该注意的是,这步操作在合约内部实现有个安全检查逻辑,但是实际上在交易之后并没有验证锁仓值。也就是说,当攻击发生时,此检查没有启用,我们在后面会有一节详细介绍此合约中的问题。在这一步之后,我们注意到关于黑客控制的资产有以下改变。不过,在这一步之后仍然没有获利。

Avalanche和FLOW将支持ApeCoin从以太坊区块链迁移:金色财经报道,ApeCoin 为元宇宙项目 Otherside 虚拟地块 Otherdeed 五月初启动铸造时引发了以太坊网络大面积阻塞,作为ApeCoin 背后的去中心化自治组织,ApecoinDAO 曾在社交媒体发文暗示可能会离开以太坊区块链,目前 Avalanche 和 FLOW 均透露已与 ApeCoin 就区块链迁移事宜进行了接触。Avalanche 背后公司 Ava Labs 联合创始人 Kevin Sekniqi 表示,该公司已经和 ApeCoin DAO 就 迁移到 Avalanche 区块链的相关事宜进行了讨论,而且已经为迁移做好了准备。FLOW 区块链背后公司Dapper Labs 首席商务官 Mik Naayem 也表示:“我认为 Flow 将成为 ApeCoin 的理想家园,我们已经与 ApeCoin DAO 董事会成员进行了一些对话,但最后仍需要通过社区投票来决定。”[2022/5/24 3:37:24]

第四步:抛售WBTC现货

在Uniswap中WBTC价格飙升后,攻击者将第二步中通过Compound借的112WBTC全部卖给Uniswap并返还了相应的WETH。这次交易攻击者共计获得6,871.41个ETH的净额作为回报。在这一步之后,可以看到攻击者已经获得不少利润。

88mph将上线碎片化零息债券功能,目前正接受Peckshield的安全审计:DeFi固定利率生成协议88mph(MPH)宣布碎片化零息债券(Fractionalized zero-coupon bond)功能目前正在接受安全公司Peckshield的审计,审计报告将于1月9日之后和88mph v2的审计报告一同发布。

一旦上线,碎片化零息债券功能将解锁新用例,允许用户在Uniswap或Sushiswap上自定义设置份额以出售零息债券,买家则可在到期日在88mph上直接赎回持有债券份额的全部面值。[2021/1/4 16:22:36]

Figure5:WBTCDumpingWithUniswap

第五步:闪贷还款

攻击者从抛售的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项目间共享的流动性,导致交易价格更容易被操控。

标签:APEETHPECOOINBlock Ape Scissorsbeth币如何换回ethFrappecoincoinex交易所哪个国家

Coinw热门资讯
从投资到研发、应用,谷歌区块链正在追赶

编者按:本文来自01区块链,作者:澄子,Odaily星球日报经授权转载。凭借搜索及广告业务,谷歌在互联网领域一直处于"霸主"地位,最新数据显示,谷歌在全球搜索引擎份额高达93%.

1900/1/1 0:00:00
“迷雾”行情下比特币减半价格大猜想,什么样的投资策略最好?

2020年行业内最受关注的问题,无非就是“比特币减半”事件了。今年比特币减产事件的影响下,价格能达到什么样的峰值呢?每一个人都想知道答案.

1900/1/1 0:00:00
ETH周报 | 以太坊2.0或将于主网五周年纪念日推出;社区用户在以太坊链上为李文亮树碑(2.3-2.9)

作者|秦晓峰编辑|郝方舟出品|Odaily星球日报 一、整体概述 上周,为纪念李文亮医生,社区用户已在以太坊区块链上为其树下一座墓碑,区块高度9432824。李文亮医生的事迹将永远铭刻在区块链上,不可篡改,不可删除.

1900/1/1 0:00:00
ETH周报 |摩根大通正在商讨将其区块链部门与ConsenSys合并;以太坊Gas使用量创四个月新高(2.10-2.16)

作者|秦晓峰编辑|郝方舟出品|Odaily星球日报 一、整体概述 据知情人士透露,摩根大通公司正在商讨将其区块链部门Quorum与以太坊开发商ConsenSys合并。据悉,这笔交易很可能在未来六个月内正式宣布,但财务条款尚不清楚.

1900/1/1 0:00:00
HT推出“锁减”组合拳,平台之战一触即发

交易所不愧是永恒的“话题王”。2018年的交易及挖矿;2019年上半年的“打新”热潮,扭转市场颓势;2020年开局,在减半行情与大刀阔斧的改革之下,交易所平台币板块再次启动上涨行情.

1900/1/1 0:00:00
2019年精选十大数据发现

图文|CarolTina编辑|毕彤彤Tong来源|PANews 狗狗币昨日一度涨幅达125% 澳大利亚女演员声称2014年就已持有DOGE:据TradingView数据,Dogecoin(DOGE)价格昨晚短线突破0.013美元.

1900/1/1 0:00:00