“不可思议” 的被黑之旅: Impossible Finance 被黑分析

据慢雾区消息,币安智能链 (BSC) DeFi 项目 Impossible Finance 遭遇闪电贷攻击。慢雾安全团队第一时间介入分析,并将结果分享如下:

攻击细节分析

Impossible Finance 的 DEX 架构参考了 Uniswap v2,但在 Pair 的实现上有所不同。Impossible Pair 分别实现了 cheapSwap 与 swap 两个接口。cheapSwap 函数限制了只由 Router 合约可进行调用,swap 函数则是任意用户都可调用进行代币兑换操作。本次攻击事件的根本原因正是出在这种特殊的代币兑换架构上,接下来我们对此次攻击进行具体分析:

首先攻击者利用闪电贷从 PancakeSwap 中借出大量 WBNB,并最终将其兑换成 IF (Impossible Finance 代币) 。

2月The Sandbox地块销售额骤降至12,683ETH:2月28日消息,根据 Dune Analytics 最近数据显示,2 月份元宇宙项目 The Sandbox 地块销售额骤降至 12,683ETH,相比于 2022 年 1 月 The Sandbox 24,516 ETH 的地块销售额,跌幅近 50%。数据显示,The Sandbox 地块销售额最高峰发生在 2021 年 11 月,当月销售额达到 34,366 ETH,此外 The Sandbox 平均地块价格在 2022 年 1 月创下了 10,449 美元的历史最高记录,该指标在 2 月份为 10,271 美元,暂时没有出现较大幅度波动且依然维持在高位。[2022/3/1 13:28:33]

随后攻击者创建了一个由自己控制的代币 AAA (BBB),并与上一步骤中获得的 IF 代币添加流动性。

BTC跌破48000美元:火币全球站数据显示,BTC短线下跌,跌破48000美元,现报47999.0美元,日内跌幅达到4.49%,行情波动较大,请做好风险控制。[2021/4/26 20:58:02]

之后攻击者通过 Router 传入自定的兑换路径 (AAA -> IF -> BUSD) 将 AAA 代币兑换成 BUSD 代币,而问题正是出现在此兑换过程中。通过链上记录我们可以很容易的发现攻击者在将 AAA 代币兑换成 IF 代币的过程中进行了两次兑换操作:

为什么在一次兑换过程中会进行两次兑换操作呢?

通过分析具体的内部调用流程我们可以发现,攻击者在 Router 合约调用 AAA 合约的 transferFrom 函数将 AAA 代币转入 Pair 合约的过程中,同时调用了一次 Pair 合约的 swap 函数 (即在 transferFrom 函数实现了正常转账与 swap 调用的逻辑)。然后再通过项目设计预期的 cheapSwap 再进行一次正常的代币兑换操作。

通过以上分析我们可以知道攻击者在一次代币兑换过程中分别通过调用 swap 函数与 cheapSwap 函数进行两次代币兑换操作,最终收到了额外的 BUSD 代币。那么既然是进行兑换操作,理论上每次兑换操作都将导致 K 值的变化,最终使得用户无法获得预期的代币。

但通过分析 Impossible Pair 的 swap 函数与 cheapSwap 函数的具体逻辑,我们发现一个惊人的情况:在 swap 函数中进行了 K 值检查,而在 cheapSwap 函数却未进行 K 值检查而直接进行了 update 操作。这就导致了攻击者进行了多次兑换操作获得了额外的 BUSD。

攻击流程

1、攻击者先通过 PancakeSwap 闪电贷借出 WBNB,并将 WBNB 兑换成 IF 代币。

2、创建恶意的代币合约 AAA(BBB),并在 Impossible 中添加了 AAA 代币与 IF 代币流动性。

3、通过 AAA -> IF -> BUSD 路径进行 AAA 代币到 BUSD 代币的兑换,并在 AAA 代币转入 Pair 合约兑换成 IF 代币的过程中进行了一次 IF 代币与 BUSD 的兑换操作,随后再进行正常的 cheapSwap 操作。最终获得了额外的 BUSD 代币。

4、之后重复以上操作进行获利。

总结

本次攻击的核心在于 cheapSwap 函数中未进行 K 值检查,导致攻击者可以通过在一次兑换过程中进行多次兑换操作以获得额外的代币。慢雾安全团队建议 DeFi 协议在参考其他项目的基础上进行创新的过程中应该充分的对其新的模型进行检查验证以避免此类安全事故的发生。

参考交易:

https://bscscan.com/tx/0x0220704a99ddfb982d26e65cc337f26b77dc057930b7aa1d848cc48ec77984a8

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

金宝趣谈

Filecoin投资教父:比特币比黄金值钱多了 巴菲特不买是因为他老了

凤凰《封面》|对话赛富亚洲投资基金创始管理合伙人阎焱 出品:凤凰网财经《封面》 主持人:陈琳  制片人:陈琳  执行制片人:鲁婧涵 文:鲁婧涵 核心提要: 1.即便新能源概念股股价涨上了天,但作为最成功的投资人之一,阎焱并不看好造车新势力,认为倒闭潮不会太远。

DYDX噱头还是风口?“区块链+白酒”应用初露峥嵘

李鸿旭特别强调,信任是金,“白酒+区块链”很好,但涉及“白酒+金融”,风险控制就显得十分重要。 在区块链和传统行业的结合中,“区块链+白酒”一直是其中引人瞩目的项目。 自2017年开始,中国白酒企业开始了“区块链+白酒”的应用探索,其中既有茅台、五粮液、泸州老窖这样的一线大牌,也包括谷小酒等新兴品牌。应用场景主要体现为“溯源”和“数字酒证”两个方面。

比特币交易所为了比特币挖矿 哈萨克斯坦打造了一片新区域

6月18日下午,网传文件显示四川省发改委、能源局发布通知清理关停虚拟货币“挖矿”项目。此前,内蒙、新疆、青海、云南四省则相继出台了针对虚拟货币挖矿的清退整改政策,四川成为了中国比特币矿业大省中最后一个落地监管政策的地方。 谁都没有想到,近年来比特币海外社区高喊的“挖矿去中国化”来得那么快。曾作为全球比特币算力排名第一的中国,或将彻底退出挖矿的历史舞台。

瑞波币决定 DeFi 代币价值的到底是什么?

现如今,DeFi 代币在很大程度上可以分为两类:「生产性代币」和「非生产性代币」。 非生产性 DeFi 代币是指那些典型的、“无价值的治理代币”,诸如 UNI 和 COMP 都是典型的例子。尽管这类代币自推出以来这些 DeFi 协议已经产生了数亿美元的收益,但这类代币仅代表了参与协议治理的权力,而没有捕获协议收益的权力。

[0:15ms0-5:833ms