火星链 火星链
Ctrl+D收藏火星链

PAI:我竟了我自己?—— BurgerSwap 被黑分析

作者:

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

By:yudan@慢雾安全团队

据慢雾区消息,2021年05月28日,币安智能链(BSC)DeFi项目BurgerSwap被黑,损失达330万美元。慢雾安全团队第一时间介入分析,并将结果分享如下:

攻击细节分析

BurgerSwap是一个仿UniswapAMM项目,但是和Uniswap架构有所区别。BurgerSwap架构总体分成。其中Delegate层管理了所有的Pair的信息,并负责创建lpPlatForm层。然后lpPlatForm层再往下创建对应的Pair合约。在整个架构中,lpPlatForm层充当了Uniswap中Router的角色,负责将计算交易数据和要兑换的代币转发到Pair合约中,完成兑换。

Lido V2引入Staking Router模块化架构,允许任何人创建Lido staking模块:金色财经报道,Lido发布推文称,作为Lido V2的一部分,引入了Staking Router模块化架构。Staking Router是一种升级,它将Lido staking operator registry转变为模块化 + 可组合的即插即用架构,允许Lido以更自下而上的理念转向更模块化的架构。任何人都可以提出一个模块,每个验证者池都被视为自己独立的模块。虽然Staking Router负责在所有模块之间分配资源,但每个模块都管理自己的内部运营商注册表、存储密钥以及参与者之间的权益 + 奖励分配。[2023/2/11 11:59:54]

苏富比将举办首次现场NFT拍卖:9月14日消息,拍卖行苏富比将于美国东部时间9月14日下午4点在纽约举办首次现场NFT拍卖活动“Inside the World of MaxStealth: A Timeless Collection”,同时本次也是苏富比举办的首次单一所有者NFT拍卖活动。他们将拍卖NFT收藏家MaxStealth的26件NFT藏品,其中包括XCopy的“Departed”、Beeple的“Bull Run”、以及Pak、Hackatao、Andrés Reisinger等多位NFT艺术家的作品。[2022/9/14 6:56:21]

本次事件的根本正是出在这种架构的问题上。通过一步步分析攻击者的交易行为,我们来还原整个攻击过程的核心:

2022世界人工智能大会共计25个人工智能产业项目签约 总投资近150亿元:金色财经消息,2022世界人工智能大会今天(9月3日)在上海闭幕。今年的大会以“智联世界、元生无界”为主题,聚焦虚拟原生、数字孪生和空间计算等元宇宙核心技术,并发布了元宇宙六大应用场景。25个“上海人工智能代表性产业项目”重磅签约,其中8家企业进行现场签约,17家企业在元宇宙会场同步签约,总投资近150亿元。从去年大会到今年大会共166个项目签约,总投资905亿元。(财联社)[2022/9/3 13:06:49]

本次攻击开始于Pancake的闪电贷,攻击者从Pancake中借出了大量的WBNB,然后将这些WBNB通过BurgerSwap?兑换成Burger代币。在完成以上的操作后,攻击者使用自己控制的代币(攻击合约本身)和Burger代币通过Delegate层创建了一个交易对并添加流动性,为后续攻击做准备。

Coinbase:支付问题已经解决:6月28日消息,加密货币交易所Coinbase表示,支付问题已经解决。(金十)[2022/6/28 1:35:18]

在完成代币的创建和准备之后,攻击者立马通过PaltForm层的swapExactTokensForTokens函数发起了兑换,兑换路径为

接下来进行了最关键的一次操作。

由于先前攻击者在创建交易对的时候使用的是自己控制的代币,在代币兑换过程中,_innerTransferFrom函数会调用攻击者控制的代币合约,于是攻击者可以_innerTransferFrom函数中重入swapExactTokensForTokens函数。为什么攻击者要这样做呢?

“哥布林” Goblintown #6485以77.75 ETH成交,创下该系列最高交易记录:金色财经报道,据最新数据显示,“哥布林” Goblintown #6485以77.75 ETH成交,约合 150,507.29 美元,创下该系列最高交易记录。本文撰写时,“哥布林” Goblintown NFT总交易额达到42,807,526美元,市值约为1.45232 亿美元,地板价达到 7.69 ETH,24 小时涨幅为 67.58%。Goblintown NFT 通过免费公售的形式在以太链上发售,发行总数量为 9999 个,其怪异画风加之 meme 特性传播等特点使项目在短暂一周的时间内,除去各类迥异的魔性生物,Goblintown 的 1/1 藏品也在模仿一些知名人物,比如Pixelmon 的 Kevin、Twitter 著名反指的电子舞曲音乐人 SteveAoki、神似哈利波特中的霍格沃兹校长和漫威中的鹰眼克林特巴顿。[2022/6/2 3:58:10]

通过对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

标签:SWAPFORPAIAIRSwapShipFortKnoxPAID价格HAIR币

以太坊价格今日行情热门资讯
PTI:OptimismPBC vs Arbitrum

现在正是将?@optimismPBC?和?@arbitrum?拉出来较量一下的时候了。久等了各位,我们现在就开始! 我们先来看一下Optimism和Arbitrum之间的共同点:都属于Rollu.

1900/1/1 0:00:00
区块链:六大行投入金融科技近千亿 区块链加码下供应链金融能走多远?

《21世纪经济报道》讯:2020年银行年报发布已进入尾声,六大行早前年报已发布完毕,在A股上市的全部九家股份行中,均已披露2020年经营业绩.

1900/1/1 0:00:00
COI:《证券日报》| 监管打击掀起矿圈整顿潮: 新疆、四川部分地区暂停向矿场供电 多家矿池相关企业火速剥离国内相关业务

证券日报记者?邢?萌上周五,国务院金融委在会议中提出“打击比特币挖矿和交易行为”。受此影响,一场矿圈整顿正在上演:多个知名矿池及有关企业正在剥离国内相关业务.

1900/1/1 0:00:00
区块链:关于波卡的插槽拍卖、众贷 看这一篇就够了

在5月19日的波卡社区大会PolkadotDecoded中,Parity核心开发者,也是拍卖和众贷系统的开发者之一的ShawnTabrizi介绍了波卡平行链的拍卖、众贷和插槽.

1900/1/1 0:00:00
MIS:UMA已正式上线Optimistic Oracle

太长不看:UMA的OptimisticOracle已经上线。OptimisticOracle可以用来获取市场数据,并将所有类型的数据上链.

1900/1/1 0:00:00
LPT:资深做市商评测 Uniswap V3:核心优势在于提供可组合性策略

DeFi发展需吸取传统金融的可组合性优势,吸引更多入局者,这恰是UniswapV3正在做的尝试.

1900/1/1 0:00:00