作者:yudan@慢雾安全团队
编者注:原标题为《详解DeFi协议bZx二次被黑》
前言
2月18日早,bZx疑似遭遇第二次攻击,不同的是本次的对象是ETH/sUSD交易对,但也许有人会有疑问,sUSD不是对标USD的稳定币吗?这都能被攻击?攻击手法具体是怎样的?带着这样的疑问,针对此次事件,慢雾安全团队接下来将复盘这两次攻击过程。
在第一次攻击中,攻击者结合Flashloan和Compound中的贷款,对bZx实施攻击,主要分成以下几步:
从dYdX借了10000个ETH
到Compound用5500ETH借了112个BTC准备抛售
到bZx中用1300个ETH开5倍杠杆做空,换了51.345576个BTC,而这里换取的BTC是通过KyberNetwork来获取价格的,然而KyberNetwork最终还是调用Uniswap来获取价格,5倍杠杆开完后兑换回来的51个BTC实际上是拉高了UniSwap中BTC/ETH的价格,换取价格是1/109,但是实际上大盘的价格不会拉到这么多
耶伦:银行可能会进一步收紧放贷标准 消除美联储进一步加息的必要性:4月16日消息,美国财政部长耶伦在接受采访时表示,为遏制上个月硅谷银行和签名银行倒闭造成的系统性威胁,美国政府采取的政策行动目前使得存款外流趋于稳定。在这种环境下,银行会变得更加谨慎,并可能会在未来进一步收紧放贷标准。这将导致经济信贷受到限制,从而可能消除美联储进一步加息的必要性。她仍然乐观地认为,随着经济降温和通胀放缓,美国能够避免衰退和失业率大幅上升。(金十)[2023/4/16 14:06:13]
用从Compound借来的112个BTC来在UniSwap中卖掉,由于第三步中bZx中的5倍杠杆已经把价格拉高,所以这个时候出售ETH肯定是赚的,然后卖了6871个ETH
归还dYdX中的借贷
第二次攻击与之前稍有不同,但核心都在于控制预言机价格,并通过操纵预言机价格获利。
注:下文中出现的WETH是ETH的token化代币,可统一认为是ETH。与ETH之间的兑换比例是1:1
MOOAR白皮书:Generative NFT Tool(GNT)面向所有MOOAR成员开放:3月14日消息,STEPN开发商Find Satoshi Lab(FSL)推出的NFT Launchpad MOOAR白皮书显示,Generative NFT Tool(GNT)面向所有MOOAR成员开放。其中普通成员(General Members)在没有该铸造选项的情况下仅能生成1-3张预览图像,每天最多可以尝试5次。
VIP成员则可以批量创造并提交最多1000个NFT。一旦该系列完成生成且prompt trail结果确认,此NFT系列将面向公众进行FairMint,每天最多可以尝试25次。需要注意的是,此功能仅限于Solana链上使用,在Alpha测试阶段,生成NFT不需要GMT,不过未来将需要销毁GMT以生成NFT。
昨日消息,STEPN官方推特今日发布了一副配有GNT文字的meme图片,疑似将发行新代币。[2023/3/14 13:03:42]
细节剖析
外媒:摩根大通已限制员工使用ChatGPT:金色财经报道,一位知情人士透露,摩根大通公司已限制员工使用 ChatGPT 人工智能聊天机器人。
这位知情人士表示,摩根大通并非因为任何特定事件而限制员工使用 ChatGPT,而是反映了对第三方软件的正常控制。目前尚无法确定该公司有多少员工在使用 ChatGPT,也无法确定他们的使用目的。?[2023/2/23 12:24:19]
本次发生攻击的交易哈希为:
0x762881b07feb63c436dee38edd4ff1f7a74c33091e534af56c9f7d49b5ecac15
通过etherscan上的分析,我们看到这笔交易中发生了大量的token转账。
13.7亿美元BTC和7.5亿美元ETH期权合约将于1月27日到期交割:1月25日,Deribit数据显示,超过13.7亿美元BTC和7.5亿美元ETH的期权合约将于1月27日到期交割。其中BTC的最大痛点价格为1.9万美元;ETH的最大痛点价格为1400美元。[2023/1/25 11:29:14]
这么多转账交易中,攻击者一共购买了20次sUSD,最终获利离场,那么攻击者具体是怎么操作的呢?我们使用区块浏览器bloxy.info来做进一步分析。
1、赛前准备
和第一次一样,首先攻击者需要从Flashloan借入一定的金额开始本次的攻击,第一次攻击是从?dYdX?借入10000ETH,这次,攻击者选择从bZx本身支持的Flashloan下手,借入7500个ETH。
FTX US法律顾问:正在调查与跨交易所合并FTX余额相关钱包异动:11月12日消息,FTX US法律总顾问Ryne Miller回应,正在调查与跨交易所合并FTX余额相关钱包移动的异常情况,其他移动事实暂不清楚,会尽快分享更多信息。
金色财经此前报道,Autism Capital发推称,FTX内部人士很有可能正在试图携款潜逃,目前FTX和FTX US钱包现在都受到影响并将资产混合在一起,被转移的金额约为3.8亿美元,一些钱包被标记为fucksbf和fuckftxandsbf.eth,看起来好像是黑客攻击。[2022/11/12 12:55:22]
2、发球
在完成从bZx的借入之后,攻击者开始通过Kyber进行sUSD的买入操作,第一次使用了540个ETH购买了92,419.7个sUSD,这个操作令WETH/sUSD的价格瞬间拉低,捧高了sUSD的价格。这次的交易兑换的比例大概为1:170,而Kyber最终是通过UniSwap来进行兑换的,所以此时Uniswap的WETH/sUSD处于低位,反过来,sUSD/WETH升高。
在完成第一次的540个ETH的兑换之后,攻击者再次在Kyber进行18次小额度的兑换,每次使用20个ETH兑换sUSD,从etherscan我们能够看到,每一次的兑换回来的sUSD金额在不断减少。
这表明sUSD/WETH的价格被进一步拉升,这加剧了Uniswap中sUSD/WETH的价格,此时价格已经达到顶峰了,大概是1:157。
在完成以上两步操作之后,攻击者已经完成狩猎前的准备,随时可以开始攻击。
3、一杆进洞
在完成对sUSD/WETH的拉升后,攻击者此时需要采集大量的sUSD,为后续兑换WETH做准备。为了达成这个目的,攻击者向Synthetix发起sUSD的购买,通过向Synthetix发送6000ETH购买sUSD,直接把Synthetix中的sUSD买空,Synthetix合约返还2482个ETH给攻击者。
完成了上面的操作后,攻击者直接对bZx发动总攻,直接用之前操作得来的一共1,099,841个sUSD向bZx兑换WETH,此时由于bZx兑换还是要去查询Uniswap的sUSD/WETH的价格,而这个价格已经被攻击者人为拉得很高了,此时兑换,就能通过1,099,841个sUSD换取大量的WETH,此次交易一共用1,099,841个sUSD换取了6792个WETH,此时攻击已经完成。
4、归还借贷
完成了对bZx的攻击之后,将7500ETH归还给bZx,完成闪电贷流程,从bZx来,再回到bZx去,还使bZx遭受了损失。
赛后复盘
通过分析攻击者的攻击手法,我们统计下攻击者在攻击过程中的支出和收入情况。
收入
7500=>bZx闪电贷+2482=>Synthetix返还+6792=>使用sUSD在bZX兑换WETH=16774ETH
支出
540+(20*18)=>拉高sUSD/WETH价格+6000=>买空sUSD+7500=>归还bZx闪电贷=14400ETH
总的收益为:16774-14400=2374ETH
防御建议
两次攻击的主要原因还是因为Uniswap的价格的剧烈变化最终导致资产的损失,这本该是正常的市场行为,但是通过恶意操纵市场,攻击者可通过多种方式压低价格,使项目方造成损失。针对这种通过操纵市场进行获利的攻击,慢雾安全团队给出如下建议:
项目方在使用预言机获取外部价格的时候,应设置保险机制,每一次在进行代币兑换时,都应保存当前交易对的兑换价格,并与上一次保存的兑换价格进行对比,如果波动过大,应及时暂停交易。防止市场被恶意操纵,带来损失。
前言:ETH2.0有很多新内容新术语,对于刚接触的读者来说,会有不少疑惑。本文简要地将其中比较常用的术语进行简单阐述,以帮助大家理解。本文适合ETH2.0的初学者阅读。本文作者是AlexT,由“蓝狐笔记”的“SIEN”翻译.
1900/1/1 0:00:00本文来源:小葱区块链,原题《嘉楠科技大涨逾80%,但收入表现或因交付延迟无法达到预期》本周三,矿机第一股嘉楠科技股价飙升超80%。截至交易日结束,嘉楠科技收于每股8.04美元,收涨82.73%.
1900/1/1 0:00:00据Cointelegraph2月19日报道,商用区块链Lition宣布,微软正式将Lition的区块链解决方案引入其Azure云计算市场.
1900/1/1 0:00:00时隔106天,比特币重新站上1万美金,再次登上热搜,这让许久被社会话题占据的社群,重新把焦点汇聚在行业各类项目上。因为,在大部分观念中,1万美金起码是一个信号,告诉我们牛市似乎要来了.
1900/1/1 0:00:00来源:哈希派 作者:LucyCheng2017年加密货币市场涨势惊人的时候,大家都在细数比特币那些年的丰功伟绩:从0美元涨到5000美元,用了3206天;从5000美元涨到10000美元.
1900/1/1 0:00:00伦敦劳合社(LLOYD'S)——一家拥有334年历史的保险市场——旗下的一个财团正准备通过提供加密货币保险服务,进军加密货币领域.
1900/1/1 0:00:00