By:yudan@慢雾安全团队
据慢雾区消息,2021年05月28日,币安智能链(BSC)DeFi项目BurgerSwap被黑,损失达330万美元。慢雾安全团队第一时间介入分析,并将结果分享如下:
攻击细节分析
BurgerSwap是一个仿UniswapAMM项目,但是和Uniswap架构有所区别。BurgerSwap架构总体分成。其中Delegate层管理了所有的Pair的信息,并负责创建lpPlatForm层。然后lpPlatForm层再往下创建对应的Pair合约。在整个架构中,lpPlatForm层充当了Uniswap中Router的角色,负责将计算交易数据和要兑换的代币转发到Pair合约中,完成兑换。
V神:区块链是为了将不同的人群聚集在一起,以便能够更加信任彼此:金色财经报道,4 月 25 日 reState 基金会举办了一场虚拟会议,以太坊联合创始人 Vitalik Buterin 与 Isha 基金会创始人讨论技术与人类意识的交叉点。
V 神表示,区块链是为了将不同的人群聚集在一起,以便能够更加信任彼此,在许多不同类型的项目中跨越更远的距离进行协作。新兴技术实际上使人们更容易识别复杂的身份并在共同点上相互联系。最终,每种技术在某种程度上都是一种社会技术,虽然新兴技术不会解决用户的所有问题,但该领域的协议和分歧有可能分别带来已实现的合作和学习机会。我认为这些是我认识的以太坊和相关社区中很多人真正关心的想法。[2023/4/25 14:26:09]
智度股份预计2022年亏损逾3.95亿元,子公司购买比特币减值6318.32万:金色财经报道,1月31日,A股上市公司智度股份(000676)公告称,预计2022年将由盈转亏,亏损额达3.05亿元至3.95亿元。智度股份表示,造成公司业绩亏损的主要原因是公司基于谨慎性考虑,对应收款项及合同资产计提减值,并结合年终的复核、测试情况,对无形资产、长期股权投资、商誉计提减值,2022年度拟计提减值准备合计5.6亿元。
其中,智度股份称,公司之子公司智度投资(香港)有限公司向Bit Maintech公司购买云算力服务所产生的数字资产(比特币)。公司预计,该无形资产存在减值的迹象,预计可收回金额低于其账面价值。为此,智度股份计提了6318.32万元的减值准备。[2023/2/2 11:42:43]
本次事件的根本正是出在这种架构的问题上。通过一步步分析攻击者的交易行为,我们来还原整个攻击过程的核心:
Opera浏览器已集成MetaMask等第三方钱包:9月13日消息,专注于 Web3 的加密浏览器 Opera 现已支持MetaMask等第三方钱包。Opera 通过名为 Wallet Selector 的功能集成第三方钱包意味着除了浏览器的原生非托管钱包外,用户还可以选择 Google Chrome 或 Opera 商店中可用的任何钱包扩展程序与特定的 dApp 或网站进行交互。(Decrypt)[2022/9/13 13:27:11]
本次攻击开始于Pancake的闪电贷,攻击者从Pancake中借出了大量的WBNB,然后将这些WBNB通过BurgerSwap?兑换成Burger代币。在完成以上的操作后,攻击者使用自己控制的代币(攻击合约本身)和Burger代币通过Delegate层创建了一个交易对并添加流动性,为后续攻击做准备。
MakerDAO风控小组成员发表在Curve上建立新稳定币池提案:金色财经消息,MakerDAO风控小组成员monetsupply.eth发表在Curve上建立新稳定币池提案,该提案建议建立DAI、USDC、USDP、GUSD Basepool,该池可以作为FEI、FRAX、MIM等算法稳定币的配对资产,以维持较高深度的流动性。MakerDAO还将考虑允许与Basepool配对的流动性池LP作为抵押品。MakerDAO将扣留LP获得的CRV激励并作为协议的CRV储备,使得MakerDAO与Curve生态具有激励一致性。此外,MakerDAO将发行包装资产mkrCRV,此举将使得MakerDAO获得额外的投票影响力并且使得CRV质押者可以释放流动性并且同时依然可以获取收益。Curve表示支持该提案,但建议将USDP改为BUSD。[2022/4/30 2:41:43]
在完成代币的创建和准备之后,攻击者立马通过PaltForm层的swapExactTokensForTokens函数发起了兑换,兑换路径为
马斯克在4月26日累计减持特斯拉股份3148311股:4月29日消息,特斯拉CEO埃隆·马斯克在4月26日累计减持特斯拉股份3148311股。 特斯拉CEO马斯克表示:今天之后没有进一步出售特斯拉(TSLA.O)股票的计划。金色财经此前报道,马斯克因未能遵守有关披露其最初持有的9%推特股份的规定正受到审查。[2022/4/29 2:38:27]
接下来进行了最关键的一次操作。
由于先前攻击者在创建交易对的时候使用的是自己控制的代币,在代币兑换过程中,_innerTransferFrom函数会调用攻击者控制的代币合约,于是攻击者可以_innerTransferFrom函数中重入swapExactTokensForTokens函数。为什么攻击者要这样做呢?
通过对PlatForm层的swapExactTokensForTokens函数进行代码分析,我们不难发现,合约在调用_innerTransferFrom函数时首先计算了用户的兑换数据,然后在_innerTransferFrom函数的操作后使用预先计算的数据来转发到底层进行真正的代币兑换。从这个函数层面来看,就算攻击者重入了swapExactTokensForTokens函数,底层调用的swap函数也是独立的,咋一看并没有什么问题,但是链上的一个行为引起了慢雾安全团队的注意:
我们惊讶地发现,在重入的兑换过程中,兑换的数量竟然没有因为滑点的关系而导致兑换数量的减少。这究竟是什么原因呢?看来关键是底层的Pair合约的问题了。我们又进一步分析了底层调用的Pair合约,代码如下:
通过分析Pair的代码,我们再次惊讶地发现在swap的过程中,合约竟然没有在兑换后根据恒定乘积公式检查兑换后的数值!!也就是说,Pair合约完全依赖了PlatForm层的数据进行兑换,导致了本次事件的发生。由于Pair层本身并不做恒定乘积的检查,在重入的过程中,PlatForm层的兑换数据预先进行了计算,在_innerTransferFrom函数完成后,Pair的更新数据也没有反映到PlatForm层中,导致重入交易中的兑换产生的滑点并不影响下一次的兑换,从而造成了损失。用图来看的话大概如下:
总结
本次攻击属于BurgerSwap架构上的问题,由于Pair层完全信任PaltForm层的数据,并没有自己再做一次检查,导致攻击的发生。最近DeFi安全事件频发,针对越来越密集的DApp攻击事件,慢雾安全团队建议DApp开发者在移植其他协议的代码时,需充分了解移植协议的架构,并充分考虑移植协议和自身项目的兼容性,且需通过专业安全审计机构的审计后才上线,防止资金损失情况的发生。
攻击交易参考:
https://bscscan.com/tx/0xac8a739c1f668b13d065d56a03c37a686e0aa1c9339e79fcbc5a2d0a6311e333
标签:SWAPFORPAIAIRSingle Dog Swap TokenFORE Protocolpaint币前景AIRTNT
据TheBlock5月27日报道,StellarDevelopmentFoundation于今天宣布,其风投部门SDF企业基金向墨西哥数字钱包和加密货币交易所初创公司Airtm投资了1500万美元.
1900/1/1 0:00:00QuickTake 最近关于layer2的热门项目,对项目进行layer2更新的项目列表 V神之投票 Gitcoin的大动作 最近关于layer2的热门项目.
1900/1/1 0:00:00文|ZachPandl,?GlobalFX联合主席 译|Bite@火星财经 虽然比特币被许多投资机构接纳,但很多传统老派投资者仍然很难理解为什么数字资产具有价值.
1900/1/1 0:00:00编者按:5月,“币圈”吸引无数关注。5月18日,中国互联网金融协会等三大协会发布公告指出,开展法定货币与虚拟货币兑换及虚拟货币之间的兑换业务,违反有关法律法规并涉嫌犯罪.
1900/1/1 0:00:002015年7月,以太坊正式上线。在过去的几年时间里,基于以太坊的去中心化应用程序(dApps)生态系统已经取得了惊人的发展,比如: 0x的第一个场外交易市场于2017年推出;Uniswap于2018年11月首次上线完成部署;Yearn.
1900/1/1 0:00:00在高度的价格波动和极端的Gas价格中,DeFi体现了其在协议层面的弹性。清算和套利机制按计划运作,保持稳定,同时稳定币保持其稳定性,看到整个生态系统的大量转账量和使用.
1900/1/1 0:00:00