作者:yudan@慢雾安全团队
背景
2021年1月27日,据慢雾区情报,SushiSwap再次遭遇攻击,此次问题为DIGG-WBTC交易对的手续费被攻击者通过特殊的手段薅走。慢雾安全团队在收到情报后立马介入相关事件的分析工作,以下为攻击相关细节。
SushiMaker是什么
SushiMaker是SushiSwap协议中的一个重要的组件,其用于收集SushiSwap每个交易对的手续费,并通过设置每个代币的路由,将不同交易对的手续费最终转换成sushi代币,回馈给sushi代币的持有者。这个过程就是发生在SushiMaker合约上。
说说恒定乘积
恒定乘积的公式很简单,在不计算手续费的情况下,恒定乘积的公式为
迪士尼CEO:过去一年一直在探索如何利用Web3技术:9月14日消息,在迪士尼两年一度的 D23 Expo 大会上,该公司首席执行官鲍勃·查佩克称迪士尼正在继续探索和制定虚拟世界计划,而且在过去一年时间里一直在悄悄探索如何利用 Web3 技术。鲍勃·查佩克表示,迪士尼希望使用来自物理世界和数字世界的数据来推动其元宇宙战略,来自主题公园访问数据和消费者流媒体习惯数据将使迪士尼元宇宙战略中最关注的两大领域。(nftevening)[2022/9/14 13:30:06]
也就是说每次兑换,其实都是遵循这个公式,及交易前后K值不变,在兑换的过程中,由于要保持K值不变,公式的形式会是这个样子
数据:谷歌搜索“如何购买NFT”兴趣值达到100 全球对NFT兴趣在八月飙升426%:金色财经报道,根据区块链中心对谷歌趋势数据的分析显示,2021年8月,全球对非同质化代币(NFT)的兴趣增加了426%。2021年8月1日,谷歌搜索关键字“如何购买NFT”的次数为19,但到2021年8月29日,该数字已经上升到100。谷歌的搜索兴趣以点数来衡量,100分最高,0分最低。由于谷歌搜索“如何购买NFT”兴趣值已达到100,这表明创下了2021年迄今为止的最大搜索量。另外根据国家区块链,对数字艺术作品兴趣最高的是新加坡,谷歌搜索值为100,澳大利亚以86分位居第二,尼日利亚紧随其后(70分)。(finbold)[2021/9/8 23:10:29]
其中X代表卖掉的代币,Y代表要购买的代币,那么每次能兑换到的代币数量会是这个样子(具体的推导过程就不演示了:D)
直播|Higer :DeFi与ETH2.0如何引领下一个区块链时代?:金色财经 · 直播主办的金点Trend《2020 DeFi Dai飞吗?》马上开始!DeFi生态里,我们还应该狙击哪些项目?成长空间是多少?应该关注哪些风险?16:00准时开播!本场嘉宾来自区块链研习社的创始人Higer分享“DeFi与ETH2.0如何引领下一个区块链时代”,请扫码移步收听。[2020/7/31]
从公式上可以看到,当输出代币Y的兑换数量上限取决于Y代币的数量,而和X代币数量的大小无关,反过来说,如果要卖掉的X代币数量很大,但是Y代币的数量很小,那么就会造成大量的X代币只能兑换出少量的Y代币,而这个兑换价格相比正常的交易价格会偏离很多,这就是所谓的滑点,是本次攻击中的关键。
攻击流程
2020年11月30日,SushiSwap就曾因为SushiMaker的问题出现过一次攻击(详解参阅:以小博大,简析SushiSwap攻击事件始末),本次攻击和第一次攻击相似,但流程上有区别。相较于旧合约,在新的合约中,手续费在兑换的过程中会通过bridgeFor函数为不同交易对中的代币寻找特定的兑换路由,然后进行兑换。
币情观察室 | 我是如何在18年4月带群友赚到上千万:4月15日19:00,行情大V 贝吉塔做客《币情观察室》直播间,将分享《我是如何在18年4月带群友赚到上千万》敬请关注,欲观看直播扫描下图二维码即可![2020/4/15]
其中,bridgeFor函数的逻辑如下:
根据bridgeFor的逻辑,我们不难发现,如果没有手动设置过特定币种的bridge,那么默认的bridge是WETH,也就是说,在未设置bridge的情况下,默认是将手续费兑换成WETH。而DIGG这个币,就是正好没有通过setBridge设置对应的bridge的。
大咖零距离 | BTC价格剧烈波动 如何保持长期盈利:4月1日16:00,金色盘面邀请捞针选手泰迪帮主做客金色财经《大咖零距离》直播间,将分享《BTC价格剧烈波动,如何保持长期盈利》,敬请关注,欲进群观看直播扫描海报二维码报名即可。[2020/4/1]
但是这里还有一个问题,就是在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?
移动支付公司Square周二在2020年第四季度财报会议中宣布,以1.7亿美元购买了3318枚比特币。该公司资产负债表上的比特币总价值已达到3.94亿美元.
1900/1/1 0:00:00本文来源:财联社作者:吴斌美东时间周二,美国参议院对拜登提名的证券交易委员会主席和消费者金融保护局局长候选人举行听证会,相关言论暗示未来四年华尔街或将迎来强监管.
1900/1/1 0:00:00要点: Ruffer从其比特币投资中获得了超过7.5亿美元的利润,如今已将6.5亿美元套现。自11月以来,其持有的加密货币的价值增加了一倍以上。该公司仍有约7亿美元的比特币资金分配.
1900/1/1 0:00:00来源:中新经纬,作者:盘和林(中南财经政法大学数字经济研究院执行院长、教授)近期,比特币经历了过山车式行情,在突破58000美元大关后,又连续下挫,目前维持在50000美元水平。对于比特币,投资大佬们持不同意见.
1900/1/1 0:00:00本文来自CryptoNewsFlash,原文作者:JAKESIMMONSOdaily星球日报译者|念银思唐 摘要: -根据律师JeremyHogan的说法,Ripple正在向美国证券交易委员会发起攻势.
1900/1/1 0:00:00?随着春节的脚步越来越临近,节日的气氛也越来越浓。而在我国的数字货币领域,不用等到春节,2021年一开年,就洋溢着蓬勃向上的热闹氛围。不论是政策层、交易层还是技术层,数字货币行业可谓多点开花,形势一片大好.
1900/1/1 0:00:00