WAR:精析DeFi协议Warp Finance“预言机”攻击事件_Uniswap

北京时间12月18日6时许,DeFi借贷协议WarpFinance遭到黑客攻击,造成了近800万美元的资产损失。

同时,WarpFinance官方也发布推文表示,已在调查违规贷款情况,并建议用户暂停稳定币的存入,直到事件真相明朗。

成都链安团队在接到区块链安全态势感知平台报警后,第一时间对本次攻击事件进行了调查,结果发现:

1、WarpFinance使用的是Uniswap交易对的相对价格作为其预言机的喂价源。

2、攻击者在了解到这个情况后,使用从闪电贷中获取的巨额资金操纵了Uniswap交易对的价格。

Polygon宣布Crust上线,提供去中心化IPFS存储体验:9月22日,Polygon宣布Crust上线,为Polygon使用者及开发者提供6000多节点及2000 PiB存储容量的去中心化存储体验。

据悉,作为分布式存储赛道头部项目之一,Crust Network基于IPFS构造了一个链上去中心化存储市场,允许用户和开发者进行多副本的IPFS存储,端对端加密IPFS传输,并能随时随地进行文件检索。而Polygon作为以太坊layer2巨头,致力于打造全站式扩容方案,以极低的gas费,快捷的交易与安全性野蛮生长,不断拓宽生态版图。此次,Polygon将集成Crust三个典型的应用,分别是针对文件存储的files,针对NFT metadata的Pins以及针对Dapp部署的Hosts,更好的帮助开发者在Polygon上构建应用。[2021/9/22 16:58:09]

3、通过控制预言机喂价源信息,攻击者破坏了WarpFinance的借款价值判断标准。

链上李杰:IPFS/Filecoin是加速去中心化和实体融合的新风口:IPFS100.com现场报道,8月5日22:00,由IPFS100.com主办;麦客存储联合主办;链上ChainUP、金色算力云战略合作的IPFS100.com发布会在深圳蛇口·麦考利爱尔兰酒吧拉开帷幕。链上ChainUP深圳负责人李杰指出,深圳是区块链行业数字资产领域的风向标,截止2019年上半年,我国区块链公司地域分布形成了环渤海、长三角、珠三角及湘黔渝四大区块链产业聚集区,而深圳为珠三角重点发展区域。今年4月20日,国家发改委在线新闻发布会,区块链作为新技术基础设施被纳入“新基建”范围内。IPFS/Filecoin是加速去中心化和实体融合的数字货币市场新风口。[2020/8/6]

4、在WarpFinance错误的数据环境下,攻击者窃取了远远超过抵押品价值的资产。

乾元资本/KEX集团尹晓刚:代币经济通过利益推动IPFS和下一步应用发展:2020年6月22日,由金色财经主办,节点咨询、IPFS100.com承办,星际特工、麦客存储联合主办的“星际漫游指南——IPFS技术与应用研讨论坛”在深圳拉开帷幕。乾元资本/KEX集团 尹晓刚,在主题为《IPFS的突围与机会》的圆桌论坛中指出,IPFS和Filecoin,一方面是去中心化存储,另一方面是代币经济。代币能促使这个链上保管数据端的所有保管者获得相应的利益,通过利益才有更多的资源,更多的资金再去用被保存数据以及数据的下一步的应用,再去做发展。[2020/6/22]

5、攻击者归还了从闪电贷中借出的款项。

IPFS发布0.6版本,包含对协议层的重要更新:据官方消息,去中心化文件和网络托管协议星际文件系统(IPFS)发布go-ipfs0.6版本。

官方表示,该版本从代码角度来说是个相对小型的更新,但是包含了对IPFS协议的重要更新,包括QUIC传输默认情况下处于开启状态,而且支持了NOISE安全传输,但不会默认启用。(Github)[2020/6/22]

攻击交易地址

0x8bb8dc5c7c830bac85fa48acad2505e9300a91c3ff239c9517d0cae33b595090

攻击过程精析

攻击者首先利用Uniswap进行闪电贷借款,并采用镶嵌式的手法,在WBTC2、USDC3以及USDT2池中分别进行了WETH借贷,如下图所示:

其后,为扩大用于攻击的资金量,攻击者又在dYdX进行了闪电贷借款。如下图所示:

此时,借出的资金规模已高达近2亿美元.接下来,攻击者向Uniswap的DAI?2交易池中注入流动性,获取了流动性代币LP,如下图所示:

然后,将所获的LP代币抵押在WarpFinance合约中,交易及代码如下图:

完成抵押后,攻击者利用借来的资金,将UniswapDAI?2池中的DAI兑换殆尽,如下图所示:

上述“准备工作”完成后,价格已处于被操纵状态。另一方面,WarpFinance的预言机喂价源是来自Uniswap?LP代币的价格数据,代码如下图:

LP代币价格算法

/LP代币的总量

其中,A代币与B代币的价格是由Uniswap的“对应代币与稳定币”交易对计算得出。

因此,在上述情况下,A、B代币的价格处于正常水平、而交易对中的A、B代币相对价格则已经发生异常。这是因为Uniswap采用恒定乘积做市商机制,即A×B=K。当出现大量的兑换某一种代币时,就会产生巨大的滑点,从而产生价差。

假设:A=A代币数量;B=B?代币数量;AP=A代币价格;BP=B代币价格

已知:A×B=k;Warp价格=/totalLP

因AP和BP在本事件中皆为恒定,故可设AP=X1×BP,化简可得Warp价格=/BB)×BP/totalLP

可得结论为,X1×K?、BP和totalLP在攻击中都是常数,随着B的数量增大,LP价格就会提高。

攻击者正是利用了这一点,使用从闪电贷获取的巨额资金在交易池中海量添加其中一种代币的流动性,迫使另一种代币也随之巨增,从而引发LP的价格失衡。由于LP价格已被操纵,处于一个高位,因此,攻击者可以借出相比正常量更多的资产。

此后,攻击者即通过调用以下函数进行贷款。

在成功控制抵押价格后,攻击者便能利用错误的价格数据贷出远远超过抵押品价值的资产,从中获取暴利。最后,攻击者归还了闪电贷的款项,如下图所示:

事件小结

很明显,这又是一起典型的由闪电贷巨款发起的预言机攻击事件。成都链安曾撰文指出,在当前黑客众多的攻击手法中,“预言机”喂价控制才是隐形的“元凶”。

同时,成都链安也郑重提醒DeFi开发者,应加强预言机的针对性测试,特别是在项目上线前,尽可能模拟价格操控攻击的各类场景,及时发现问题并找出解决方案,切实提高项目抗预言机攻击的能力。

短短一个月后,巨额的财产损失再一次告诫我们,在区块链领域中,安全防护工作尤为重要,许多系统安全漏洞属于防不胜防。因此,我们必须采取积极措施形成连续、有效的保护方案,才能在最大程度上提前规避问题。

此外,如在DeFi项目运行中存在安防方面的任何技术问题,采取第三方安全技术解决方案不失为一种行之有效的办法。最后,成都链安再次呼吁,要加强对项目预言机等多方面的定期安全检测,以防范此类事件的再度发生。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:15ms0-3:162ms