背景
2021年1月27日,據慢霧區情報,SushiSwap再次遭遇攻擊,此次問題為DIGG-WBTC交易對的手續費被攻擊者通過特殊的手段薅走。慢霧安全團隊在收到情報后立馬介入相關事件的分析工作,以下為攻擊相關細節。
SushiMaker是什么
SushiMaker是SushiSwap協議中的一個重要的組件,其用于收集SushiSwap每個交易對的手續費,并通過設置每個代幣的路由,將不同交易對的手續費最終轉換成sushi代幣,回饋給sushi代幣的持有者。這個過程就是發生在SushiMaker合約上。
說說恒定乘積
恒定乘積的公式很簡單,在不計算手續費的情況下,恒定乘積的公式為
大咖零距離 | BTC價格劇烈波動 如何保持長期盈利:4月1日16:00,金色盤面邀請撈針選手泰迪幫主做客金色財經《大咖零距離》直播間,將分享《BTC價格劇烈波動,如何保持長期盈利》,敬請關注,欲進群觀看直播掃描海報二維碼報名即可。[2020/4/1]
也就是說每次兌換,其實都是遵循這個公式,及交易前后K值不變,在兌換的過程中,由于要保持K值不變,公式的形式會是這個樣子
其中X代表賣掉的代幣,Y代表要購買的代幣,那么每次能兌換到的代幣數量會是這個樣子(具體的推導過程就不演示了:D)
從公式上可以看到,當輸出代幣Y的兌換數量上限取決于Y代幣的數量,而和X代幣數量的大小無關,反過來說,如果要賣掉的X代幣數量很大,但是Y代幣的數量很小,那么就會造成大量的X代幣只能兌換出少量的Y代幣,而這個兌換價格相比正常的交易價格會偏離很多,這就是所謂的滑點,是本次攻擊中的關鍵。
聲音 | 日本金融廳長官:針對區塊鏈等分布式金融系統,如何確保公眾利益已成為新課題:據日經新聞消息,今日在日本福岡舉行的G20峰會上,日本金融廳長官遠藤俊英發表演講指出“監管規則可能抑制創新,監管規則也會跟不上技術變革”。此外,以區塊鏈技術為首的分布式金融系統在沒有金融機構充當中介的情況下,可能實現顧客和市場參與者之間的直接交易,因此金融機構的地位存在下降的可能性,在這種情況下,如何確保公眾利益已成為新的課題。[2019/6/8]
攻擊流程
2020年11月30日,SushiSwap就曾因為SushiMaker的問題出現過一次攻擊(詳解參閱:以小博大,簡析SushiSwap攻擊事件始末),本次攻擊和第一次攻擊相似,但流程上有區別。相較于舊合約,在新的合約中,手續費在兌換的過程中會通過bridgeFor函數為不同交易對中的代幣尋找特定的兌換路由,然后進行兌換。
聲音 | 迅雷鏈張慧勇:區塊鏈技術如何在實體經濟中應用是亟待解決的問題:5月15日,在世界智能大會2019全球區塊鏈科技創新峰會上,迅雷鏈開放平臺研發負責人張慧勇受邀出席了峰會并發表了“看迅雷鏈如何助力實體經濟”的演講。張慧勇表示,區塊鏈3.0時代亟待解決的問題是讓區塊鏈技術在實體經濟得以運用以發揮其價值。而只有符合實體企業應用需求的區塊鏈,才能真正落地。這就要求區塊鏈企業,從實體企業的現實需求出發,升級自己的技術架構,為實體經濟賦能構建有力基礎。迅雷鏈自2018年上線以來,始終在強化自身技術的同時踏實助力實體商業場景落地,已在版權、溯源、出行、營銷等多個領域有了規模級行業應用。[2019/5/16]
其中,brdigeFor函數的邏輯如下:
阿里巴巴集團首席人力官:區塊鏈能帶來無限可能 未來如何與產業結合還是未知 :在今日舉行的2018中國綠公司年會上,阿里巴巴集團首席人力官(CPO)童文紅表示,阿里巴巴與想做的百年企業來比還只是一個19歲的孩子,其實面臨著非常非常多的困難。區塊鏈、量子等技術創新帶來無限可能,未來怎樣跟產業結合,會帶來什么樣的變化,誰都無法預測,阿里也面臨著從平臺到生態的挑戰。[2018/4/23]
根據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
By:?慢霧安全團隊
Tags:DIGDIGGETHIGGTardigrades FinanceDOGEDIGGER幣ETHZILLAJIGG
原文作者:wissalhaji 譯文出自:登鏈翻譯計劃 譯者:翻譯小組 校對:Tiny熊 歡迎訂閱《Solidity智能合約專欄》系列文章。在上一篇中,我們看到了如何實現工廠模式.
1900/1/1 0:00:00多言不可與謀,多動不可與久處,交易與其沖動,還不如一動不動!大家好,我是席幕楓。心存陽光必有詩與遠方,認識老席何懼再遇荒涼?席幕楓:1.26以太坊行情分析以太坊,日線大陰結尾,完全如老席昨日所說.
1900/1/1 0:00:00美國癌癥協會啟動了一種加密貨幣基金,以支持癌癥研究。?這家非營利組織周二宣布已與加密貨幣捐贈平臺TheGivingBlock合作推出該基金,并設定了到2021年初籌集100萬美元的目標.
1900/1/1 0:00:00行情觀點:小時級別來看,昨日早間以太沖高觸壓1374一線回調,震蕩下挫,晚間探底1207一線反彈,隨后短線拉升,插針向上試探遇阻延續震蕩下行,二次觸底反彈向上試探遇壓延續下行,那么從走勢來看.
1900/1/1 0:00:00StaFi將于近日正式上線旨在解決ETH2.0Staking質押流動性產品rETH,現開啟OriginalValidator招募計劃.
1900/1/1 0:00:00鏈聞消息,據CryptoSlam數據顯示,按歷史總成交額計算,DapperLabs的NFT游戲NBATopShot的成交額超過CryptoKitties,達逾2948萬美元,排名第一.
1900/1/1 0:00:00