背景
2021年1月27日,據慢霧區情報,SushiSwap再次遭遇攻擊,此次問題為DIGG-WBTC交易對的手續費被攻擊者通過特殊的手段薅走。慢霧安全團隊在收到情報后立馬介入相關事件的分析工作,以下為攻擊相關細節。
SushiMaker是什么
SushiMaker是SushiSwap協議中的一個重要的組件,其用于收集SushiSwap每個交易對的手續費,并通過設置每個代幣的路由,將不同交易對的手續費最終轉換成sushi代幣,回饋給sushi代幣的持有者。這個過程就是發生在SushiMaker合約上。
說說恒定乘積
恒定乘積的公式很簡單,在不計算手續費的情況下,恒定乘積的公式為
“如何看待比特幣大跳水?”登上知乎熱榜:金色財經報道,根據知乎首頁,提問“如何看待比特幣大跳水?”登上知乎熱榜,現排名第3位,熱度686萬。[2021/1/12 15:57:18]
也就是說每次兌換,其實都是遵循這個公式,及交易前后K值不變,在兌換的過程中,由于要保持K值不變,公式的形式會是這個樣子
其中X代表賣掉的代幣,Y代表要購買的代幣,那么每次能兌換到的代幣數量會是這個樣子(具體的推導過程就不演示了:D)
從公式上可以看到,當輸出代幣Y的兌換數量上限取決于Y代幣的數量,而和X代幣數量的大小無關,反過來說,如果要賣掉的X代幣數量很大,但是Y代幣的數量很小,那么就會造成大量的X代幣只能兌換出少量的Y代幣,而這個兌換價格相比正常的交易價格會偏離很多,這就是所謂的滑點,是本次攻擊中的關鍵。
央行行長易綱 :將繼續研究如何加強央行數字貨幣的風險管理:4月17日,財新舉辦主題為“金融科技與人民幣可自由使用”的研討會。中國人民銀行行長易綱在會上表示,央行數字貨幣項目已取得較大進展,當前階段在部分城市及部分場景進行內部封閉試點測試,同時表示“將繼續研究如何加強央行數字貨幣的風險管理,包括了解你的客戶(KYC)等。”
對于金融科技在此次疫情期間發揮的作用,易綱表示肯定,但也強調商業銀行依然是主力;科技公司積極參與有助于提升金融服務水平;人民幣國際化主要依靠市場驅動,平等競爭,中國會繼續推進金融開放和改革。[2020/5/4]
攻擊流程
2020年11月30日,SushiSwap就曾因為SushiMaker的問題出現過一次攻擊(詳解參閱:以小博大,簡析SushiSwap攻擊事件始末),本次攻擊和第一次攻擊相似,但流程上有區別。相較于舊合約,在新的合約中,手續費在兌換的過程中會通過bridgeFor函數為不同交易對中的代幣尋找特定的兌換路由,然后進行兌換。
歐鏈老狼:全球出塊節點大致分為三個組,每個組都在預演如何啟動EOS網絡:EOS超級節點競選團隊歐鏈的老狼在《歐鏈·寧話區塊鏈》第二季的節目中稱 “全球出塊節點大致分為三個組,每個組都在預演如何從無到有啟動EOS網絡。具體什么時候主網上線,需要大家一起協同來做。或許在某一個預定的時間點,大家覺得有些準備工作沒有做好,希望把這個時間點再往后延一點,這種情況是有可能發生的。”[2018/6/2]
其中,brdigeFor函數的邏輯如下:
根據bridgeFor的邏輯,我們不難發現,如果沒有手動設置過特定幣種的bridge,那么默認的bridge是WETH,也就是說,在未設置bridge的情況下,默認是將手續費兌換成WETH。而DIGG這個幣,就是正好沒有通過setBridge設置對應的bridge的。
國際貨幣基金組織主席:最終幸存下來的加密資產可能會對人們如何儲蓄產生重大影響:據bitcoinist消息,國際貨幣基金組織(IMF)主席拉加德(Christine Lagarde)在其新的博客文章中表示,最終幸存下來的加密資產可能會對我們如何儲蓄,投資和支付賬單產生重大影響。拉加德指出了加密貨幣能夠進行快速和廉價的跨境金融交易的好處,并稱比特幣的基礎技術——分布式賬本技術可能會改變金融市場的運作方式。此外,拉加德指出,智能合約的革命性,可以移除中間商,而區塊鏈技術能夠安全地存儲重要文件。最后,拉加德指出,在發展中的經濟體,這種進步可以幫助確保產權,增加市場信心并促進投資。[2018/4/18]
但是這里還有一個問題,就是在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:?慢霧安全團隊
尊敬的PKEx用戶: PKEx上線OKT具體時間如下:交易時間:1月28日15:00PKEx溫馨提示:數字資產是創新型投資品,價格波動較大,具有較高的投資風險.
1900/1/1 0:00:00親愛的用戶: DigiFinex現已恢復ETC充提幣服務。為了更好的保護用戶的資產安全,我們將重置所有用戶的ETC代幣充幣地址(重置后您的舊充幣地址將被刪除,持有的資產不會受任何影響),請所有用.
1900/1/1 0:00:00BTC/USDT日內技術分析關鍵阻力:32700/32800(超短),33100/33200(日內成立昨日區間震蕩的標志)33700/33800,34100.
1900/1/1 0:00:00平行鏈插槽的Crowdloan競拍模式,讓每個持有DOT的人都可以鎖定一段時間DOT來“投資”自己看好的波卡生態項目.
1900/1/1 0:00:00尊敬的XT用戶: XT即將上線OKS,詳情如下:充提時間:2021年1月27日16:16開放交易:2021年1月28日16:16Oikos是一家基于Tron的合成資產平臺.
1900/1/1 0:00:00日線圖中,比特幣K線已經接連兩日收陰,行情在昨日下探低點29231點位,讓幣圈市場陷入了一頓恐慌之中;今日多方量能雖在不斷的嘗試著發力,但是并未真正的脫離危險,行情基本上處于震蕩之中.
1900/1/1 0:00:00