2022年1月18日,我們的異常交易監測系統檢測到了針對AnySwap項目的攻擊。由于anySwapOutUnderlyingWithPermit()函數未能正確地實現相關校驗機制,導致用戶授權給該項目的token可被攻擊者取出,關于漏洞細節和相關處置詳情可參考項目方的官方說明。
盡管項目方嘗試了多種方法試圖提醒受影響的用戶,仍然有很多用戶未能及時響應,攻擊者得以持續地實施攻擊獲利。
由于攻擊持續進行,為了保護潛在的受害者,BlockSec團隊決定采取應急響應措施。本次救援特別針對以太坊上受到影響的賬戶,與之關聯的項目方合約地址為0x6b7a87899490EcE95443e979cA9485CBE7E71522,我們將相關的賬戶資金轉移到我們專門設立的多簽白帽賬戶中(0xd186540FbCc460f6a3A9e705DC6d2406cBcc1C47)。
為了保證行動的透明性,我們將相關行動計劃在pdf文件中做了說明,并立即將文件hash向社區公開。這樣既能夠保證將我們的行為與攻擊者行為做區分,也不會泄漏任何細節。
我們的救援行動從2022年1月21日正式開始,到2022年3月11日正式結束,相關的公開聲明分別如圖2、圖3所示。
應急救援并非是一件容易達成的任務,有各種技術和非技術方面的挑戰需要克服。由于行動已經結束,我們得以重新復盤整個過程,并將相關心得與體會與社區分享。我們希望也相信這樣的分享對社區,以及DeFi生態的安全會有所幫助。
綠地集團旗下子公司擬申請香港虛擬資產交易牌照:金色財經報道,從綠地金創獲悉,該公司正計劃申請在香港交易虛擬資產的牌照。綠地金創是綠地控股集團旗下子公司。據悉,綠地金創將成立一家新公司專注于虛擬資產交易,并將向香港證券及期貨事務監察委員會提交申請。如果獲得批準,將致力于推出交易加密貨幣、NFT以及與碳排放相關的產品。所有計劃都需獲得香港證券及期貨事務監察委員會的批準。[2023/5/17 15:08:30]
簡要總結
不同陣營的參與者對Flashbots的廣泛使用產生了激烈競爭,包括白帽和攻擊者兩個群體之間,乃至各自群體內部,向Flashbots支付的費用也隨著時間的推移迅速增長。
Flashbots不是萬靈丹,并非總是有效。有些攻擊者轉而使用mempool,通過巧妙的策略安排了攻擊交易,成功實施了攻擊。
某些攻擊者與項目方達成協議,歸還部分攻擊所得,保留部分攻擊所得作為獎賞,得以成功洗白。這種現象不是第一次出現,其激勵的公平性也在社區內部引起了很大的爭議和討論。
從透明性考量,白帽可以在不泄露敏感信息的同時向社區公開宣告自己的行為,這樣取信于社區的方式在實踐中表現良好。
社區的各方力量可以攜手合作,使得救援行動更為迅速和有效。比如可以在白帽之間開展協同,減少或避免無效競爭。
幣安新增CVC/USDT、WBETH/ETH交易對:金色財經報道,據官方公告,幣安將于2023年05月12日16:00(北京時間)上線CVC/USDT、WBETH/ETH交易對。[2023/5/11 14:56:35]
以下我們將從四個方面展開。首先是對本次事件的總體性回顧,而后介紹我們實施救援的方法以及在整個過程中面臨的挑戰,接下來討論我們在本次行動中的一些心得和體會,最后提出一些想法和建議。
0x1.1總體結果
在我們觀察范圍內,總體的攻擊和救援情況如表1所示,按照參與攻擊或救援的以太坊賬戶地址統計。具體來說,一個賬戶地址或者是救援賬戶,或者是攻擊賬戶,而類型是根據Etherscan.io的標簽和資金轉移地址來確定的。此外,在攻擊和救援的過程中,白帽和攻擊者均大量使用了Flashbots來發送交易,因而需要額外向礦工支付費用,我們稱之為Flashbots費用。
總體而言,有9個救援賬戶保護了483.027693ETH,其中需扣除支付給Flashbots費用為295.970554ETH;有21個攻擊賬戶獲利1433.092224ETH,其中需扣除給Flashbots的費用為148.903707ETH。值得注意的是,由于存在一些復雜的交互情況,表格中列出的只是大概的統計。
0x1.2Flashbots費用的變化趨勢
數據:近90%質押以太坊完全提款發生在中心化交易所:4月30日消息,根據21Shares Research編制的數據,信標鏈上大約90%的質押以太坊完全提款發生在中心化交易所(Kraken、Binance和Coinbase)。
21Shares Research的研究分析師Tom Wan指出,用戶從這些交易所提取了超過877000枚ETH,占已完全移除ETH的87.5%。
在驗證者退出方面,Kraken以超過15000個退出驗證者位居榜首,比位居第二位的幣安高出三倍,后者只有5676名驗證者退出,Coinbase以2849名退出驗證者位居第三。
另外,Nansen的Shapella儀表板顯示,這些交易所僅占這些完全ETH提款的77.8%,即785742枚ETH。(BeInCrypto)[2023/5/1 14:36:21]
如前所述,白帽們需要和攻擊者競爭發送Flashbots交易來實施救援,支付給Flashbots的費用的變化趨勢可以反映競爭的激烈程度。為了對其作定量的評估,我們按照交易區塊,對攻擊和救援交易分別統計了各自Flashbots費用的占比。
圖4給出了我們觀察范圍內的占比趨勢。剛開始的一些攻擊交易的Flashbots費用為0,表示在那段時間攻擊者尚未使用Flashbots,在早期其他人對漏洞尚未有了解,因此競爭并不激烈。在高度為14029765的區塊中,出現了第一筆使用Flashbots的攻擊交易,Flashbots費用占了獲利的10%。在這之后,Flashbots費用占比隨著參與競爭者數量的增加而快速上升,比如在區塊高度14072385時Flashbots費用占比達到80%,隨后在區塊高度14129449費用占比即達到91%。簡而言之,這樣的趨勢表明這業已成為由于Flashbots上鏈權之爭而導致的費用軍備競賽。
Amber近兩日分別從OKX提取200萬枚BLUR、從Binance提取3104枚MKR:3月7日消息,數據分析師余燼表示,Amber Group在昨天下午和今天凌晨,分別從OKX提出了200萬枚BLUR(140萬美元)、從Binance提出了3104枚MKR (約合295萬美元)。按從交易所提出時價格計算,Amber Group的BLUR成本為0.7美元,MKR成本為950美元。
目前Amber地址持有價值大于100萬美元的代幣有:
5000萬FET (2096萬美元)
3104 MKR (295萬美元)
1153 ETH (181萬美元)
200萬BLUR (140萬美元)
Amber地址為:0xe11970f2f3de9d637fb786f2d869f8fea44195ac。[2023/3/7 12:47:03]
0x2.1我們如何開展救援行動?
救援的基本思路是簡單而直接的。具體而言,我們需要監控一批潛在的受害者賬戶,這些賬戶已將WETH授權給有問題的項目方合約使用。當有任何的WETH轉賬進入該賬戶,我們利用合約漏洞直接將其轉出至我們的白帽多簽錢包。這里的關鍵是要滿足以下三個要求:
R1:有效地定位轉賬給受害者賬戶的交易,為方便敘述,以下我們將這些交易命名為轉賬交易。
去中心化無線網絡Hexagon Wireless完成200萬美元融資:金色財經消息,去中心化無線網絡Hexagon Wireless完成200萬美元融資,Hypersphere Ventures、Mechanism Capital、Superfluid Group等參投。
據悉,Hexagon Wireless代表了一種用于構建和維護無線網絡的革命性新模式,通過允許任何人購買和部署創建無線覆蓋的硬件,實現了頻譜和互聯網連接的所有權和訪問權的民主化。[2022/5/20 3:29:34]
R2:正確地構造交易實施拯救,為方便敘述,以下我們將這些交易命名為拯救交易。
R3:成功地搶跑攻擊者交易,為方便敘述,以下我們將這些交易命名為攻擊交易?。
R1和R2對我們而言并不構成阻礙。因為我們已經構建了一套內部系統來監控mempool,得以及時定位到轉賬交易;與此同時,我們也研發了一套工具用以自動化地構造拯救交易。
然而R3仍然是一個挑戰。雖然在理論上Flashbots可被用來贏得搶跑,然而這并不是一個容易達成的目標。首先,攻擊者也可能采用Flashbots,作為一個采用費用競拍模式的系統,成功率取決于費用的高低,而費用設置的策略需要額外考量。其次,由于上述競拍模式導致的競爭存在,使用Flashbots并不總是一個好的選擇。因此,我們也使用mempool發送普通交易。為了確保成功,交易在mempool中的位置和順序是關鍵因素,其設置策略也需納入考量。最后,我們也與其它的一些“白帽”產生了競爭,而在某些情況下這些所謂“白帽”的行為其實是較為可疑的。
從這些失敗的案例中,我們也總結了一些經驗教訓,以下將逐一與大家分享。
0x3.1如何確定Flashbots費用?
在整個救援過程中,我們先后被12個同樣利用Flashbots的競爭者擊敗,包括2個救援賬戶和10個攻擊賬戶。
我們設置Flashbots費用的策略相對而言是較為保守的。具體而言,為了保護受害者的利益,我們總是傾向于盡可能較少地設置Flashbots費用。因此除非已經有成功地使用Flashbots的攻擊交易出現,我們并不會主動地使用Flashbots或增加Flashbots費用。比如一個成功的攻擊交易設置的Flashbots費用比例為10%,我們可能會在下一次救援交易中將之設置為11%。但是,結果證明這樣的策略并不太成功,攻擊者通常會采用較為激進的策略設置費用以贏得競爭,例如:
圖5展示了區塊高度為14071986的一筆攻擊交易,攻擊者0x5738**將比例設置為70%。
圖6展示了區塊高度為14072255的一筆攻擊交易,白帽0x14ca**將比例設置為79%。
圖7展示了區塊高度為14072385的一筆攻擊交易,白帽0x14ca**將比例設置為80%。
圖8展示了區塊高度為14072417的一筆攻擊交易,白帽0x9117**將比例設置為81%。
圖9展示了區塊高度為14073395的一筆攻擊交易,攻擊者0x5738**將比例設置為86%。
簡而言之,這似乎是一個零和游戲,可以通過建模來探索各參與方的行為模式。但在具體實踐中這是一項頗具挑戰的任務:一方面需要盡可能降低代價,另一方面要找到較優/最優的策略贏得競爭。
交易所設置的最高Flashbots費用,都無法保證贏得Flashbots競爭。
另一個可行的方法是使用通過mempool發送正常交易,如果交易被安排在合適的位置,也有可能實現目標。這里合適的位置指的是攻擊/救援交易位于轉賬交易之后,且非常接近轉賬交易。事實上,攻擊者0x48e9**運用這樣的策略成功的收割了312.014657ETH,且并沒有付出任何Flashbots費用的成本。以下四幅圖展示了該攻擊者獲利最高的兩次攻擊:
圖10和圖11分別展示了在區塊高度14051020,受害者0x3acb**的轉賬交易位于65,而攻擊交易位于66。
圖12和圖13分別展示了在區塊高度14052155,受害者0xbea9**的轉賬交易位于161,而攻擊交易位于164。
顯然,這樣巧妙的策略兼具實用性和啟發性,值得關注和學習。
0x4.1如何區分白帽和攻擊者?
識別白帽及其行為可能并不像一般人認為的那樣簡單直白。舉例來說,賬戶地址0xfa27被Etherscan.io標記為白帽:MultichainExploiter4(Whitehat)。然而在一開始的時候,這個地址被標記為攻擊者:MultichainExploiter4。這里的變化來自于項目方和攻擊者的互動,在若干輪協商之后,攻擊者同意保留50ETH的獲利作為獎賞,返還其它獲利:
在交易0x3c3d**中,項目方聯系該攻擊者:
在交易0xd360**中,攻擊者回復:
在交易0x354f**中,項目方在受到返還的資金后表示感謝:
毫無疑問,該攻擊者通過這樣的方式不僅獲利也成功洗白了自己。這種現象不是第一次出現,其激勵的公平性也在社區內部引起了很大的爭議和討論。
0x4.3如何更好地開展救援行動?
一方面,從透明性考量,白帽可以在不泄露敏感信息的同時向社區公開宣告自己的行為,這樣取信于社區的方式在實踐中表現良好。與針對某個特別攻擊的阻斷任務相比,這樣的救援行動通常是拉鋸戰,白帽和攻擊者之間會在一段時間內交手多次,因此會有充足的時間做宣告。當然,在剛開始行動的時候,漏洞相關的細節信息并不需要披露,以免造成不必要的危害;在行動結束后,這些信息應該向社區充分公開。
另一方面,社區的各方力量可以攜手合作,使得救援行動更為迅速和有效,包括但不限于:
Flashbots/Miners向認證過且可信的白帽提供綠色通道,既可用于搶跑攻擊交易,也能避免白帽間的競爭。
被攻擊的項目方負責Flashbots費用的成本。
項目方采用更為方便和快捷的機制及時向用戶預警。
項目方在代碼中采用一些必要的應急措施。
幣安聯合JasmyCoin團隊開啟交易狂歡節。活動期間,參與JASMY交易,即有機會贏取價值約5萬美元等值的特斯拉ModelY通用提車券,和價值2萬美元等值JASMY豪禮.
1900/1/1 0:00:00親愛的BitMart用戶,?Solar(SOLAR)已于2022年3月24日17:00(香港時間)上線BitMart!為慶祝SOLAR上線.
1900/1/1 0:00:00親愛的ZT用戶: ZT創新板即將上線PANDA,並開啟PANDA/USDT交易對。具體上線時間如下: 充值:已開啟; 交易:2022年4月7日16:30; PANDA 項目簡介:PandaDAO.
1900/1/1 0:00:00隨著以太坊合并的臨近,社區對合并的相關影響以及未來以太坊的規劃愈發頻繁。本文,我們便圍繞這一主旨,提煉出五大常見問題,為大家畫畫重點.
1900/1/1 0:00:00尊敬的用戶:Hotcoin將於(GMT8)2022年4月8日21:00開放EGS/USDT交易業務,2022年4月9日21:00開放EGS提幣業務,充值業務開放時間將以公告另行通知.
1900/1/1 0:00:00尊敬的XT.COM用戶:應LUFFY項目方要求,LUFFY將更換新的合約地址。新合約地址:https://etherscan.io/token/0x65e307c39f52edae72e1b80.
1900/1/1 0:00:00