買比特幣 買比特幣
Ctrl+D 買比特幣
ads

IGG:簡析 SushiSwap 第二次被攻擊始末_WET

Author:

Time:1900/1/1 0:00:00

背景

2021年1月27日,據慢霧區情報,SushiSwap再次遭遇攻擊,此次問題為DIGG-WBTC交易對的手續費被攻擊者通過特殊的手段薅走。慢霧安全團隊在收到情報后立馬介入相關事件的分析工作,以下為攻擊相關細節。

SushiMaker是什么

SushiMaker是SushiSwap協議中的一個重要的組件,其用于收集SushiSwap每個交易對的手續費,并通過設置每個代幣的路由,將不同交易對的手續費最終轉換成sushi代幣,回饋給sushi代幣的持有者。這個過程就是發生在SushiMaker合約上。

說說恒定乘積

恒定乘積的公式很簡單,在不計算手續費的情況下,恒定乘積的公式為

慢霧:Inverse Finance遭遇閃電貸攻擊簡析:據慢霧安全團隊鏈上情報,Inverse Finance遭遇閃電貸攻擊,損失53.2445WBTC和99,976.29USDT。慢霧安全團隊以簡訊的形式將攻擊原理分享如下:

1.攻擊者先從AAVE閃電貸借出27,000WBTC,然后存225WBTC到CurveUSDT-WETH-WBTC的池子獲得5,375.5個crv3crypto和4,906.7yvCurve-3Crypto,隨后攻擊者把獲得的2個憑證存入Inverse Finance獲得245,337.73個存款憑證anYvCrv3Crypto。

2.接下來攻擊者在CurveUSDT-WETH-WBTC的池子進行了一次swap,用26,775個WBTC兌換出了75,403,376.18USDT,由于anYvCrv3Crypto的存款憑證使用的價格計算合約除了采用Chainlink的喂價之外還會根據CurveUSDT-WETH-WBTC的池子的WBTC,WETH,USDT的實時余額變化進行計算所以在攻擊者進行swap之后anYvCrv3Crypto的價格被拉高從而導致攻擊者可以從合約中借出超額的10,133,949.1個DOLA。

3.借貸完DOLA之后攻擊者在把第二步獲取的75,403,376.18USDT再次swap成26,626.4個WBTC,攻擊者在把10,133,949.1DOLAswap成9,881,355個3crv,之后攻擊者通過移除3crv的流動性獲得10,099,976.2個USDT。

4.最后攻擊者把去除流動性的10,000,000個USDTswap成451.0個WBT,歸還閃電貸獲利離場。

針對該事件,慢霧給出以下防范建議:本次攻擊的原因主要在于使用了不安全的預言機來計算LP價格,慢霧安全團隊建議可以參考Alpha Finance關于獲取公平LP價格的方法。[2022/6/16 4:32:58]

也就是說每次兌換,其實都是遵循這個公式,及交易前后K值不變,在兌換的過程中,由于要保持K值不變,公式的形式會是這個樣子

安全公司:Starstream Finance被黑簡析:4月8日消息,據Agora DeFi消息,受 Starstream 的 distributor treasury 合約漏洞影響,Agora DeFi 中的價值約 820 萬美金的資產被借出。慢霧安全團隊進行分析后以簡訊的形式分享給大家。

1. 在 Starstream 的 StarstreamTreasury 合約中存在 withdrawTokens 函數,此函數只能由 owner 調用以取出合約中儲備的資金。而在 April-07-2022 11:58:24 PM +8UTC 時,StarstreamTreasury 合約的 owner 被轉移至新的 DistributorTreasury 合約(0x6f...25)。

2. 新的 DistributorTreasury 合約中存在 execute 函數,而任意用戶都可以通過此函數進行外部調用,因此攻擊者直接通過此函數調用 StarstreamTreasury 合約中的 withdrawTokens 函數取出合約中儲備的 532,571,155.859 個 STARS。

3. 攻擊者將 STARS 抵押至 Agora DeFi 中,并借出大量資金。一部分借出的資金被用于拉高市場上 STARS 的價格以便借出更多資金。[2022/4/8 14:12:38]

其中X代表賣掉的代幣,Y代表要購買的代幣,那么每次能兌換到的代幣數量會是這個樣子(具體的推導過程就不演示了:D)

慢霧簡析Qubit被盜原因:對白名單代幣進行轉賬操作時未對其是否是0地址再次進行檢查:據慢霧區情報,2022 年 01 月 28 日,Qubit 項目的 QBridge 遭受攻擊損失約 8000 萬美金。慢霧安全團隊進行分析后表示,本次攻擊的主要原因在于在充值普通代幣與 native 代幣分開實現的情況下,在對白名單內的代幣進行轉賬操作時未對其是否是 0 地址再次進行檢查,導致本該通過 native 充值函數進行充值的操作卻能順利走通普通代幣充值邏輯。慢霧安全團隊建議在對充值代幣進行白名單檢查后仍需對充值的是否為 native 代幣進行檢查。[2022/1/28 9:19:19]

