以小博大,简析 Sushi Swap 攻击事件始末_APH:Graph

By:慢雾安全团队

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

背景提要

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

美国财长耶伦:拜登关于加密货币的指令将解决非法金融风险:金色财经报道,美国财政部长Janet L. Yellen就拜登总统关于加密资产的行政命令发表了以下声明。拜登总统的历史性行政命令呼吁对数字资产政策采取一种协调和全面的方法。 这种方法将支持负责任的创新,可能为国家、消费者和企业带来巨大的利益。 它还将解决与非法金融有关的风险,保护消费者和投资者,并防止对金融系统和更广泛的经济的威胁。

根据该行政命令,财政部将与机构间同事合作,编写一份关于货币和支付系统未来的报告。我们还将召集金融稳定监督委员会,评估数字资产的潜在金融稳定风险,并评估是否有适当的保障措施。而且,由于数字资产提出的问题往往具有重要的跨境层面,我们将与我们的国际伙伴合作,促进健全的标准和公平的竞争环境。这项工作将补充财政部正在进行的努力。该部已经与总统的金融市场工作组、联邦存款保险公司和美国中央银行合作,研究一种特殊的数字资产--稳定币,并提出建议。根据该行政命令,财政部和机构间合作伙伴将在最近发布的国家风险评估的基础上,确定与数字资产相关的主要非法融资风险。[2022/3/9 13:45:53]

攻击流程

动态 | ECAF 发文阐述关于首项裁决的始末 将会进一步改进流程:据 IMEOS 报道,ECAF 发文阐述关于首项更改账户私钥裁决事件的始末,包括对社区解释花了这么长时间的原因,以及下一步的规划。ECAF 在文中解释道:1.没有基于链上的账户之间通信系统。因此,需要在仲裁过程中建立足够的时间让所有受害者挺身而出。2.需要解决的案件是涉及多个领域的复杂法律问题,包括不同的区块链,司法管辖区和治理方法。3.EOS 本质上不是一个中心化的系统,没有任何一方(例如银行或信用卡公司)控制信息,收集证据和执行。这些案件通常涉及 EOS 社区中多方的合作,包括索赔人本身,利益相关方,受访者以及最终负责执行仲裁员决定的EOS Block Producers(BP)。

而使上述情况复杂化的是 ECAF 目前没有资金的性质,是目前志愿者努力地推动进程。(ECAF 有收费结构,并已开始收取费用,但由于案件结束前不支付费用,仲裁员在发布最终裁决之前一直无法收到付款。)[2018/11/14]

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

火币HADAX关于近期网络谣言的调查及处理决定:火币今日发布公告称,近期监测到网络中出现题为《多个项目方炮轰火币HADAX》的网络文章,随后MAN、YCC、GVE项目方发布澄清公告表示与上述网文无关,证明火币清白,网文谣言不攻自破。 本着澄清事实,还原真相的态度,我们立即进行了调查,并联系到未发澄清公告的INC项目方。INC项目方承认网上言论来源于INC项目方的主要成员,并提出HADAX平台中INC的交易数据不合理,但未提供证据。 经和INC项目方沟通,项目方陈述事实详见公告, 对于本次事件火币HADAX决定做出如下处理: 1.立即暂停INC在HADAX上的交易,但允许充提币。 2.对支持INC项目的超级节点进行尽职调查,暂停其超级节点资格。 3.启动HADAX全部超级节点的审查,在审查行动完成之前,暂停HADAX投票上币机制。 4. 火币保留依法追究本次网络谣言事件中相关人员及自媒体法律责任的权利。[2018/6/10]

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。

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

总结

攻击者使用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

本文来源于非小号媒体平台:

慢雾科技

现已在非小号资讯平台发布68篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/9558993.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

币安为何推出第三条链?这对BNB意味着什么?

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

金宝趣谈

[0:15ms0-3:745ms