一念天堂一念地狱——Impossible Finance 闪电贷攻击事件跟踪

前言

6 月 20 日,BSC 链上的 DeFi 项目 Impossible Finance 突然遭遇闪电贷袭击,本是涨势喜人的 IF 代币从此也一蹶不振,价值一路下滑。知道创宇区块链安全实验室 第一时间跟踪本次事件并分析。

在这里插入图片描述

事件分析

第一阶段:准备阶段
在这里插入图片描述图1:黑客准备阶段流程图
从 黑客准备阶段流程图 中我们可以看到黑客的最终目的是创建 AAA 代币与 IF 代币流动性。

为此他的具体操作:

第一步:获取 IF 代币(利用闪电贷从 PancakeSwap 中获取 WBNB 代币,并将其兑换成 IF 代币)
在这里插入图片描述
第二步:创建可控代币 AAA(BBB)
在这里插入图片描述
第三步:在 Impossible 中添加了 AAA 代币与 IF 代币流动性
在这里插入图片描述
第二阶段:攻击阶段

在这里插入图片描述
图2:黑客攻击阶段流程图
从 黑客攻击阶段流程图 中我们可以看到黑客的最终目的是获得 BUSD 代币。他的具体操作:

第一步:通过 Router 合约设置兑换路径 (AAA -> IF -> BUSD)

第二步:在同一兑换过程中进行了两次兑换操作(扰乱价值)
在这里插入图片描述
第三步:兑换可获利的 BUSD 代币,并兑换 IF 代币为下次攻击做准备
在这里插入图片描述

攻击原理分析

为什么黑客要在同一兑换过程中进行两次兑换操作?

理论上每次兑换操作都将导致 K 值的变化,用户一般无法获得预期数量的代币。既然黑客这样操作并获利,那么一定在合约某处出了问题。

果然检查源码发现了问题:
在这里插入图片描述
cheapSwap 函数并没有检查 K值 变化,直接更新价值变化。这就是黑客通过多次兑换操作获得额外 BUSD 代币的原因。

总结

本次闪电贷安全事件主要是由于项目方在参考 Uniswap v2 协议进行创新时,没能及时对创新内容进行安全验证。虽然对 cheapSwap 函数做了限制,但是对其本质的安全性——价格变动却忽视了,这是不应该的。

近期,BSC 链上频频爆发攻击事件,合约安全愈发需要得到迫切重视。BSC 官方目前也发推称推测有黑客团队盯上 BSC,叮嘱各项目方注意规范,合约审计、风控措施、应急计划等都有必要切实落实。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值