作者:yudan@慢霧安全團隊
背景
2021年1月27日,據慢霧區情報,SushiSwap再次遭遇攻擊,此次問題為DIGG-WBTC交易對的手續費被攻擊者通過特殊的手段薅走。慢霧安全團隊在收到情報后立馬介入相關事件的分析工作,以下為攻擊相關細節。
SushiMaker是什么
SushiMaker是SushiSwap協議中的一個重要的組件,其用于收集SushiSwap每個交易對的手續費,并通過設置每個代幣的路由,將不同交易對的手續費最終轉換成sushi代幣,回饋給sushi代幣的持有者。這個過程就是發生在SushiMaker合約上。
說說恒定乘積
恒定乘積的公式很簡單,在不計算手續費的情況下,恒定乘積的公式為
美國國會研究人員:立法者需考慮數字貨幣立法將如何影響美元:金色財經報道,美國國會研究服務局在其題為“美元作為世界主要儲備貨幣”的報告中稱,不斷增長的加密貨幣空間的影響并沒有引起任何與美元地位有關的重大擔憂。報告承認,盡管“加密貨幣仍然是一個小而動蕩的利基市場”,但中央銀行數字貨幣(CBDC)正在興起。報告指出,迄今為止,尚無證據表明美元已脫離主要儲備貨幣。但是,國會不妨考慮一下包括制裁和數字貨幣在內的一系列政策領域的立法將如何影響美元。[2020/12/22 16:03:19]
也就是說每次兌換,其實都是遵循這個公式,及交易前后K值不變,在兌換的過程中,由于要保持K值不變,公式的形式會是這個樣子
Roger Ver將與國家元首探討如何使比特幣現金成為主權國家的官方貨幣:5月31日消息,Roger Ver聲稱,將與國家元首見面討論如何使比特幣現金成為主權國家的官方貨幣。 有分析師發布了來自Discord頻道的帖子屏幕截圖,該帖子的用戶名作者為“ rogerver”。隨后比特幣現金聯盟的subreddit / r / BTC的成員聲稱已確認該作者即是Roger Ver,即“比特幣耶穌”(Beincrypto)[2020/5/31]
其中X代表賣掉的代幣,Y代表要購買的代幣,那么每次能兌換到的代幣數量會是這個樣子(具體的推導過程就不演示了:D)
英格蘭銀行正在探討如何將CBDC引入現有市場:英格蘭銀行(BoE)正在權衡發行以英鎊為單位的央行數字貨幣(CBDC)的利弊。他們剛發布了一份長達57頁的報告,探討了如何將CBDC引入現有市場,既充當價值存儲又用于日常交易。據悉,英國中央銀行逐漸意識到,數字英鎊可能會破壞當前的銀行體系。但是,數字貨幣可以利用最新的金融科技,使消費者更輕松快捷地進行交易。(Cointelegraph)[2020/3/13]
從公式上可以看到,當輸出代幣Y的兌換數量上限取決于Y代幣的數量,而和X代幣數量的大小無關,反過來說,如果要賣掉的X代幣數量很大,但是Y代幣的數量很小,那么就會造成大量的X代幣只能兌換出少量的Y代幣,而這個兌換價格相比正常的交易價格會偏離很多,這就是所謂的滑點,是本次攻擊中的關鍵。
動態 | 馬耳他研討會探討如何改進涉及區塊鏈的反洗錢法:據Times of Malta消息,馬耳他區塊鏈協會主席Patrick Young和管理者Max Ganado發文稱,近日在由馬耳他區塊鏈協會和馬耳他財政部共同組織的Blockfinance研討會中,包括馬耳他金融服務管理局(MFSA)、馬耳他金融情報分析部門(FIAU)和在內的利益相關者參與了活動。發言者初步進行了差距分析,使行業參與者可以就涉及區塊鏈的反洗錢法(AML)的進一步發展提出具體建議。 文章指出,這個新興產業需要表現出高標準的誠信以及合規性。此外,區塊鏈行業參與者需要為AML-CFT戰略做出貢獻。[2019/4/7]
攻擊流程
2020年11月30日,SushiSwap就曾因為SushiMaker的問題出現過一次攻擊(詳解參閱:以小博大,簡析SushiSwap攻擊事件始末),本次攻擊和第一次攻擊相似,但流程上有區別。相較于舊合約,在新的合約中,手續費在兌換的過程中會通過bridgeFor函數為不同交易對中的代幣尋找特定的兌換路由,然后進行兌換。
聲音 | 加拿大央行副行長:加拿大央行正在考慮如何應對加密資產的風險:據溫哥華太陽報報道,加拿大銀行副行長Timothy Lane在卡爾加里大學Haskayne商學院講話時表示:加拿大央行正在考慮如何應對加密資產的風險。[2018/10/2]
其中,bridgeFor函數的邏輯如下:
根據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?
來源:證券時報電子報 春節期間,比特幣價格一騎絕塵。2月16日,一舉突破5萬美元大關并站上5.2萬美元.
1900/1/1 0:00:002月26日,魚池發布題為《站在歷史的正確一邊:EIP-1559》的文章,表示正式支持EIP-1559提案。文章提到,社區和核心開發人員都支持不斷發展的以太坊,包括EIP-1559.
1900/1/1 0:00:00陷入困境的殺軟件企業家約翰·邁卡菲聲稱,狗狗幣(DOGE)是美國司法部對他提出的新指控的一部分.
1900/1/1 0:00:002月18日,開發人員、以太坊應用網絡項目LUKSO創始人FabianVogelsteller發推稱,在經歷1.5年的律師、監管機構、編碼、破解數學和幾乎放棄之后,重啟可逆ICO.
1900/1/1 0:00:00我反復強調投資中最重要的不是專業知識的掌握,而是心理耐受力的鍛煉、獨立冷靜地思考和對自己投資策略的堅持。這個道理實際上很多投資大師早就說過,并且也反復強調過.
1900/1/1 0:00:00在北京冬奧會開幕倒計時一周年之際,為實施科技冬奧行動計劃,加強冬奧支付服務環境建設,北京市圍繞冬奧消費全場景,啟動“數字王府井冰雪購物節”數字人民幣試點活動.
1900/1/1 0:00:00