如何通過恒定乘積黑掉SushiSwap?簡析SushiSwap第二次被攻擊始末
慢霧科技
剛剛
12
背景
2021年1月27日,據慢霧區情報,SushiSwap再次遭遇攻擊,此次問題為DIGG-WBTC交易對的手續費被攻擊者通過特殊的手段薅走。慢霧安全團隊在收到情報后立馬介入相關事件的分析工作,以下為攻擊相關細節。
SushiMaker是什么
SushiMaker是SushiSwap協議中的一個重要的組件,其用于收集SushiSwap每個交易對的手續費,并通過設置每個代幣的路由,將不同交易對的手續費最終轉換成sushi代幣,回饋給sushi代幣的持有者。這個過程就是發生在SushiMaker合約上。
說說恒定乘積
恒定乘積的公式很簡單,在不計算手續費的情況下,恒定乘積的公式為
李禮輝:如何進行必要的數字金融制度建設等問題值得關注:12月31日,由清華大學經濟管理學院數字金融資產研究中心主辦的“數字金融:創新、發展與監管”高端研討會中,中國銀行原行長李禮輝表示,如何能滿足適用于我國規模化可靠應用的需求、如何進行必要的數字金融制度的建設、負責數字人民幣技術架構的研發、維護、運行等方面工作的機構體制如何設立及如何探索我國主導的全球化數字貨幣的可行路徑是值得關注的重要問題。[2021/1/4 16:22:26]
也就是說每次兌換,其實都是遵循這個公式,及交易前后K值不變,在兌換的過程中,由于要保持K值不變,公式的形式會是這個樣子
直播 | 方魚 > 老牌交易所滿幣如何在合約市場異軍突起:金色財經 · 直播主辦的《 幣圈 “后浪” 仙女直播周》第5期本期3:00準時開始,本期“后浪”仙女 滿幣網 CMO 將在直播間聊聊“老牌交易所滿幣如何在合約市場異軍突起”,感興趣的朋友掃碼移步收聽![2020/6/18]
其中X代表賣掉的代幣,Y代表要購買的代幣,那么每次能兌換到的代幣數量會是這個樣子(具體的推導過程就不演示了:D)
從公式上可以看到,當輸出代幣Y的兌換數量上限取決于Y代幣的數量,而和X代幣數量的大小無關,反過來說,如果要賣掉的X代幣數量很大,但是Y代幣的數量很小,那么就會造成大量的X代幣只能兌換出少量的Y代幣,而這個兌換價格相比正常的交易價格會偏離很多,這就是所謂的滑點,是本次攻擊中的關鍵。
幣情觀察室 |幣圈一哥:牛市真的來了嗎?下一步如何布局翻倍幣?:5月23日19:17,金色獨家播主 幣圈一哥 做客金色財經《幣情觀察室》直播間,將分享《牛市真的來了嗎?下一步如何布局翻倍幣?》,敬請關注,掃描下圖二維碼即可觀看直播。[2020/5/23]
攻擊流程
2020年11月30日,SushiSwap就曾因為SushiMaker的問題出現過一次攻擊(詳解參閱:以小博大,簡析SushiSwap攻擊事件始末),本次攻擊和第一次攻擊相似,但流程上有區別。相較于舊合約,在新的合約中,手續費在兌換的過程中會通過bridgeFor函數為不同交易對中的代幣尋找特定的兌換路由,然后進行兌換。
其中,brdigeFor函數的邏輯如下:
大咖零距離 | BTC價格劇烈波動 如何保持長期盈利:4月1日16:00,金色盤面邀請撈針選手泰迪幫主做客金色財經《大咖零距離》直播間,將分享《BTC價格劇烈波動,如何保持長期盈利》,敬請關注,欲進群觀看直播掃描海報二維碼報名即可。[2020/4/1]
根據bridgeFor的邏輯,我們不難發現,如果沒有手動設置過特定幣種的bridge,那么默認的bridge是WETH,也就是說,在未設置bridge的情況下,默認是將手續費兌換成WETH。而DIGG這個幣,就是正好沒有通過setBridge設置對應的bridge的。
部胡光俊:正考慮如何將區塊鏈技術應用于領域:據經濟參考報消息,近日部第一研究所信息安全部副主任胡光俊接受采訪時表示,未來將把物理世界、跟人的關聯關系納入整個區塊鏈生態體系里面來。他透露,目前該部門正考慮如何將區塊鏈技術應用于領域。[2018/5/14]
但是這里還有一個問題,就是在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
By:?yudan@慢霧安全團隊
DeFi
SushiSwap
本文來源:
慢霧科技
文章作者:慢霧安全團隊
我要糾錯
聲明:本文由入駐金色財經的作者撰寫,觀點僅代表作者本人,絕不代表金色財經贊同其觀點或證實其描述。
提示:投資有風險,入市須謹慎。本資訊不作為投資理財建議。
金色財經>區塊鏈>如何通過恒定乘積黑掉SushiSwap?簡析SushiSwap第二次被攻擊始末
神奇的是,每到歲末年初,狗狗幣總要來這么一波逆襲。2021年1月28日,最近才轟動美股市場的GameStop事件主角—WallStreetBets論壇的意見領袖WSBChairman發推“喊單”.
1900/1/1 0:00:00上周是屬于散戶的一周。由于美國GME股票的大漲,讓投資者看到了散戶共識的力量。很快這股力量蔓延到了幣圈,以狗狗幣為代表的山寨幣開啟暴漲行情。而主流幣的熱度卻下降不少.
1900/1/1 0:00:00谷燕西:簡評雷伊·達里奧的比特幣研究 谷燕西 剛剛 12 雷伊·達里奧最近發表了一篇研究“我如何看待比特幣?”。他在這篇研究中表達了他對比特幣的分析和觀點.
1900/1/1 0:00:00加拿大投資管理公司NinepointPartners在多倫多證券交易所啟動了該公司比特幣信托基金份額的交易.
1900/1/1 0:00:00本文為?DeFianceCapital負責人ArthurCheong和ThreeArrowsCapital首席執行官SuZhu一場播客內容的摘要,兩人闡述了對DeFi項目發展的看法和觀點.
1900/1/1 0:00:00本周技術周刊包含比特幣、以太坊、波卡、COSMOS四個網絡的技術類新聞。 比特幣網絡 閃電網絡客戶端lnd發布v0.12.0-beta主要版本更新新增自動壓縮數據庫等功能1月28日消息,閃電網絡.
1900/1/1 0:00:00