作者:yudan@慢霧安全團隊
背景
2021年1月27日,據慢霧區情報,SushiSwap再次遭遇攻擊,此次問題為DIGG-WBTC交易對的手續費被攻擊者通過特殊的手段薅走。慢霧安全團隊在收到情報后立馬介入相關事件的分析工作,以下為攻擊相關細節。
SushiMaker是什么
SushiMaker是SushiSwap協議中的一個重要的組件,其用于收集SushiSwap每個交易對的手續費,并通過設置每個代幣的路由,將不同交易對的手續費最終轉換成sushi代幣,回饋給sushi代幣的持有者。這個過程就是發生在SushiMaker合約上。
說說恒定乘積
恒定乘積的公式很簡單,在不計算手續費的情況下,恒定乘積的公式為
JAN3首席執行官受邀與墨西哥參議員就墨西哥如何采用加密貨幣進行討論:5月1日消息,據Bitcoin Magazine發推表示,JAN3首席執行官、比特幣中國前首席運營官Samson Mow于4月29日與墨西哥參議員兼財政委員會主席討論了關于墨西哥如何采用加密貨幣墨西哥如何采用加密貨幣的問題。
據悉,墨西哥是拉丁美洲最大的經濟體之一,如果成功采用加密貨幣,將為整個地區帶來深遠的影響,對于加密貨幣市場來說是一個重要的里程碑。[2023/5/1 14:36:45]
也就是說每次兌換,其實都是遵循這個公式,及交易前后K值不變,在兌換的過程中,由于要保持K值不變,公式的形式會是這個樣子
幣情觀察室 | 我是如何在18年4月帶群友賺到上千萬:4月15日19:00,行情大V 貝吉塔做客《幣情觀察室》直播間,將分享《我是如何在18年4月帶群友賺到上千萬》敬請關注,欲觀看直播掃描下圖二維碼即可![2020/4/15]
其中X代表賣掉的代幣,Y代表要購買的代幣,那么每次能兌換到的代幣數量會是這個樣子(具體的推導過程就不演示了:D)
從公式上可以看到,當輸出代幣Y的兌換數量上限取決于Y代幣的數量,而和X代幣數量的大小無關,反過來說,如果要賣掉的X代幣數量很大,但是Y代幣的數量很小,那么就會造成大量的X代幣只能兌換出少量的Y代幣,而這個兌換價格相比正常的交易價格會偏離很多,這就是所謂的滑點,是本次攻擊中的關鍵。
幣情觀察室 | 如何從小白蛻變成合格的交易者:4月2日11:00,金色盤面邀請行情大V李明成做客金色財經《幣情觀察室》直播間,將分享《如何從小白蛻變成合格的交易者》,敬請關注,掃描下圖二維碼即可觀看。[2020/4/2]
攻擊流程
2020年11月30日,SushiSwap就曾因為SushiMaker的問題出現過一次攻擊(詳解參閱:以小博大,簡析SushiSwap攻擊事件始末),本次攻擊和第一次攻擊相似,但流程上有區別。相較于舊合約,在新的合約中,手續費在兌換的過程中會通過bridgeFor函數為不同交易對中的代幣尋找特定的兌換路由,然后進行兌換。
金色財經獨家分析 比特幣期貨市場空倉降低 對現貨價格的影響如何?:報道稱大型投機客在芝加哥期權交易所的比特幣期貨凈空倉降至1370張合約,為該產品12月上線以來最低的凈空水平,顯示市場情緒好轉。 金色財經獨家解讀,與其他期貨一樣,比特幣期貨同樣具有價值發現和套期保值(礦工的最愛)的作用,期貨價格與現貨價格走勢相似,臨近合約日期貨與現貨價格趨同,期貨價格帶動現貨價格的走勢,讓套利空間逐漸收窄。
期貨等金融衍生品爭相上線,一方面使得數字貨幣的定價權爭奪趨于激烈,另一方面也吸引更多的專業傳統金融投資者加入,兩者共同促進幣價趨于理性。隨著更多保值需求者和更多投機套利者的加入,流動性將增強,對現貨市場的引領能力會更強,也反映出人們更愿意在監管下開展交易。需要說明的是,由于比特幣本身價格的波動劇烈,期貨交易又加杠桿,所以一定警惕爆倉風險。[2018/3/26]
其中,bridgeFor函數的邏輯如下:
區塊鏈試驗引發暴風股價暴漲后 暴風首次回應如何避免炒幣風險:據了解,播酷云負責人,暴風新影CEO崔天龍針對投機客可能存在的BFC炒作現象做出解釋。崔天龍說道,“這種炒作我們肯定是很不愿意見到的。但是萬一一旦發生了,我們還是有很多的手段來控制它。”他例舉稱,“比如說很簡單的做法,我只需要在我的官網上,把BFC積分和我的產品的兌換進行價格綁定,基本上就對它的價值進行了錨定,會很大程度上限制BFC的炒作。”[2017/12/13]
根據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?
據官方消息,穩定資產RAI總鎖倉量達1億美元,其流動性池RAI/ETH已成為Uniswapv2上第10大資產池。RAI開發團隊ReflexerLabs宣布將為流動性提供者發放回溯獎勵.
1900/1/1 0:00:00拜登政府的1.9萬億經濟刺激計劃取得了關鍵性進展。當地時間3月6日,美國國會參議院表決以50票贊成、49票反對的結果通過該項計劃.
1900/1/1 0:00:002月26日14:00,以太坊貓牧人將組織召開社區電話會議,討論EIP-1559的實施。會議的主要參與者包括:來自以太坊社區的EIP擁護者研究人員,開發人員和礦工.
1900/1/1 0:00:00巴比特學院第21期公開課于1月27日20:00-21:00正式開講。本期的嘉賓是AI和區塊鏈藝術家宋婷,分享的主題是《國際加密藝術動態和NFT未來發展》.
1900/1/1 0:00:00據Trustnodes2月5日消息,資產管理巨頭StoneRidge創始人兼首席執行官、紐約數字投資集團首席執行官RossStevens表示,在線支付公司Stripe顯然正在計劃重返比特幣領域.
1900/1/1 0:00:00根據PolkaWorld最新發布的波卡周報,本周重要事件包括:1.PolkaBTC的公測測試網上線,同時獲得了1300個DOT的國庫資助.
1900/1/1 0:00:00