北京时间12月18日6时许,DeFi借贷协议Warp Finance遭到黑客攻击,造成了近800万美元的资产损失。
同时,Warp Finance官方也发布推文表示,已在调查违规贷款情况,并建议用户暂停稳定币的存入,直到事件真相明朗。
成都链安团队在接到区块链安全态势感知平台(Beosin-Eagle Eye)报警后,第一时间对本次攻击事件进行了调查,结果发现:
1、Warp Finance使用的是Uniswap交易对的相对价格作为其预言机的喂价源。
2、攻击者在了解到这个情况后,使用从闪电贷中获取的巨额资金操纵了Uniswap交易对的价格。
Azuki #8227以105ETH的价格成交:金色财经报道,数据显示,Azuki #8227以105ETH的价格成交。[2023/7/2 22:12:45]
3、通过控制预言机喂价源信息,攻击者破坏了Warp Finance的借款价值判断标准。
4、在Warp Finance错误的数据环境下,攻击者窃取了远远超过抵押品价值的资产。
5、攻击者归还了从闪电贷中借出的款项。
攻击交易地址
0x8bb8dc5c7c830bac85fa48acad2505e9300a91c3ff239c9517d0cae33b595090
攻击过程精析
攻击者首先利用Uniswap进行闪电贷借款,并采用镶嵌式(还款前连续操作)的手法,在WBTC2、USDC3以及USDT2池中分别进行了WETH借贷,如下图所示:
.SWOOSH:Reveal时间表将延期发布:金色财经报道,耐克旗下Web3可穿戴设备平台.Swoosh在社交媒体发文宣布由于落后于计划,原定于今天推出的Reveal时间表将延期发布,预计将在明天披露,届时或将公布未售出耐克首个数字运动鞋系列“Our Force 1”Box的处理计划。根据Dune Analytics数据显示,“Our Force 1”Box已铸造量为97,631个,目前仍剩余8,822个。[2023/6/10 21:27:45]
其后,为扩大用于攻击的资金量,攻击者又在dYdX进行了闪电贷借款。如下图所示:
Redeem宣布完成250万美元种子前融资:金色财经报道,区块链公司Redeem宣布完成250万美元种子前融资,由Kenetic Capital 领投,据悉,Redeem允许用户使用电话号码领取NFT,而不必设置加密钱包。
Redeem联合创始人兼首席执行官 Toby Rush 是第三次创业,他在 2016 年以 1 亿美元的价格将其生物识别公司 EyeVerify 出售给了阿里巴巴的金融科技子公司蚂蚁集团。[2023/3/9 12:50:47]
此时,借出的资金规模已高达近2亿美元.接下来,攻击者向Uniswap的DAI?2交易池中注入流动性,获取了流动性代币LP,如下图所示:
SBF共同创立的Emergent Fidelity Technologies申请第11章破产保护:金色财经报道,由FTX创始人SBF和前高管Gary Wang共同创立的Emergent Fidelity Technologies周五申请第11章破产保护。SBF拥有Emergent Fidelity 90%的股份,FTX联合创始人Wang拥有剩余的10%。Emergent Fidelity是持有5600万股Robinhood Markets(HOOD)股票的公司,该资产成为FTX多家债权人争夺的主要对象,这些股票还被抵押给破产的加密贷款平台BlockFi,后者去年对这些资产提出了索赔。SBF辩称他应该保留对股份的控制权,尽管如此,这些股份在1月份被美国政府没收。
按周五的收盘价计算,5600万股Robinhood股票价值超过6亿美元。据彭博社报道,Emergent Fidelity拥有的唯一其他资产是2070万美元现金,目前尚不清楚Emergent被要求偿还哪些债务。[2023/2/4 11:46:55]
然后,将所获的LP代币抵押在Warp Finance合约中,交易及代码如下图:
美国SEC希望在Ripple案中阻止XRP持有人协助法庭:金色财经报道,美国证券交易委员会(SEC)已通知法院,它计划对XRP持有人要求成为法庭之友的请求提出异议。由于即将到来的假期和其他简报截止日期,SEC要求法官Analisa Torres将XRP持有者请求的期限延长至6月7日。此前,Analisa Torres法官拒接XRP持有者直接参与Ripple-SEC诉讼,称“他们不能提供证据或证人,但可以作为法庭之友简要介绍与案件相关的法律问题。”
据悉,“法庭之友”是指在诉讼案件中,没有直接涉及法律利益的私人或团体,为了向法院说明其对该案件相关法律争议上的意见、澄清立法意旨、理清模糊的法律规定、通知法院关于案件事实的真实情况等等的目的,主动向法院提出书面报告,以协助法院更公正地做出裁决。(u.today)[2022/6/6 4:04:04]
完成抵押后,攻击者利用借来的资金,将Uniswap DAI?2池中的DAI兑换殆尽,如下图所示:
上述“准备工作”完成后,价格已处于被操纵状态。另一方面,Warp Finance的预言机喂价源是来自Uniswap?LP代币的价格数据,代码如下图:
LP代币价格算法
(A代币的价格×A代币池中的持有量+B代币的价格×B代币池中的持有量)/LP代币的总量
其中,A代币与B代币的价格是由Uniswap的“对应代币与稳定币”交易对计算得出。
因此,在上述情况下,A、B代币的价格处于正常水平、而交易对中的A、B代币相对价格则已经发生异常。这是因为Uniswap采用恒定乘积做市商机制,即A×B=K。当出现大量的兑换某一种代币时,就会产生巨大的滑点,从而产生价差。
假设:A=A代币数量;B=B?代币数量;AP=A代币价格;BP=B代币价格
已知:A×B=k(在未添加流动性时K恒定);Warp价格=(AP×A+BP×B)/totalLP
因AP和BP在本事件中皆为恒定,故可设AP=X1×BP,化简可得Warp价格=((X1×K)/B+B)×BP/totalLP
可得结论为,X1×K?、BP和totalLP在攻击中都是常数,随着B的数量增大,LP价格就会提高。
攻击者正是利用了这一点,使用从闪电贷获取的巨额资金在交易池中海量添加其中一种代币的流动性,迫使另一种代币也随之巨增,从而引发LP的价格失衡。由于LP价格已被操纵,处于一个高位,因此,攻击者可以借出相比正常量更多的资产。
此后,攻击者即通过调用以下函数进行贷款。
在成功控制抵押价格后,攻击者便能利用错误的价格数据贷出远远超过抵押品价值的资产,从中获取暴利。最后,攻击者归还了闪电贷的款项,如下图所示:
事件小结
很明显,这又是一起典型的由闪电贷巨款发起的预言机攻击事件。成都链安曾撰文指出,在当前黑客众多的攻击手法中,“预言机”喂价控制才是隐形的“元凶”。
同时,成都链安也郑重提醒DeFi开发者,应加强预言机的针对性测试,特别是在项目上线前,尽可能模拟价格操控攻击的各类场景,及时发现问题并找出解决方案,切实提高项目抗预言机攻击的能力。
短短一个月后,巨额的财产损失再一次告诫我们,在区块链领域中,安全防护工作尤为重要,许多系统安全漏洞属于防不胜防。因此,我们必须采取积极措施形成连续、有效的保护方案,才能在最大程度上提前规避问题。
此外,如在DeFi项目运行中存在安防方面的任何技术问题,采取第三方安全技术解决方案不失为一种行之有效的办法。最后,成都链安再次呼吁,要加强对项目预言机等多方面的定期安全检测,以防范此类事件的再度发生。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。