以小博大,简析 Sushi Swap 攻击事件始末_SHIMA:Shima Enaga

By:??yudan@慢雾安全团队

2020年11月30日,据慢雾区情报,以太坊AMM代币兑换协议SushiSwap遭遇攻击,损失约1.5万美元。慢雾安全团队第一时间介入分析,并以简讯的形式分享,供大家参考。

背景提要

SushiSwap项目中SushiMaker合约的作用是用于存放SushiSwap中每个交易对产生的手续费。其中手续费会以SLP(流动性证明)的形式存放在合约中。SushiMaker合约中有一个convert函数,用于将从每一个交易对中收集的手续费通过调用各自交易对的burn函数获得对应的代币,然后将这些代币转换成sushi代币,添加到SushiBar合约中,为SushiBar中抵押sushi代币的用户增加收益,而此次的问题就出在SushiMaker合约。

马斯克回复Dogecoin设计师:要花费3 Doge来参观飞船发射:金色财经报道,Dogecoin UX/UI设计师“DogeDesigner”在社交媒体上向马斯克询问,下个月我将前往美国见证星际飞船发射,也很想参观推特总部。我和团队里的人谈过,他们说,我需要你的许可才能访问。

对此,马斯克回复称,可以,但是你要花费3Doge。[2023/3/23 13:22:18]

攻击流程

1、攻击者选中SushiSwap中的一个交易对,如USDT/WETH,然后添加流动性获得对应的SLP(USDT/WETH流动性证明,以下简称SLP),使用获得的SLP和另外的少量WETH创建一个新的SushiSwap交易对,然后得到新代币池的SLP1(WETH/SLP(USDT/WETH)流动性证明,以下简称SLP1)转入?SushiMaker合约中。

美股三大指数收盘涨跌各异:金色财经消息,美股三大指数收盘涨跌各异,道指涨0.26%,标普500指数跌0.07%,纳指跌0.03%。[2022/6/30 1:40:23]

2、调用SushiSwap的convert函数,传入的token0为第一步获得的SLP,token1为WETH。调用convert函数后,SushiMaker合约会调用token0和token1构成的代币池的burn函数燃烧SLP1,燃烧掉攻击者在第一步中打入SushiMaker合约中的SLP1,得到WETH和SLP。

3、SushiMaker合约的convert函数紧接着会调用内部的_toWETH函数将burn获得的代币转换成WETH,由于在第二步SushiMaker合约通过burn获得了SLP和WETH。其中WETH无需转换,只需转换SLP。此时,转换将会通过调用SLP/WETH交易对进行转换,也就是攻击者在第一步创建的交易对。由于SushiMaker合约在转换时会将所有的balanceOf(token0)转换成WETH,这里传入的token0为SLP,于是合约将合约中所有的SLP通过SLP/WETH交易对进行兑换(兑换的SLP包含USDT/WETH交易对每次swap产生的收益和在第二步合约通过burn函数获得的SLP)。而SLP/WETH代币池是攻击者创建的,攻击者只需在初始化的时候添加少量的WETH,就可以在SushiMaker交易对进行兑换的过程中,用少量的WETH换取SushiMaker合约中对应交易对的所有的SLP。

瑞典央行官员:各国政府可能会限制外国人进入其CBDC:金色财经报道,瑞典央行Sveriges Riksbank第一副行长 Cecilia Skingsley表示,央行数字货币 (CBDC) 不会成为解决所有跨境支付问题的“灵丹妙药”。国家不一定会相互“玩得很好”,这使得互操作性或CBDC与其他支付系统交互的方式变得复杂和分层。我们必须考虑不同级别的互操作性,对于每个想要参与其中的人来说,就治理和监督等达成一致将是非常困难的。

如果外国支付服务提供商能够访问世界各地的CBDC,这将是一个更高效、更开放的系统。但一些国家可能会发现这样做“风险太大”。我认为各国也会有不同的选择和不同程度的障碍,所以不会有一种准入模式将适用于所有人。[2022/6/29 1:37:32]

4、攻击者使用burn函数在SLP/WETH交易对中燃烧掉自己的SLP1,拿到大量的SLP和小量的WETH,并继续对其他流动性池重复该过程,持续获利。

金色晚报 | 2月19日晚间重要动态一览:12:00-21:00关键词:Tether、CFTC、北方数据、黄金十字、Visa

1. Tether向以太坊网络新增发6,000万枚USDT。

2. 美国商品期货交易委员会(CFTC)意见:Gram是否属于商品并不影响其是否构成证券。

3. 北方数据公司与嘉楠耘智宣布在区块链及AI领域展开合作。

4. 渣打银行聘请Ripple前高管出任CCIB部门全球主管。

5. 印尼海关总署将采用区块链技术降低物流成本。

6.腾讯御见:恶意挖矿程序“快Go矿工”更新,已获利门罗币47个。

7.爱尔兰高等法院没收一贩逾5600万美元比特币。

8. 比特币本周现“黄金十字”,该信号曾出现在60倍反弹前。

9. Coinbase :成为首家 Visa 主会员机构中加密货币公司。

10. 美国总统候选人Mike Bloomberg:创建监管沙箱,为加密货币提供监管框架。[2020/2/19]

总结

攻击者使用SLP和WETH创建一个新的代币池,使用新代币池的SLP1在SushiMaker中进行convert,使用少量的SLP将SushiMaker合约中的所有SLP转到自己创建的代币池中,即将对应交易对一段时间内的所有手续费收入囊中。并对其他交易对重复这个过程,持续获利。

往期回顾

假钱换真钱,揭秘PickleFinance被黑过程

闪电贷+重入攻击,OUSD损失700万美金技术简析

如何使用闪电贷从0撬动百万美元?ValueDeFi协议闪电贷攻击简要分析

无中生有?DeFi协议Akropolis重入攻击简析

Acala创世已通过慢雾科技安全审计

慢雾导航

慢雾科技官网

https://www.slowmist.com/

慢雾区官网

https://slowmist.io/

慢雾?GitHub

https://github.com/slowmist

Telegram

https://t.me/slowmistteam

Twitter

https://twitter.com/@slowmist_team

Medium

https://medium.com/@slowmist

币乎

https://bihu.com/people/586104

知识星球

https://t.zsxq.com/Q3zNvvF

火星号

http://t.cn/AiRkv4Gz

链闻号

https://www.chainnews.com/u/958260692213.htm

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

金智博客

[0:0ms0-3:262ms