作者:yudan@慢霧安全團隊
背景
2021年1月27日,據慢霧區情報,SushiSwap再次遭遇攻擊,此次問題為DIGG-WBTC交易對的手續費被攻擊者通過特殊的手段薅走。慢霧安全團隊在收到情報后立馬介入相關事件的分析工作,以下為攻擊相關細節。
SushiMaker是什么
SushiMaker是SushiSwap協議中的一個重要的組件,其用于收集SushiSwap每個交易對的手續費,并通過設置每個代幣的路由,將不同交易對的手續費最終轉換成sushi代幣,回饋給sushi代幣的持有者。這個過程就是發生在SushiMaker合約上。
說說恒定乘積
恒定乘積的公式很簡單,在不計算手續費的情況下,恒定乘積的公式為
路透社:SBF欺詐指控回避了關于美國法律如何看待加密貨幣的爭論:1月9日消息,Sam Bankman-Fried可能會發現很難辯訴應該撤銷針對他的欺詐指控,因為美國法律如何對待加密貨幣存在不確定性,就像涉及數字資產的刑事案件中其他被告一樣完成了。法律專家表示,這是因為曼哈頓聯邦檢察官對現已破產的加密貨幣交易所 FTX 創始人的指控在很大程度上回避了正在進行的關于加密貨幣是否應作為證券或商品進行監管的辯論。但據專家稱,這種不確定性與針對SBF的大部分指控無關。雖然他面臨一項串謀證券欺詐的指控,但該指控稱他誤導了FTX的股票投資者,并未涉及交易所交易資產的性質。[2023/1/9 11:02:36]
韓國信用金融協會前官員金柱賢被任命為金融委員會委員長,將研究如何監管加密貨幣:金色財經報道,韓國信用金融協會前官員金柱賢被任命為尹錫烈政府的首任金融委員會委員長。他是金融服務委員會主席高升范的繼任者,擔任金融服務委員會主席的候選人金柱賢將承擔重大責任,例如新政府下的家庭貸款法規的合理化以及基于金融穩定對小企業的金融支持。他的任務還有如何監管仍處于法律盲區的虛擬資產(加密貨幣)的。
6月7日,韓國總統尹錫烈提名韓國信用金融協會前官員金柱賢為部長級金融委員會主席人選。[2022/6/7 4:08:00]
也就是說每次兌換,其實都是遵循這個公式,及交易前后K值不變,在兌換的過程中,由于要保持K值不變,公式的形式會是這個樣子
海德薇格:我很期待看到 數字貨幣將如何改變人民幣支付市場:第十七屆中國國際金融論壇于2020年12月17日-18日在上海舉行。主題為“數字經濟時代的金融服務”。國際銀行業聯合會(IBFed)總裁海德薇格?挪倫斯視頻參會并致辭時指出:金融穩定委員會正在監測大科技公司的創新和金融穩定風險,并且已經發表了很多關于該主旨的文章,例如在2020年10月13日發表的一篇文章中,就提出了關于全球穩定幣的10個高層建議。考慮到創新的規模之大,監管機構和監督機構都需要拓寬自己的視野,并且彼此之間開展更多合作。
中國監管機構一直在積極加強監管,以便隨時應對大科技公司所引起的市場變化。例如,去年,中國人民銀行就起草了相關規則,要求將銀行和金融服務與金融控股公司旗下的科技公司分離,并對這些科技公司進行監管。 現在,要求支付公司必須有100%的存款準備金。
中國還率先推出了由國家信用支持的數字貨幣。我很期待看到這些數字貨幣將如何改變中國國內和境外的人民幣支付市場。(新浪財經)[2020/12/17 15:29:42]
其中X代表賣掉的代幣,Y代表要購買的代幣,那么每次能兌換到的代幣數量會是這個樣子(具體的推導過程就不演示了:D)
楊東:如何保護區塊鏈行業和數字貨幣的投資者:中國人民大學教授楊東在三點鐘區塊鏈社群中談到保護區塊鏈行業和數字貨幣投資者應該:1、首先應當控制源頭,從資產端抓起,制定相關標準;2、投資者進入市場應該有一定的門檻;3、進行投資者適當性管理;4、發揮一行三會投資者保護部門的作用,加強行為監管;5、完善投資者爭議多元解決機制;6、可以考慮用區塊鏈技術建立糾紛解決、保護、教育的生態,實現可追溯的可信的糾紛解決機制,改變傳統的糾紛解決模式,實現“鏈金有法”。[2018/3/7]
從公式上可以看到,當輸出代幣Y的兌換數量上限取決于Y代幣的數量,而和X代幣數量的大小無關,反過來說,如果要賣掉的X代幣數量很大,但是Y代幣的數量很小,那么就會造成大量的X代幣只能兌換出少量的Y代幣,而這個兌換價格相比正常的交易價格會偏離很多,這就是所謂的滑點,是本次攻擊中的關鍵。
如何讓比特幣的尸體飄過:財新專欄作家王立仁今日發文,盡快讓比特幣的尸體飄過來的方法核心點就在于影響其交易過程和記賬過程,從而破壞對比特幣系統的信任。他還論述了7大攻擊比特幣的方法:花錢硬碰硬的算力攻擊(Brute Attack)、巧取通訊環節(SmartAttack)、攻擊記賬系統、攻擊代碼、攻擊法幣與數字貨幣的通道、路由分割(RoutingSplitting)攻擊和直接硬分叉。[2017/12/4]
攻擊流程
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:DIGGDIGETHIGGdigg幣什么時候上線DIGS幣3X Short Ethereum Classic Tokendigg幣發行價
推特賬號@CryptoBull2020凌晨發文稱:美國東部時間2月1日星期一上午8點30分,有6萬人計劃購買并持有XRP;該群組已有6萬人,在過去90分鐘內新增了1萬名成員.
1900/1/1 0:00:00據WhaleAlert數據,今日UNI午間再次出現兩筆大額轉賬,時間均在11:56:17,其中一筆數量為250萬,價值約6954萬美元,另一筆則達790萬枚,價值約2.2億美元.
1900/1/1 0:00:00Filecoin網絡已經擁有了接近3EiB的存儲量,3EiB即相當于30億GB。那么,Filecoin是在哪些方面得以快速發展的呢?是哪些數據推動了Filecoin網絡高效發展呢,接下來讓我們一.
1900/1/1 0:00:00市場概述: 繼上期報告所述,美國10年期國債收益率再次沖高,導致市場資金有可能向低風險市場流動,報告當天美股開盤如期進一步下壓,有效跌破13000一線,對數字貨幣市場產生聯動打擊.
1900/1/1 0:00:00一月份發生的一系列事件,對于比特幣來說看起來和2020年12月一樣充滿利好。盡管一月份比特幣取得了許多自創立以來的里程碑式成就,但是就某些客觀的因素表明,這些成就并不反常.
1900/1/1 0:00:00本文來自CryptoNewsFlash,原文作者:JAKESIMMONSOdaily星球日報譯者|念銀思唐 摘要: -根據律師JeremyHogan的說法.
1900/1/1 0:00:00