木星链 木星链
Ctrl+D收藏木星链
首页 > Pol币 > 正文

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

作者:

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

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

攻击细节分析

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

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

高盛CEO:美国经济恢复增长的时间表非常“不确定”:7月20日消息,高盛CEO所罗门表示,美联储的紧缩政策将令经济增速放缓,何时恢复增长“非常不确定”。所罗门表示高盛预期相当长一段时间内经济衰退可能性都比较高,每个人都需要保持谨慎。关于俄罗斯,所罗门则表示银行和其他美国企业要“很长、很长一段时间后”才会重回俄罗斯。(金十)[2022/7/21 2:27:00]

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

澳大利亚央行:比特币“不是真正的货币”,不构成金融稳定风险:澳大利亚央行(Reserve Bank of Australia)在众议院常务经济委员会(House of Representatives Standing Committee on Economics)的一次会议上,对比特币发表了略带轻蔑的评论。据Australian Financial Review周五报道,央行负责金融系统的助理行长Michelle Bullock表示:“比特币引发了很多争议”。这是对昆士兰自由国家党成员Julian Simmonds的回应,他曾询问助理行长是否认为比特币和加密货币是一种金融风险。Bullock称:“(比特币)不是一种支付工具,它甚至不是真正的钱。我认为,人们对它作为一种潜在资产有很多争议。”她不认为比特币的波动会给市场带来风险,该行行长Philip Lowe也持同样观点:“(比特币)对投资者来说是一种风险,但不是金融稳定风险。”Bullock指出,更引人注目的是围绕稳定币监管的问题。(CoinDesk)[2021/2/5 19:00:13]

律师观点:“Archer诉Coinbase”一案再次佐证了“不是你的私钥,就不是你代币”:律师Justin Wales概述了近期加密货币行业内部发生的案件,并指出该案的判决再一次佐证了一句真理——“不是你的私钥,就不是你代币”。

Justin Wales给出的例子为“Archer诉Coinbase”一案。在本案中,原告Darrell Archer起诉Coinbase违反了用户协议,原因是该公司拒绝向其提供此前由比特币分叉而生成的比特币黄金(BTG)。在分叉发生时,Archer在Coinbase上存储了350枚比特币,Archer表示这将产生价值约15.9万美元的BTG。但由于Archer已将其比特币的控制权委托给了Coinbase,因此其无法自行获取分叉而出的BTG。在本案的判决中,加州第一上诉法院认为,Coinbase的用户协议中没有规定交付BTG的义务,因此无需向Archer交付BTG。(Decrypt)[2020/8/23]

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

前CFTC主席:发展CBDC“不是竞赛”:前CFTC主席、数字美元项目联合总监Christopher Giancarlo最近接受采访时表示,在开发和部署CBDC方面,这不是一场“竞赛”,也没有赢家和输家。他称,“我反对将其定性为一场比赛,如果被认为是一场比赛,这对美国来说将是一个错误,它会因为跑得太快而输掉一切。这个游戏的赢家并不是谁最先完成游戏,输家也不是谁最后完成游戏。在时间维度上考虑这个问题是错误的。”(AMBCrypto)[2020/6/1]

一文章称V神曾对NSA支持研发比特币“不感到惊讶” V神称其扭曲原意:一篇文章称V神曾回复网友:如果NSA支持比特币研发,他不会惊讶。但V神发推认为该文章扭曲了他的原意,他说的是“存在10%-50%的概率”而非“不感到惊讶”。同时,V神还申明,该讨论发生在2011年,自己的观点也已经改变了很多。[2018/6/16]

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

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

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

但通过分析ImpossiblePair的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

标签:SWAPCHE比特币AAAFenixSwap Token樱桃币che挖矿以太坊价格今日行情比特币AAA价格

Pol币热门资讯
比特币:美联储释放鹰派信号后,为何比特币没有剧烈波动?

本文来自decrypt原文作者:JeffBensonOdaily星球日报译者|Moni 6月17日凌晨,鲍威尔出现在为期两天的联邦公开市场委员会(FOMC)会议结束后的新闻发布会上.

1900/1/1 0:00:00
区块链:区块链的扩容方案和主要的二层网络方案

近年来,不断有技术开发人员和项目团队提出各种各样的解决方案。这些解决方案,主要可以分为两大类:链上扩容和链下扩容。链上扩容,就是直接在区块链上“动手术”——修改规则,包括区块大小、共识机制等等.

1900/1/1 0:00:00
BTC:金色观察 | 微测购入13005枚BTC 现持有超过105000枚

微测以4.89亿美元购入13005枚BTC,现在总共持有105085枚BTC。微测宣布以大约4.89亿美元现金收购了13005枚BTC,本次购买平均价格约为37617美元,其中包括手续费和各项费.

1900/1/1 0:00:00
NFT:金色观察丨交易所公链何以影响NFT生态系统?

金色财经区块链6月19日讯?2021年可谓是当之无愧的“NFT元年”,“万物皆可NFT”这句话似乎已经成为社区的标志性Solgan.

1900/1/1 0:00:00
比特币:比特币将迎史上最大难度下调,这五件事值得关注

编者按:原文来自?Cointelegraph,作者WilliamSuberg;由Odaily星球日报秦晓峰编译,转载时请务必注明出处.

1900/1/1 0:00:00
MLB:美职棒大联盟MLB与FTX达成合作 建立“长期伙伴关系”

美国职棒大联盟宣布与FTX交易所建立「长期伙伴关系」。MLB会将在美国境内和FTX.US合作,在国际上与FTX.com合作。这是MLB史上第一次和加密货币交易所达成合作协议.

1900/1/1 0:00:00