背景
2021年1月27日,據慢霧區情報,SushiSwap再次遭遇攻擊,此次問題為DIGG-WBTC交易對的手續費被攻擊者通過特殊的手段薅走。慢霧安全團隊在收到情報后立馬介入相關事件的分析工作,以下為攻擊相關細節。
SushiMaker是什么
SushiMaker是SushiSwap協議中的一個重要的組件,其用于收集SushiSwap每個交易對的手續費,并通過設置每個代幣的路由,將不同交易對的手續費最終轉換成sushi代幣,回饋給sushi代幣的持有者。這個過程就是發生在SushiMaker合約上。
說說恒定乘積
恒定乘積的公式很簡單,在不計算手續費的情況下,恒定乘積的公式為
Beosin:UVT項目被黑客攻擊事件簡析,被盜資金已全部轉入Tornado Cash:金色財經報道,據Beosin EagleEye 安全預警與監控平臺檢測顯示,UVT項目被黑客攻擊,涉及金額為150萬美元。攻擊交易為0x54121ed538f27ffee2dbb232f9d9be33e39fdaf34adf993e5e019c00f6afd499
經Beosin安全團隊分析,發現攻擊者首先利用開發者部署的另一個合約的具有Controller權限的0xc81daf6e方法,該方法會調用被攻擊合約的0x7e39d2f8方法,因為合約具有Controller權限,所以通過驗證直接轉走了被攻擊合約的所有UVT代幣,Beosin安全團隊通過Beosin Trace進行追蹤,發現被盜資金已全部轉入Tornado Cash。[2022/10/27 11:48:46]
也就是說每次兌換,其實都是遵循這個公式,及交易前后K值不變,在兌換的過程中,由于要保持K值不變,公式的形式會是這個樣子
安全團隊:Audius項目惡意提案攻擊簡析,攻擊者總共獲利約108W美元:7月24日消息,據成都鏈安“鏈必應-區塊鏈安全態勢感知平臺”安全輿情監控數據顯示,Audius項目遭受惡意提案攻擊。成都鏈安安全團隊簡析如下:攻擊者先部署惡意合約并在Audius: Community Treasury 合約中調用initialize將自己設置為治理合約的監護地址,隨后攻擊者調用ProposalSubmitted 提交惡意85號提案并被通過,該提案允許向攻擊合約轉賬1,856w個AudiusToken,隨后攻擊者將獲得的AudiusToken兌換為ETH,總共獲利約108W美元,目前獲利資金仍然存放于攻擊者地址上(0xa0c7BD318D69424603CBf91e9969870F21B8ab4c)。[2022/7/24 2:34:31]
其中X代表賣掉的代幣,Y代表要購買的代幣,那么每次能兌換到的代幣數量會是這個樣子(具體的推導過程就不演示了:D)
慢霧:Harmony Horizon bridge遭攻擊簡析:據慢霧安全團隊消息,Harmony Horizon bridge 遭到黑客攻擊。經慢霧 MistTrack 分析,攻擊者(0x0d0...D00)獲利超 1 億美元,包括 11 種 ERC20 代幣、13,100 ETH、5,000 BNB 以及 640,000 BUSD,在以太坊鏈攻擊者將大部分代幣轉移到兩個新錢包地址,并將代幣兌換為 ETH,接著將 ETH 均轉回初始地址(0x0d0...D00),目前地址(0x0d0...D00)約 85,837 ETH 暫無轉移,同時,攻擊者在 BNB 鏈暫無資金轉移操作。慢霧 MistTrack 將持續監控被盜資金的轉移。[2022/6/24 1:28:30]
從公式上可以看到,當輸出代幣Y的兌換數量上限取決于Y代幣的數量,而和X代幣數量的大小無關,反過來說,如果要賣掉的X代幣數量很大,但是Y代幣的數量很小,那么就會造成大量的X代幣只能兌換出少量的Y代幣,而這個兌換價格相比正常的交易價格會偏離很多,這就是所謂的滑點,是本次攻擊中的關鍵。
Force DAO 代幣增發漏洞簡析:據慢霧區消息,DeFi 量化對沖基金 Force DAO 項目的 FORCE 代幣被大量增發。經慢霧安全團隊分析發現: 在用戶進行 deposit 操縱時,Force DAO 會為用戶鑄造 xFORCE 代幣,并通過 FORCE 代幣合約的 transferFrom 函數將 FORCE 代幣轉入 ForceProfitSharing 合約中。但 FORCE 代幣合約的 transferFrom 函數使用了 if-else 邏輯來檢查用戶的授權額度,當用戶的授權額度不足時 transferFrom 函數返回 false,而 ForceProfitSharing 合約并未對其返回值進行檢查。導致了 deposit 的邏輯正常執行,xFORCE 代幣被順利鑄造給用戶,但由于 transferFrom 函數執行失敗 FORCE 代幣并未被真正充值進 ForceProfitSharing 合約中。最終造成 FORCE 代幣被非預期的大量鑄造的問題。 此漏洞發生的主要原因在于 FORCE 代幣的 transferFrom 函數使用了`假充值`寫法,但外部合約在對其進行調用時并未嚴格的判斷其返回值,最終導致這一慘劇的發生。慢霧安全團隊建議在對接此類寫法的代幣時使用 require 對其返回值進行檢查,以避免此問題的發生。[2021/4/4 19:45:30]
攻擊流程
2020年11月30日,SushiSwap就曾因為SushiMaker的問題出現過一次攻擊(詳解參閱:以小博大,簡析SushiSwap攻擊事件始末),本次攻擊和第一次攻擊相似,但流程上有區別。相較于舊合約,在新的合約中,手續費在兌換的過程中會通過bridgeFor函數為不同交易對中的代幣尋找特定的兌換路由,然后進行兌換。
其中,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
1月26日,央視網發布《習近平自述:“我”的互聯網思維》,文章稱《習近平關于網絡強國論述摘編》一書近日在全國發行,其中總書記的自述.
1900/1/1 0:00:00為什么不在少數的幣友認為本輪牛市已經結束了呢?最直觀的感覺就是,2020年的BTC走勢實在太像2017年了.
1900/1/1 0:00:00近日,瑞銀的首席經濟學家保羅·多諾文在一段視頻中表示,加密貨幣固有的“根本性缺陷”是,當它的需求下降時,供應通常不會隨之減少.
1900/1/1 0:00:00"晉煮唐煎宋點明清泡",中國茶,走過了上下5000年。然而"喝茶還是喝包裝"、"有名品卻無名牌"、“染色造假茶橫行”等諸多疑慮,卻讓"中國茶"難以壯大,也讓其在國際上發展緩慢.
1900/1/1 0:00:00親愛的BBKX用戶 BBKX平臺將于1月26日15時上線MDX-USDT幣對,并開放交易。Mdex是一個基于資金池理念的自動做市去中心化交易所,功能上類似于市面上的一些DEX,但在此基礎上,提出.
1900/1/1 0:00:00尊敬的LBank用戶: LBank現公示從01月25日17:00至01月26日17:00交易量排名前三的中獎名單,具體情況如下:*為保證活動公平,LBank嚴禁刷單、對敲等作弊行為.
1900/1/1 0:00:00