PeckShield团队在上一篇文章《PeckShield:硬核技术解析,bZx协议遭黑客漏洞攻击始末》中分析了bZx于02月15日遭到黑客一次可组合资产流动性攻击,那是由于bZx合约对抵押品状态判断不完善导致的。02月18日,bZx再次遭遇了类似的攻击,这一次的攻击从技术原理与上一次不同,此次黑客是通过操纵Oracle价格对bZx合约进行了“蒙”。从攻击流程上来看,这一次与上次刚好相反,但整体上的套利手段还是一致的,根本原因主要是由于平台间共享流动性过小以及价格机制设计缺陷导致的。
Figure:FiveExploitationStepsWithOracleManipulation本文的初衷是希望通过分析此漏洞的一些攻击细节让大家能够更直观的了解此次攻击事件,并希望可以引起更深入的讨论。我们相信,这些讨论将对DeFi社区的完善和发展是十分有益的,特别是项目方在开发下一代的DeFi类产品时,可以有助于设计出更安全,更可靠的流动性共享模型。漏洞的攻击细节如下:此攻击事件发生在北京时间2020-02-1811:18:58。攻击者的交易信息可以在etherscan上查到。此攻击过程可以分为以下五个步骤:第一步:闪贷获取可用资产
多个蓝筹NFT系列地板价出现普跌行情:4月17日消息,据NFTGo行情显示,多个蓝筹NFT系列地板价出现普跌行情:CoolCatsNFT系列地板价今日一度跌破1ETH,现报价1.03ETH,30日跌幅27.97%;DoodlesNFT系列地板价跌至2.629ETH,30日跌幅27.83%;CLONEX-XTAKASHIMURAKAMI系列NFT地板价跌至2.575ETH,30日跌幅25.5%。[2023/4/17 14:08:03]
bZx合约有一个flashBorrowToken()接口,允许调用者可以“零成本”从bZx平台上借出资产参与DeFi活动,之后在完成这一笔交易的时候偿还这部分资产。且调用者在借出资产的同时,可以指定资产的接收方地址。
Figure1:FlashloanBorrowingFrombZx本次攻击者向bZx平台借出7,500ETH,并指定攻击者的合约为资产接收方地址,这部分是基本的借贷功能,此处不做进一步解释。当这一步操作过后,如下表中所示系统资产分布:
Lido和OKX官推联合发布“神秘盒子”,引发合作猜测:4月14日消息,Lido官方推特发布带有其Logo的“神秘盒子”,并@OKX官方推特发问“What's in the box?\",OKX官推随即转发了此条消息并互动。值得注意的是,“神秘盒子”的发布时间为上海升级日,且盒子内部隐约可见OKX的LOGO,引发市场对双方合作猜测。
据了解,OKX Web3钱包是最全的异构多链钱包,支持包含Arbitrum、Fantom、Avalanche、Optimism等50+公链。同时内置钱包、DEX、NFT市场、Dapp搜索、赚币五大板块。OKX Web3钱包的赚币板块已全线支持Lido,用户可以仅通过OKX Web3钱包质押Lido。[2023/4/14 14:03:16]
第二步:拉升sUSD
首先,我们介绍一下今天攻击者的最佳配角:sUSD,sUSD是由Synthetix项目方发行的稳定币,其币价正常情况下与1美元持平,总发行量为5,563,037枚。
为codeislight.eth提供6000 APE激励的提案获ApeCoin社区通过:金色财经报道,ApeCoin社区已通过了为智能合约开发者codeislight.eth提供6000 APE(约合2.5万美元)激励的提案,据悉codeislight.eth开发了质押合约gas优化解决方案,每天可为APE质押用户节省大量的gas费用资金,根据Dune Analytics数据显示,截至目前已节省179.14 ETH费用(按当前价格计算价值超过30万美元),预计未来三年将节省超过1500 ETH费用。据悉,本次投票的赞成票比例为65.87%,弃权票比例33.23%,反对票比例近0.9%。[2023/4/9 13:53:13]
通过第一步闪贷获得ETH后,攻击者分两批共900ETH通过KyberNetworkDEX换取成sUSD。其中第一次使用540ETH换取,攻击者得到92,419枚sUSD;第二批分18次,每次20ETH换取,,攻击者获得63,584枚sUSD,总共获得了156,003枚sUSD。
Coinbase将与BAYC、ApeCoin合作制作互动电影:4月12日消息,Coinbase官方推特发布预告“Something is coming, probably nothing”。之后Coinbase发推称,将制作与Bored Ape Yacht Club(BAYC)、ApeCoin社区相关的互动电影三部曲。用户可以在degentrilogy.com提交自己的Bored Ape(需要先创建Coinbase钱包),参与电影选角。据悉,“The Degen Trilogy”动画短片系列的第一部将于今年6月在NFT.NYC首映。
Coinbase正在测试制作其电影的新媒体部门,该部门由娱乐和文化营销总监William Swann领导。这些电影上映后,用户必须创建Coinbase钱包才能观看。Swann表示,该系列还将与人们期待已久的Coinbase NFT市场相结合,该市场将“很快”发布。(CoinDesk)[2022/4/12 14:18:56]
声音 | PeckShield: EOS竞猜游戏EOS.Win遭新型交易阻塞攻击:今天凌晨02:01-02:07之间,PeckShield安全盾风控平台DAppShield监测到黑客向EOS竞猜类游戏EOS.Win发起连续攻击,获利数千EOS ,并已转至币安交易所。PeckShield安全人员分析认为,此次黑客攻击采用的交易阻塞攻击,这是一种全新的攻击手段,会影响超级节点出块,PeckShield安全盾已成功测试抵御此类攻击,建议开发者去除可控变量参与随机数生成,来避免此类攻击造成损失。未知新型攻击手段的出现,短期内会对DApp生态带来较大的连带威胁,可能会影响其他多款同类游戏,PeckShield在此提醒广大开发者应高度警惕,及时做好安全布控及攻击测试,排查潜在被攻击的风险。[2019/1/11]
Figure2:PumpingWithKyber(andUniswap)这两步骤也是正常的DEX币币交换的过程,在这两个批次操作之后sUSD对ETH的价格疯涨到了0.00899,是市场价的2.5倍。在这一步之后,使得sUSD价格被抬高了1.5倍,攻击者手里的资产还是正常与KyberNetwork交互,并没有实质性的攻击发生。然而,KybrNetwork内部通过Uniswap完成sUSD与ETH转换,这使得那些将Uniswap作为sUSD/ETHOracle的其它平台误认为当前sUSD价格的确有这么高,这才触发了后面的攻击事件。此时,系统的资产如下:
第三步:吸纳更多筹码
攻击者希望将手里的6,000ETH通过SynthetixexchangeEtherForSynths()接口全部换成sUSD。而Synthetix这边也没有足额的sUSD来促成这笔交易,只交换了其中的3,518枚ETH,并将剩余的2,482枚ETH返还给攻击者,攻击者获得了943,837枚sUSD。
Figure3:HoardingFromSynthetix到此为止,攻击者手里已经拥有的sUSD总量为1,099,841枚,占总发行量的19.7%。当前系统中的账本数据如下:
第四步:抵押借款
攻击者将手里拥有的1,099,841枚sUSD通过bZx的borrowTokenFromDeposit()接口全部抵押到bZx合约之中,按照sUSD/ETH正常价格的话,bZx应当借给攻击者3,928ETH,但是bZx从OracleKyber这边获取的价格偏高,使得借出了6,796枚ETH,多借了2,868ETH。
Figure4:CollateralizedBorrowingFrombZx到此为止,系统的账本信息如下:
第五步:闪贷还款
攻击者利用从bZx借到的6,796枚ETH以及手中剩余的资产一起还给之前从bZx借出来的7,500ETH,然后退场离开,完成闪贷操作。
Figure5:RepayTheFlashloanTobZx完成整个闪电贷流程之后,当前资产情况:
1)bZx平台对攻击者借出的6,796ETH;2)bZx平台持有1,099,841枚sUSD;3)攻击者手上还持有2,378枚ETH。最终攻击者手中持有的2,378ETH部分为其获利,合计$665,840;而bZx平台负债为2,868ETH,即$803,040。总结
这一次的攻击事件中,我们能看出DeFi产品在设计过程中几个明显的问题点:1)当引入第三方Token的时候,需要考察第三方Token的安全性,有没有可能被单方面市场操纵,从而引起价格波动;2)DeFi平台自身应当有价格容错与检验机制,使用第三方Oracle获取价格的时候,对他方的数据有尽可能多的验证;3)平台自身对于价格也应当设立止水阀机制。从第一次bZx被攻击损失1,271枚ETH,这一次又损失2,378枚,且这两次攻击之间只相差了3天时间,可见DeFi特别项目的安全问题非常严峻。由于各项目由不同团队开发,对各自产品的设计与实现理解有限,集成的产品很可能在与第三方平台交互的过程中出现安全问题,进而腹背受敌。PeckShield在此建议,DeFi项目方在上线之前,应当尽可能寻找对DeFi各环节产品设计有深入研究的团队做一次完整的安全审计,以避免潜在存在的安全隐患。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。