Impossible Finance 闪电贷攻击事件跟踪
摘要: 币安智能链 (BSC) DeFi 项目 Impossible Finance 遭遇闪电贷攻击,实验室第⼀时间跟进并分析。
前言
6 月 20 日,BSC 链上的 DeFi 项目 Impossible Finance 突然遭遇闪电贷袭击,本是涨势喜人的 IF 代币从此也一蹶不振,价值一路下滑。知道创宇区块链安全实验室 第一时间跟踪本次事件并分析。
事件分析
第一阶段:准备阶段
从 黑客准备阶段流程图 中我们可以看到黑客的最终目的是创建 AAA 代币与 IF 代币流动性。
为此他的具体操作:
第一步:获取 IF 代币(利用闪电贷从 PancakeSwap 中获取 WBNB 代币,并将其兑换成 IF 代币)
第二步:创建可控代币 AAA(BBB)
第三步:在 Impossible 中添加了 AAA 代币与 IF 代币流动性
第二阶段:攻击阶段
从 黑客攻击阶段流程图 中我们可以看到黑客的最终目的是获得 BUSD 代币。他的具体操作:
第一步:通过 Router 合约设置兑换路径 (AAA -> IF -> BUSD)
第二步:在同一兑换过程中进行了两次兑换操作(扰乱价值)
第三步:兑换可获利的 BUSD 代币,并兑换 IF 代币为下次攻击做准备
攻击原理分析
为什么黑客要在同一兑换过程中进行两次兑换操作?
理论上每次兑换操作都将导致 K 值的变化,用户一般无法获得预期数量的代币。既然黑客这样操作并获利,那么一定在合约某处出了问题。
果然检查源码发现了问题:
cheapSwap 函数并没有检查 K值 变化,直接更新价值变化。这就是黑客通过多次兑换操作获得额外 BUSD 代币的原因。
总结
本次闪电贷安全事件主要是由于项目方在参考 Uniswap v2 协议进行创新时,没能及时对创新内容进行安全验证。虽然对 cheapSwap 函数做了限制,但是对其本质的安全性——价格变动却忽视了,这是不应该的。
近期,BSC 链上频频爆发攻击事件,合约安全愈发需要得到迫切重视。BSC 官方目前也发推称推测有黑客团队盯上 BSC,叮嘱各项目方注意规范,合约审计、风控措施、应急计划等都有必要切实落实。
作者:创宇区块链安全实验室;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请联系微信:chaindd123
评论(0)
Oh! no
您是否确认要删除该条评论吗?