木星链 木星链
Ctrl+D收藏木星链

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

作者:

时间:1900/1/1 0:00:00

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

攻击细节分析

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

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

Mechanism联创:在FTX上的资金量“不小”,正在探索法律途径:金色财经报道,加密风险机构Mechanism Capital的联合创始人Andrew Kang表示,在FTX上的资金量“不小”,正在探索法律途径。Andrew Kang称,目前仍在交易,积极评估投资机会,并能够支持与我们合作的创始人。

据两位知情人士透露,Mechanism是众多知名加密初创公司(如Nansen、1inch和Arbitrum)的支持者,是目前无法从FTX提取资金的众多投资公司之一。[2022/11/11 12:51:49]

Compound总法律顾问:美国SEC领导层变动“不太可能”对Ripple产生积极影响:12月25日消息,Compound总法律顾问Jake Chervinsky表示,美国SEC领导层的变动“不太可能”对Ripple产生积极影响,因为这起案件正由留任的执法律师发起诉讼。

火币全球站行情显示,XRP现报0.34976 USDT,日内涨幅为28.58%。

此前消息,美国SEC主席Jay Clayton于当地时间12月23日离任。SEC专员、“加密妈妈”Hester Peirce在推特透露,Elad Roisman将接任美国SEC主席一职,Peirce表示恭喜并期待其领导。

据悉,Roisman是SEC对加密货币最友好的专员之一,他一直是监管加密货币的坚定支持者。2018年曾有外媒报道分析称,如果新任委员Elad Roisman和SEC委员、加密妈妈Hester M. Peirce站在同一战线,那么关于是否通过比特币ETF的投票决策将可能出现新的格局。另外Cointelegraph报道称,Elad Roisman可能只是暂时代理SEC主席,当选总统拜登将在明年1月上任后选出一名正式继任者。[2020/12/25 16:30:51]

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

俄罗斯央行官员:区块链还“不成熟”:近日,俄罗斯央行副行长Olga Skorobogatova在圣彼得堡SPIEF年度会议上的讨论中表示,区块链需要在安全性和可扩展性方面进行改进,并补充说它还“不成熟”。[2018/5/28]

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

前CFTC主席Gary Gensler:ETH和Ripple可能属于“不合规证券”:据cointelegraph援引纽约时报周日的报道,前高盛公司合伙人兼前CFTC主席Gary Gensler认为,以太坊(ETH)和Ripple(XRP)应当被视为未注册的“不合规证券”。对此,ETH基金会负责人Aya Miyaguchi向纽约时报表示,该基金会既不控制供应也不控制ETH数量,基金会的持有量低于全部以太坊的1%,这已经低于许多其他生态系统参与者的水平。Ripple的发言人Tom Channick向纽约时报回应称,XRP不是证券,因为他不给XRP持有者利息或股权,并且他们不支付股息。同时,XRP存在于Ripple之外,是在公司之前创建的,并且会在其后存在。[2018/4/24]

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

通过分析具体的内部调用流程我们可以发现,攻击者在 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

标签:SWAPAAAUSDCHERobinHoodSwapAAA币USDSBcoincheck交易所注册完成为什么不能交易

火必交易所热门资讯
ETH:日销毁8万ETH EIP-1559真的那么神奇吗?

备受瞩目的伦敦硬分叉升级(包含了 EIP-1559 提案)于昨日在以太坊 Ropsten 测试网上线,而据 watchtheburn.com 的数据显示,在短短 24 小时内.

1900/1/1 0:00:00
比特币:狂人说:MSCI看上加密市场啦 啥时候引爆市场?

利空滚滚来,市场跌幅倒是越来越小了,37000这个位置是个非常关键的点位,如果多头守不住,可能会再次向30000下方进行考验,狂人仍然认为,从多个链上数据来看,市场不具备直接砸下去的基础.

1900/1/1 0:00:00
比特币:美国理财天后Suze Orman看BTC:我爱比特币 应将其作为长期投资

比特币又获得一位传统金融知名人士的认可,美国亿万身价理财大师、《奥普拉》杂志特约撰稿人Suze Orman对CNBC表示,应该将比特币作为一项长期投资,她说:“只要你输得起.

1900/1/1 0:00:00
CHA:测试网上线在即 海纳时空线下沙龙正火爆传递NA先进价值 等你来约

区块链大规模落地应用还要多久? NA (Nirvana) Chain公链究竟具有什么样的技术价值等......如果,你关心这些,不妨走进海纳时空(Nirvana)共识大会系列活动.

1900/1/1 0:00:00
NFT:加密货币如何重构互联网原生经济?

基于加密代币的互联网原生经济正在成为越来越多加密协议、社区与创作者的关注焦点。近期,基于以太坊的内容众筹平台Mirror.xyz软件工程师Patrick Rivera近日撰文谈及创作者与社区如何.

1900/1/1 0:00:00
EFI:DeFi周刊 | 去中心化交易平台Uniswap总交易量超3000亿美元

DeFi周刊是金色财经推出的一档每周DeFi领域的总结栏目,内容涵盖本周重要的DeFi数据、DeFi项目动态等.

1900/1/1 0:00:00