如何通過恒定乘積黑掉SushiSwap?簡析SushiSwap第二次被攻擊始末
慢霧科技
剛剛
12
背景
2021年1月27日,據慢霧區情報,SushiSwap再次遭遇攻擊,此次問題為DIGG-WBTC交易對的手續費被攻擊者通過特殊的手段薅走。慢霧安全團隊在收到情報后立馬介入相關事件的分析工作,以下為攻擊相關細節。
SushiMaker是什么
SushiMaker是SushiSwap協議中的一個重要的組件,其用于收集SushiSwap每個交易對的手續費,并通過設置每個代幣的路由,將不同交易對的手續費最終轉換成sushi代幣,回饋給sushi代幣的持有者。這個過程就是發生在SushiMaker合約上。
說說恒定乘積
恒定乘積的公式很簡單,在不計算手續費的情況下,恒定乘積的公式為
經濟日報:區塊鏈的價值和前途取決于如何運用:4月20日,經濟日報刊文“加密資產走熱帶來什么價值”。文章表示,加密資產市場正在見證投機與人性的瘋狂。從技術進步的維度看,部分加密資產由于運用了區塊鏈技術,的確為創作者乃至知識產權保護帶來益處。事實上,無論如何炒作,區塊鏈作為技術本身是中立的,其價值和前途取決于如何運用。目前,區塊鏈技術還存在性能不足、普及尚淺、未獲權威認可等問題。如果拋開加密資產市場的噱頭與炒作,更多看到以NFT等為代表的確權體系對知識產權保護、重塑數字娛樂等產業的作用,進一步完善區塊鏈建設,發揮出其更大的潛力,造福于人,可能會給這一輪熱情烙印上更深遠的意義。[2021/4/20 20:38:16]
也就是說每次兌換,其實都是遵循這個公式,及交易前后K值不變,在兌換的過程中,由于要保持K值不變,公式的形式會是這個樣子
動態 | 捷豹路虎DLT開發人員解釋如何通過報告路況獲得加密貨幣獎勵:英國最大汽車制造商捷豹路虎分布式賬本技術團隊的軟件開發人員Aaron Hetherington解釋了駕駛員如何通過報告道路問題而獲得加密貨幣獎勵。Hetherington稱,捷豹路虎的技術可以追蹤車輛何時何地撞到路上的坑洞,這樣就可以將維修細節發送給英國和愛爾蘭的地方議會。他補充道:“當然,發現這些不好的路況是有獎勵的。利用像IOTA這樣的加密貨幣,我們可以將獎勵直接發送給客戶。”通過讓汽車自動向導航提供商或地方當局報告道路狀況數據,比如交通擁堵或坑洼,司機將獲得加密貨幣積分,這些積分可用于自動支付通行費、停車費和充電費。2019年4月,捷豹路虎表示正在測試軟件,旨在允許其汽車司機獲得加密貨幣IOTA作為共享數據的獎勵。據悉,該公司正在開發“智能錢包”技術,以安裝在其汽車中。目前還未確定何時上市。(SiliconRepublic)[2020/2/6]
聲音 | BB:監管者不知道如何利用區塊鏈應對非傳統領域價值儲存的需求:Blcok.one的CEO BB發推文表示,監管者雖然知道區塊鏈,但他們不知道如何利用區塊鏈技術來應對主流市場對在非傳統領域價值儲存的快速增長需求,而這些非傳統領域更符合個人的信仰體系。[2019/4/21]
其中X代表賣掉的代幣,Y代表要購買的代幣,那么每次能兌換到的代幣數量會是這個樣子(具體的推導過程就不演示了:D)
從公式上可以看到,當輸出代幣Y的兌換數量上限取決于Y代幣的數量,而和X代幣數量的大小無關,反過來說,如果要賣掉的X代幣數量很大,但是Y代幣的數量很小,那么就會造成大量的X代幣只能兌換出少量的Y代幣,而這個兌換價格相比正常的交易價格會偏離很多,這就是所謂的滑點,是本次攻擊中的關鍵。
聲音 | Brendan 發推特表達如何實現成功:據 IMEOS 報道,Block.one CEO Brendan Blumer 發推特表示,成功通常是有具備充分理由讓社區聽從你,并實際提供他們(社區)想要的東西來實現。[2018/10/1]
攻擊流程
2020年11月30日,SushiSwap就曾因為SushiMaker的問題出現過一次攻擊(詳解參閱:以小博大,簡析SushiSwap攻擊事件始末),本次攻擊和第一次攻擊相似,但流程上有區別。相較于舊合約,在新的合約中,手續費在兌換的過程中會通過bridgeFor函數為不同交易對中的代幣尋找特定的兌換路由,然后進行兌換。
其中,brdigeFor函數的邏輯如下:
在惡性通脹的委內瑞拉,比特幣如何成了\"硬通貨\":3月26日消息,據國外媒體報道,在世界各地,比特幣主要是一種投機性投資,其飆升的價格往往被人們視為數字貨幣泡沫。而在委內瑞拉,由于國家的通貨膨脹率畸高,持有數子貨幣成為了當地民眾的生存手段。[2018/3/26]
根據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:?yudan@慢霧安全團隊
DeFi
SushiSwap
本文來源:
慢霧科技
文章作者:慢霧安全團隊
我要糾錯
聲明:本文由入駐金色財經的作者撰寫,觀點僅代表作者本人,絕不代表金色財經贊同其觀點或證實其描述。
提示:投資有風險,入市須謹慎。本資訊不作為投資理財建議。
金色財經>區塊鏈>如何通過恒定乘積黑掉SushiSwap?簡析SushiSwap第二次被攻擊始末
狂人本著負責,專注,誠懇的態度用心寫每一篇分析文章,特點鮮明,不做作,不浮夸!本內容中的信息及數據來源于公開可獲得資料,力求準確可靠,但對信息的準確性及完整性不做任何保證,本內容不構成投資建議.
1900/1/1 0:00:00美國散戶四處起義跨市場圍剿金融大鱷比推BitpushNews 剛剛 20 散戶又重新登上歷史舞臺,跟專業投資機構正面火拼,從期權市場,到股票市場,再到商品市場,狼煙四起.
1900/1/1 0:00:00本文來源:blogmaverick.com譯者注:本文譯自NBA達拉斯獨行俠隊老板、億萬富翁馬克·庫班于2月1日撰寫的博客文章,庫班是加密愛好者,1月底他在NFT交易平臺上售賣專屬加密藝術品.
1900/1/1 0:00:001月29日14:00,金色財經舉行新一期「金色百家談」,對話FindoraCMOLemonLin、Findora首席產品官Henry,一起探討了Findora在隱私和可審計上發展!直播過程中.
1900/1/1 0:00:00世界首富動動手指比特幣一小時暴漲18%爆倉98億元 中國證券報·中證網 剛剛 8“鋼鐵俠”的神來一筆,又讓比特幣上演瘋狂行情.
1900/1/1 0:00:00原文作者:OlgaKharif和EdwardRobinson 碳鏈價值APP團隊編譯 比特幣很瘋狂,真的.
1900/1/1 0:00:00