比特币国内交易合法首发,WarpFinance闪电贷事件解析

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册

一张100元纸币可以实现许多不同的用途。可以用来买早餐、买菜、炒股、旅游,甚至可以用来折纸飞机或功能过于复杂反而引发了各种不同形式的钱的出现。比如,数字货币存放在银行卡、支付宝等应用中,或者存放在股票和基金中。甚至可以用一句话写在借条上。

闪电贷作为一种新型金融产品,被视为金融领域区块链应用的重要进步。它将借贷功能从货币形式中“剥离”出来,资金可以通过协议自由流动,从一个协议转移到另一个协议,从一种资产转移到另一种资产,大大提高了单一功能的效率。

然而,对于用户的便利也使得闪电贷成为黑客的钻空子的对象,使用起来几乎可以获得巨大的利益,甚至可以说是“一本万利”甚至是“无本万利”。

2020年,闪电贷攻击频发,成为金融安全事故中的“新常态”。最近,CertiK安全技术团队接到了一个关于WarpFinance项目的闪电贷攻击预警。

CertiK安全技术团队立即进行了分析,

1.攻击者通过闪电贷从uniswap和dydx处借取了5笔贷款,每笔借出的WETH和DAI的数量如表一所示。

表一:攻击流程中闪电贷借出的代币种类和数量

2.攻击者将所借的代币放入uniswap的WETH-DAI流动性池中,铸造了大约94349个流动性证明LP代币。然后攻击者通过调用WarpVaultLP智能合约中的provideCollateral函数,将这些LP代币全部存入WarpFinance的Vault。

图一:WarpVaultLP智能合约中的provideCollateral函数

3.在将LP作为collateral存入WarpVaultlp合约后,攻击者调用WarpControl智能合约中的borrowSC函数,从warp项目中借出USDC,如图二所示。

图二:WarpControl智能合约中的borrowSC函数

图二中的getBorrowLimit函数通过调用同一合约中的getTotalAvailableCollateralValue间接调用了oracle的getUnderlyingPrice函数,以获取攻击者存入的collateral的价格。

图三:WarpControl智能合约中调用的价格预言机地址

通过查看价格预言机oracle地址的值,可以发现WarpControl智能合约调用了UniswapLPOracleFactory智能合约作为计算质押资产价格的预言机。

通过调用oracle中的getUnderlyingPrice函数来计算价格,getUnderlyingPrice函数如图四所示。

图四:UniswapLPOracleFactory智能合约中getUnderlyingPrice函数

getUnderlyingPrice函数在1390行和1394行调用了图五中的consult函数,并在1404行执行了图六中的_calculatePriceOfLP函数来计算价格。

其中_calculatePriceOfLP函数的参数priceAsset1和priceAsset2来源于consult函数。

图五:UniswapLPOracleFactory智能合约中consult函数

图六:UniswapLPOracleFactory智能合约中_calculatePriceOfLP函数

从以上两图可以看出,攻击者质押的collateral可以借出的USDC数量或者价格的计算公式为:(token0的价格*token0的数量+token1的价格*token1的数量)/当前合约中LP代币的供应量。

然而,由于(token0的价格*token0的数量+token1的价格*token1的数量)这一部分无法正确计算出当前uniswap中对于token0-token1代币对LP的总共锁定价格,因此攻击者存入的collateral可以借出的USDC数目比正常情况下多。

利用WarpFinance项目中使用的oracle计算质押LP代币资产价格错误的漏洞,攻击者最终从WarpFinance项目中获得了约1462个ETH代币,总价值约95万美元。

此外,攻击者还铸造了价值约600万美元的DAI-ETHLPshare,并有约100万美元的利润流入了uniswap和sushiswap的流动性池中。

总体来看,在这次攻击中,WarpFinance遭受的损失约为770万美元。WarpFinance表示他们可以恢复约550万美元的损失,并将恢复的资金用于补偿用户。来源:https://twitter.com/warpfinance/status/1339751977836789767

CertiK安全技术团队认为这次攻击的特点是攻击者采用了多种多次的闪电贷来获取所需的启动资金,并利用了当前热门的预言机价格计算漏洞进行攻击。

针对这类攻击,CertiK安全验证团队提出以下建议:

1.接入链上预言机(如chainlink),以提供实时的价格数据对所有代币进行定价。

2.在智能合约内部建立详细的价格监控程序,对可能引发巨大波动的交易进行监控或阻止。

本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/zx/53203.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年08月11日
下一篇 2023年08月11日

相关推荐

  • 什么是Stacks Stacks与STAR原则:进步工做效率的法门

    本文目次导读:StacksSTAR原则StacksStacks是一种数据构造,它是一种线性表,具有后进先出(Last In First Out,LIFO)的特征,那意味着最初一个进入栈的元素将会是第一个被拜候或移除的元素,在计算机科学和编程

    2024-04-24 22:30:16
    73 0
  • 「金色财经」Phalcon:合约0x8c2d4e遭受攻击,损失约36.5万美元

    「金色财经」根据金融报道,Phalcon在X平台上发布消息称,由于缺乏访问控制,合约0x8c2d4e(可能是MEV机器人)受到攻击,损失约36.5万美元攻击者首先调用函数0xac3994ec将自己指定为特权地址(可能是债务所有者的角色)随后

    2023-11-13 11:30:06
    157 0
  • 「金色财经」Aptos Labs正在为Move开发新编译器Aptos Move Compiler

    「金色财经」AptosLabs11月12日宣布,AptosMoveCompiler正在为智能合约语言Move开发新的编译器,它将增加一些新的语言功能,包括接收器风格的函数调用,支持一般的高级函数,开发者可以定义定制功能、资源访问控制、回归全

    2023-11-12 11:01:35
    81 0
  • 三角函数的应用场景简介

    在数学上,cosine(余弦)函数是一种常见的三角函数。它经常被用于计算三角形的各种边长以及角度。当我们想知道一个角度的余弦值时,我们可以在计算器中使用cos函数进行计算。但是你是否曾思考过,当角度为90度时,cosine的值是多少?除此之

    2023-11-12 02:01:59
    87 0
  • DEUS被攻击事件的漏洞分析

    中国北京时间2023年5月6日,DEUS的稳定币 DEI 合约存在 burn 逻辑漏洞,攻击者已盈利约 630 万美金。SharkTeam 针对此事件进行了技术指标分析,并总结了安全防护方式。希望未来的项目能以此为教训,共同构建区块链行业的

    2023-11-10 14:02:25
    82 0
  • 「金色财经」Beosin:TrustPad被黑客攻击损失15.5万美元

    「金色财经」金色财经报道,据Beosin旗下BeosinEagleEye安全风险监控、预警与阻断平台监测显示,TrustPad被黑客攻击,Beosin安全团队分析发现TrustPad被攻击的根本原因在于receiveUpPool函数未验证m

    2023-11-07 16:00:08
    90 0

发表回复

8206
验证码

评论列表(0条)

    暂无评论

ok交易所
已有100万用户加入ok交易所

立即下载