背景
2021年1月27日,據慢霧區情報,SushiSwap再次遭遇攻擊,此次問題為DIGG-WBTC交易對的手續費被攻擊者通過特殊的手段薅走。慢霧安全團隊在收到情報后立馬介入相關事件的分析工作,以下為攻擊相關細節。
SushiMaker是什么
SushiMaker是SushiSwap協議中的一個重要的組件,其用于收集SushiSwap每個交易對的手續費,并通過設置每個代幣的路由,將不同交易對的手續費最終轉換成sushi代幣,回饋給sushi代幣的持有者。這個過程就是發生在SushiMaker合約上。
說說恒定乘積
恒定乘積的公式很簡單,在不計算手續費的情況下,恒定乘積的公式為
安全團隊:Rubic被攻擊事件簡析:金色財經報道,據區塊鏈安全審計公司Beosin旗下Beosin EagleEye安全風險監控、預警與阻斷平臺監測顯示,Rubic項目被攻擊,Beosin安全團隊分析發現RubicProxy合約的routerCallNative函數由于缺乏參數校驗,_params可以指定任意的參數,攻擊者可以使用特定的integrator來讓RubicProxy合約可以幾乎零成本的調用自己傳入的函數data。攻擊者通過調用routerCallNative函數,把所有授權給RubicProxy合約的USDC全部通過transferFrom轉入了0x001B地址,被盜資金近1100個以太坊,通過Beosin Trace追蹤發現被盜資金已經全部轉入了Tornado cash。[2022/12/25 22:06:32]
也就是說每次兌換,其實都是遵循這個公式,及交易前后K值不變,在兌換的過程中,由于要保持K值不變,公式的形式會是這個樣子
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]
其中X代表賣掉的代幣,Y代表要購買的代幣,那么每次能兌換到的代幣數量會是這個樣子(具體的推導過程就不演示了:D)
慢霧:跨鏈互操作協議Nomad橋攻擊事件簡析:金色財經消息,據慢霧區消息,跨鏈互操作協議Nomad橋遭受黑客攻擊,導致資金被非預期的取出。慢霧安全團隊分析如下:
1. 在Nomad的Replica合約中,用戶可以通過send函數發起跨鏈交易,并在目標鏈上通過process函數進行執行。在進行process操作時會通過acceptableRoot檢查用戶提交的消息必須屬于是可接受的根,其會在prove中被設置。因此用戶必須提交有效的消息才可進行操作。
2. 項目方在進行Replica合約部署初始化時,先將可信根設置為0,隨后又通過update函數對可信根設置為正常非0數據。Replica合約中會通過confirmAt映射保存可信根開始生效的時間以便在acceptableRoot中檢查消息根是否有效。但在update新根時卻并未將舊的根的confirmAt設置為0,這將導致雖然合約中可信根改變了但舊的根仍然在生效狀態。
3. 因此攻擊者可以直接構造任意消息,由于未經過prove因此此消息映射返回的根是0,而項目方由于在初始化時將0設置為可信根且其并未隨著可信根的修改而失效,導致了攻擊者任意構造的消息可以正常執行,從而竊取Nomad橋的資產。
綜上,本次攻擊是由于Nomad橋Replica合約在初始化時可信根被設置為0x0,且在進行可信根修改時并未將舊根失效,導致了攻擊可以構造任意消息對橋進行資金竊取。[2022/8/2 2:52:59]
從公式上可以看到,當輸出代幣Y的兌換數量上限取決于Y代幣的數量,而和X代幣數量的大小無關,反過來說,如果要賣掉的X代幣數量很大,但是Y代幣的數量很小,那么就會造成大量的X代幣只能兌換出少量的Y代幣,而這個兌換價格相比正常的交易價格會偏離很多,這就是所謂的滑點,是本次攻擊中的關鍵。
慢霧簡析Qubit被盜原因:對白名單代幣進行轉賬操作時未對其是否是0地址再次進行檢查:據慢霧區情報,2022 年 01 月 28 日,Qubit 項目的 QBridge 遭受攻擊損失約 8000 萬美金。慢霧安全團隊進行分析后表示,本次攻擊的主要原因在于在充值普通代幣與 native 代幣分開實現的情況下,在對白名單內的代幣進行轉賬操作時未對其是否是 0 地址再次進行檢查,導致本該通過 native 充值函數進行充值的操作卻能順利走通普通代幣充值邏輯。慢霧安全團隊建議在對充值代幣進行白名單檢查后仍需對充值的是否為 native 代幣進行檢查。[2022/1/28 9:19:19]
攻擊流程
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:DIGGIGGDIGETHDOGEDIGGERdigg幣價值DIGLEhttps://etherscan.io
親愛的AEX安銀小伙伴:由于ATOM硬分叉升級,AEX安銀于2021年01月28日11:00關閉ATOM充提功能,期間交易不受影響.
1900/1/1 0:00:00在信息泄露危機和全球動蕩加劇的情況下,隱私已成為重點關注話題。于是暗網活動正在增加,盡管暗網使用量難以估計,但今年1月份Tor瀏覽器的平均下載量比去年增加了10%.
1900/1/1 0:00:00穩定幣作為法幣與加密資產的貨幣交換媒介,是加密市場極為重要的組成部分。由于其與法定貨幣美元掛鉤,具備無國界、價值相對穩定、轉賬快速、交易透明等特點,獲得了加密投資者的青睞.
1900/1/1 0:00:00鏈聞消息,據CryptoSlam數據顯示,按歷史總成交額計算,DapperLabs的NFT游戲NBATopShot的成交額超過CryptoKitties,達逾2948萬美元,排名第一.
1900/1/1 0:00:00尊敬的LBank用戶: LBank將于2021年1月27日16:00(UTC8)上線MASS,具體如下:開啟交易對:MASS/USDT開啟充值時間:2021.1.2715:00(UTC8)開啟交.
1900/1/1 0:00:00親愛的用戶: 為支持AKT錢包進行安全升級,DigiFinex將于2021年1月28日10:30(GMT8)暫停AKT代幣的充幣服務。預計升級時間48小時,用戶仍可交易AKT.
1900/1/1 0:00:00