作者:yudan@慢雾安全团队
背景
2021年1月27日,据慢雾区情报,SushiSwap再次遭遇攻击,此次问题为DIGG-WBTC交易对的手续费被攻击者通过特殊的手段薅走。慢雾安全团队在收到情报后立马介入相关事件的分析工作,以下为攻击相关细节。
SushiMaker是什么
SushiMaker是SushiSwap协议中的一个重要的组件,其用于收集SushiSwap每个交易对的手续费,并通过设置每个代币的路由,将不同交易对的手续费最终转换成sushi代币,回馈给sushi代币的持有者。这个过程就是发生在SushiMaker合约上。
说说恒定乘积
恒定乘积的公式很简单,在不计算手续费的情况下,恒定乘积的公式为
声音 | 赵长鹏:无论市场如何变化,币安仍将在100年内存在:据CCN报道,币安首席执行官赵长鹏今日表示,无论行业发生什么变化,币安仍将在100年内存在。币安团队并没有对每日比特币的价格波动有所顾忌,基本上并没有真正关注市场,而是长期关注并专注于团队工作。赵长鹏表示,币安只是低着头,建立功能。[2019/2/8]
也就是说每次兑换,其实都是遵循这个公式,及交易前后K值不变,在兑换的过程中,由于要保持K值不变,公式的形式会是这个样子
声音 | 虫哥:不管市场如何 两个原因让我对比特币的信仰不会变:今天江西世星科技在江西抚州才都电子科技产业园举行厂区开业典礼。原壹比特创始人、亿算科技创始人虫哥分享称,半导体芯片在人才集中的大城市完成研发,然后在内地城市落地更划算。而其目前关注两块业务。第一是从近阈值技术研发高算力低功耗制定芯片。第二,研发 POC容量证明这类新型的绿色环保节能 POW挖矿共识机制。2018年数字货币进入寒冬,但他依然拥有坚定信念,理由有两个。其一,比特币第一次用密码学确保了个人数字资产不可侵犯。第二,比特币基于去中心化、数量有限、不可伪造等特点,是极具流动性的、可抵御通货膨胀的收藏品。[2019/1/11]
其中X代表卖掉的代币,Y代表要购买的代币,那么每次能兑换到的代币数量会是这个样子(具体的推导过程就不演示了:D)
动态 | 受监管代币交易商寻求SEC澄清数字资产如何符合美国证券法:据Coindesk报道,受监管的代币交易商Templum希望美国证券交易委员会(SEC)澄清在区块链上跟踪或代币化的数字资产如何符合美国证券法规。为此,该公司上周向SEC提交了一份规则制定请愿书,其中概述了在某些形式的证券交易中如何利用加密资产和区块链技术。Templum联合创始人兼首席执行官Vince Molinari表示,该公司要求明确这些新生技术如何适应当前的监管计划。 至少在他们看来,它们并不存在于现有框架中。具体而言,Templum希望SEC解释区块链平台何时必须注册为清算公司或清算公司可以如何使用区块链,以及区块链平台何时必须注册为转账代理或告知数字资产发行人何时必须使用区块链转账代理人。该公司还试图了解SEC会何时可对现有的托管和客户保护规则进行改善,以允许用于跟踪证券交易的区块链。[2018/12/21]
欧链老狼:全球出块节点大致分为三个组,每个组都在预演如何启动EOS网络:EOS超级节点竞选团队欧链的老狼在《欧链·宁话区块链》第二季的节目中称 “全球出块节点大致分为三个组,每个组都在预演如何从无到有启动EOS网络。具体什么时候主网上线,需要大家一起协同来做。或许在某一个预定的时间点,大家觉得有些准备工作没有做好,希望把这个时间点再往后延一点,这种情况是有可能发生的。”[2018/6/2]
从公式上可以看到,当输出代币Y的兑换数量上限取决于Y代币的数量,而和X代币数量的大小无关,反过来说,如果要卖掉的X代币数量很大,但是Y代币的数量很小,那么就会造成大量的X代币只能兑换出少量的Y代币,而这个兑换价格相比正常的交易价格会偏离很多,这就是所谓的滑点,是本次攻击中的关键。
攻击流程
坦桑尼亚银行正在研究如何管理数字货币:随着坦桑尼亚人对数字货币投资的增加,坦桑尼亚银行(BoT)正在研究如何管理新现象。BoT国家支付系统官员Bernard Dadi称,数字货币概念目前仍是新的,全球各地的中央银行仍在研究应对这项技术的对策。数字货币可供任何人使用,这使得监管变得更加困难。[2018/3/8]
2020年11月30日,SushiSwap就曾因为SushiMaker的问题出现过一次攻击(详解参阅:以小博大,简析SushiSwap攻击事件始末),本次攻击和第一次攻击相似,但流程上有区别。相较于旧合约,在新的合约中,手续费在兑换的过程中会通过bridgeFor函数为不同交易对中的代币寻找特定的兑换路由,然后进行兑换。
其中,bridgeFor函数的逻辑如下:
根据bridgeFor的逻辑,我们不难发现,如果没有手动设置过特定币种的bridge,那么默认的bridge是WETH,也就是说,在未设置bridge的情况下,默认是将手续费兑换成WETH。而DIGG这个币,就是正好没有通过setBridge设置对应的bridge的。
但是这里还有一个问题,就是在swap的过程中,如果这个交易对不存在,兑换的过程是失败的。本次攻击中,DIGG-WETH这个交易对一开始并不存在,所以攻击者预先创建一个DIGG-WETH的交易对,然后添加少量的流动性。这个时候如果发生手续费兑换,根据前面说的恒定乘积的特性,由于DIGG-WETH的流动性很少,也就是DIGG-WETH中的WETH上限很小,而SushiMaker中的要转换的手续费数量相对较大,这样的兑换会导致巨大的滑点。兑换的过程会拉高DIGG-WETH交易对中WETH兑DIGG的价格,并且,DIGG-WETH的所有DIGG手续费收益都到了DIGG-WETH交易中。通过观察DIGG-WETH交易对的流动性情况,流动性最大的时候也才只有不到2800美元的流动性,这个结果也能和公式的推导相互验证。
攻击者在SushiMaker完成手续费转换后,由于?DIGG-WETH交易对中WETH兑DIGG的价格已经被拉高,导致少量的WETH即可兑换大量的DIGG,而这个DIGG的数量,正是DIGG-WBTC交易对的大部分手续费收入。
总结
本次攻击和SushiSwap第一次攻击类似,都是通过操控交易对的兑换价格来产生获利。但是过程是不一样的。第一次攻击是因为攻击者使用LP代币本身和其他代币创建了一个新的交易对,并通过操纵初始流动性操控了这个新的交易对的价格来进行获利,而这次的攻击则利用了DIGG本身没有对WETH交易对,而攻击者创建了这个交易对并操控了初始的交易价格,导致手续费兑换过程中产生了巨大的滑点,攻击者只需使用少量的DIGG和WETH提供初始流动性即可获取巨额利润。
相关参考链接如下:
SushiMaker归集手续费交易:
https://etherscan.io/tx/0x90fb0c9976361f537330a5617a404045ffb3fef5972cf67b531386014eeae7a9
攻击者套利交易:
https://etherscan.io/tx/0x0af5a6d2d8b49f68dcfd4599a0e767450e76e08a5aeba9b3d534a604d308e60b?
DIGG-WETH流动性详情:
https://www.sushiswap.fi/pair/0xf41e354eb138b328d56957b36b7f814826708724?
Sushi第一次被攻击详解:
https://mp.weixin.qq.com/s/-Vp9bPSqxE0yw2hk_yogFw?
跨链项目Cosmos开发人员公布关于影响“星际之门Stargate“兼容版本的拒绝服务漏洞详细信息.
2020年美国大选是美国历史上最受关注的选举过程之一。由于新冠疫情的影响,大量美国选民选择邮寄投票,这导致美国选举缺席投票创下了历史新高,即使如此,计票结果的时间也再三推迟.
IOTA基金会联合创始人DominikSchiener概述了IOTA2021年的路线图,并指出智能合约和代币化资产的关键作用.
GLJResearch分析师GordonJohnson称,维持对特斯拉“卖出”评级及目标价67美元.
据Cointelegraph报道,印度政府可能正在走一条立法捷径,以通过最近提出的一项监管该国数字货币的法案.
Brave浏览器用户人数已经超过2000万,并且已经开始支持本地IPFS协议,让人们可以更轻松简单的使用分布式网络,这一实现标志着更具弹性、用户至上的互联网发展的迈出重要一步.