從公式上可以看到,當輸出代幣Y的兌換數量上限取決于Y代幣的數量,而和X代幣數量的大小無關,反過來說,如果要賣掉的X代幣數量很大,但是Y代幣的數量很小,那么就會造成大量的X代幣只能兌換出少量的Y代幣,而這個兌換價格相比正常的交易價格會偏離很多,這就是所謂的滑點,是本次攻擊中的關鍵。

慢霧:Avalanche鏈上Zabu Finance被黑簡析:據慢霧區情報,9月12日,Avalanche上Zabu Finance項目遭受閃電貸攻擊,慢霧安全團隊進行分析后以簡訊的形式分享給大家參考:

1.攻擊者首先創建兩個攻擊合約,隨后通過攻擊合約1在Pangolin將WAVAX兌換成SPORE代幣,并將獲得的SPORE代幣抵押至ZABUFarm合約中,為后續獲取ZABU代幣獎勵做準備。

2.攻擊者通過攻擊合約2從Pangolin閃電貸借出SPORE代幣,隨后開始不斷的使用SPORE代幣在ZABUFarm合約中進行`抵押/提現`操作。由于SPORE代幣在轉賬過程中需要收取一定的手續費(SPORE合約收取),而ZABUFarm合約實際接收到的SPORE代幣數量是小于攻擊者傳入的抵押數量的。分析中我們注意到ZABUFarm合約在用戶抵押時會直接記錄用戶傳入的抵押數量,而不是記錄合約實際收到的代幣數量,但ZABUFarm合約在用戶提現時允許用戶全部提取用戶抵押時合約記錄的抵押數量。這就導致了攻擊者在抵押時ZABUFarm合約實際接收到的SPORE代幣數量小于攻擊者在提現時ZABUFarm合約轉出給攻擊者的代幣數量。

3.攻擊者正是利用了ZABUFarm合約與SPORE代幣兼容性問題導致的記賬缺陷,從而不斷通過`抵押/提現`操作將ZABUFarm合約中的SPORE資金消耗至一個極低的數值。而ZABUFarm合約的抵押獎勵正是通過累積的區塊獎勵除合約中抵押的SPORE代幣總量參與計算的,因此當ZABUFarm合約中的SPORE代幣總量降低到一個極低的數值時無疑會計算出一個極大的獎勵數值。

4.攻擊者通過先前已在ZABUFarm中有進行抵押的攻擊合約1獲取了大量的ZABU代幣獎勵,隨后便對ZABU代幣進行了拋售。

此次攻擊是由于ZabuFinance的抵押模型與SPORE代幣不兼容導致的,此類問題導致的攻擊已經發生的多起,慢霧安全團隊建議:項目抵押模型在對接通縮型代幣時應記錄用戶在轉賬前后合約實際的代幣變化,而不是依賴于用戶傳入的抵押代幣數量。[2021/9/12 23:19:21]

攻擊流程

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

Tags:ETHWETWETHIGGeth大學申請條件WeTrustweth幣等于多少人民幣Mr. Bigglesworth

pepe最新價格
GME:一群“烏合之眾” 如何用期權拉爆百億基金_nft幣未來價格會不會到一美

在倫敦交易員眼中,主作是一位既能玩期權和數字貨幣、又能玩美食健身Vlogger的鮮肉男神上周國內娛樂界的瓜讓網民吃的有點難消化。剛緩過神來,這幾天中英文媒體給大家帶來一件金融界的大瓜.

1900/1/1 0:00:00
SCALE:SEC回應WallStreetBets風波反被網友駁斥 后者又遭Discord封禁_Acala Network

PANews1月28日消息,美國SEC疑似對此前散戶投資者聯合阻擊做空機構事件作出回應:“我們意識到并積極監測期權和股票市場的持續波動,并且與我們保護投資者.

1900/1/1 0:00:00
GATE:GateChain-EVM測試鏈Meteora上線公告_Gate.io

尊敬的各位GateChain用戶:今年元旦,我們發布了GateChain2021年發展規劃,得到了廣大用戶的關心和支持。其中即將上線的GateChain-EVM功能,引起了廣泛的關注.

1900/1/1 0:00:00
Gate.io:Gate.io交割合約,全場0手續費_Negative Tax

為帶來更好的流動性體驗以及更好的服務用戶,Gate.io現推出交割合約半年0手續費方案,無門檻限制,歡迎交易.

1900/1/1 0:00:00
HEC:火幣生態鏈首期“造物主計劃”獲獎名單公布 五大項目榮膺“金牌造物主”_NFT

1月27日,火幣生態鏈Heco公布首期“造物主計劃”獲獎名單,BasisGold、FilDA、Channels、EarnDefi和Beeswap榮獲“金牌造物主”稱號.

1900/1/1 0:00:00
比特幣:金色觀察|北上廣兩會正舉行 數字人民幣成最大看點_ETF

自2020年10月以來,數字人民幣最先在深圳、蘇州等地進行了試點,隨后在上海、北京、廣東等地陸續拓展開來。此外,央行也把“穩妥開展數字人民幣試點測試”再度被列入2021年度事項工作要點.

1900/1/1 0:00:00
ads