昨天,去中心化交易所協議0x項目方稱其發現嚴重安全漏洞。PeckShield安全人員跟進分析發現,0xExchange合約在校驗訂單簽名時存在缺陷,導致攻擊者可以進行惡意掛單,進而將用戶的數字資產低價賣出,擾亂正常的交易秩序。所幸項目方及時發現并修復問題,截至目前,尚未有真實攻擊發生,并沒有產生數字資產損失。
背景
北京時間2019年07月13日,去中心化交易所0x協議項目方稱其發現嚴重安全漏洞,并緊急關閉了0xExchangev2.0合約,隨后部署了修復后的合約。受此影響,基于0x協議的交易所及錢包,包括RadarRelay,Tokenlon,StarBit等緊急暫停了相關交易服務。
PeckShield安全人員跟進分析發現,0xExchange合約在校驗訂單簽名時存在缺陷,導致攻擊者可以進行惡意掛單,進而將用戶的數字資產低價賣出,擾亂正常的交易秩序。
0x7c82地址從幣安提出2.7萬枚以太坊,疑似在進行資產歸集:6月19日消息,據推特用戶余燼監測,0x7c82地址近48小時從幣安提出2.7萬枚以太坊,在此之前該地址還從0x5A84開頭地址處收到1萬枚以太坊以及近70萬枚USDT。轉入的USDT為0x5A84開頭地址從幣安、OKX等交易所轉出,該系列地址所有者疑似在進行資產歸集。[2023/6/19 21:47:45]
0x協議簡介
0x協議是一個基于以太坊的開放協議,實現鏈上資產的點對點交易。它期望在以太坊上創建一種標準協議,使得任何人能夠基于此協議運行去中心化交易所,實現以太坊上的代幣之間的交易。0x協議上的交易特點是鏈下訂單撮合,鏈上結算,其中為用戶交易提供訂單服務的參與者稱為中繼者。0x項目發行了自己的代幣ZRX,一方面作為去中心化治理投票權的證明,同時也被作為交易服務費,用于建立在0x協議之上的中繼者提供服務的收益。
0x協議受到不少去中心化交易所和錢包的青睞,從Etherscan的DEX過去七天交易份額的餅圖中能看到,排名靠前的RadarRelay和Tokenlon都是基于0x協議:
Celsius將價值超2000萬美元的加密貨幣轉入“0x7943”開頭地址:金色財經報道,據PeckShield監測數據顯示,在過去7小時內,被標記為Celsius的地址將價值約2136萬美元的加密貨幣轉移至“0x7943”開頭地址,其中包括5365枚ETH(約875萬美元)、1200萬美元穩定幣(1040萬枚USDC、73.1萬枚USDT、62.5萬枚GUSD、13.2萬枚DAI、5.9萬枚BUSD、3.3萬枚USDP和2500枚TUSD)、1300萬枚CEL(約61.5萬美元)。[2023/3/1 12:36:03]
另外,從DAppTotal的DEX24小時交易額排名中也能看到它們的排名:
0x0a77開頭地址解除約100萬枚APE的質押并轉入幣安:金色財經報道,據0xScope Protocol監測,0x0a77開頭地址解除約100.57萬枚APE(價值近600萬美元)的質押并將其轉入幣安。[2023/1/31 11:38:40]
由于Ethereum平臺上大量的DEX都使用了0x協議,而作為最根本的TokenTranfer主合約出問題,這對于整個DEX領域來說,都是比較重大的事件。
漏洞原理分析
本次漏洞共涉及isValidWalletSignature和isValidValidatorSignature兩個相似的漏洞,由于兩者出問題的代碼是相似的,本文只以前者為例說明。
isValidWalletSignature(bytes32,address,bytes)函數用于驗證給定的Wallet合約所定義的簽名信息與給定的簽名是否一致,用于確保Order是由正確的Maker/Taker執行的交易。但是0xExchange合約在驗證的過程中,存在著比較嚴重的問題:
數據:0x57e0開頭的巨鯨地址向OKX轉入2000萬枚CRV:11月22日消息,鏈上數據顯示,0x57e0開頭的地址今日從Aave借入2000萬枚CRV,并將這些CRV分兩次轉進了OKX。過去7天里,該地址從Aave借入共計3700萬枚CRV。
行情顯示,CRV現報0.4458美元,24小時跌幅近12%。[2022/11/22 7:56:48]
上圖是這一函數的全部邏輯,分為兩部分:
組裝簽名具體字段為ABI編碼格式;根據組裝的ABI編碼內容計算簽名值正確性。其中,第2步的邏輯,在0xv2合約代碼中是用匯編實現的:
引入cdStart指針,指向calldata中對應的位置;對WalletAddress調用staticcallOpCode計算簽名正確性,注意觀察代碼,其中的input和output都為cdStart這一指針,即復用input/output的內存;檢驗步驟2.2中的結果是否正確。WalletAddress為合約的前提下,這樣子的流程沒有問題。先來看下EVM中合約的執行流程是怎樣的,PeckShield安全人員查閱EVM源碼的時候發現:
0x創始人:DeFi和DEX采用推動0x交易量超越ICO泡沫高點:金色財經報道,去中心化交易協議0x創始人Will Warren發推稱,DeFi和更廣泛的DEX采用推動0x的交易量超過了ICO的泡沫高點。一切才剛剛開始。其分享的圖片顯示,0x交易量今年一度超過1億美元。[2020/4/26]
當被調用的合約沒有code,也就是EOA賬號的情況下,什么都沒有的執行,直接返回。因此,對應到isValidWalletSignature(bytes32,address,bytes)函數來說,其中的cdStart所對應的內存內容在調用staticcall前后并沒有變化,而后面在判斷簽名是否正確的isValid取值的時候,也就取到了錯誤的值。
用戶通過fillOrder(Order,uint256,bytes)函數完成Token買賣,PeckShield安全人員發現,這一函數的三個參數可以由用戶自由配置:
分別為:
代表訂單信息的Order類型;用戶為此訂單付出的Token數量;Order對應的簽名信息signature其中比較關鍵的是Order及對應的signature信息的一致性正是通過上面的isValidWalletSignature類函數校驗,因此,當攻擊者精心構造signature為SignatureTypeWallet時,可『跳過』簽名合法性檢查,從而使得用戶在不經意之間被惡意掛單,從而被攻擊者順利吃單,由于這一訂單信息是由攻擊者直接傳入合約的,因此這一訂單信息在線下的中繼者也無法查詢。
漏洞影響分析
基于上述分析發現,曾在0x協議Exchange上做過授權轉賬的普通用戶帳號都將受到影響:
攻擊者可偽造用戶掛單,低價獲得用戶代幣。
鑒于此安全漏洞的危害性,PeckShield安全人員發現0x項目方在漏洞被發現的時候先緊急關閉了0xExchangev2.0合約的Tokentransfer功能,將所有的ERC20、ERC721、以及MultiAsset的Transfer功能全部下線;隨后部署了修復后的合約,同時告知用戶及使用了0xExchange的所有DEX及Relayer,相關的遷移升級工作正在進行中。受此影響,基于0x協議的交易所及錢包,包括RadarRelay,Tokenlon,StarBit等緊急暫停了交易服務。
PeckShield安全人員通過漏洞特性分析鏈上數據發現,從0xExchange2018-09上線至今,并沒有因此安全漏洞造成的用戶直接資產損失。
對于使用了0x的DEX及錢包來說,當前的階段需要暫停交易服務,如無法暫停交易服務的話,可將對應的0xExchange合約地址變更為當前已經修復的合約地址。
結語
0x協議本次出現漏洞的合約代碼,主要是內聯匯編代碼編寫簽名驗證功能出現的問題,直接編寫匯編代碼雖然在編譯器無法優化合約代碼的情況下非常有用,可控性更強且能提高執行效率,減少Gas消耗,但是編寫Solidity匯編代碼需要對EVM運行機制有非常熟悉的理解,不然EVM的某些特性可能導致編寫的合約無法正常運行,同時也缺少了Solidity提供的多種安全機制。
PeckShield安全人員在此提醒廣大開發者及時排查合約的相關代碼,避免類似問題可能造成的安全風險,對于DEX等DeFi類項目,項目方在上線前需要找有資質的安全公司審計安全風險。
Tags:DEX去中心化交易所中心化交易所DEX幣DEX價格去中心化交易所違法嗎LFG去中心化交易所去中心化交易所英文單詞去中心化交易所算證券么dex去中心化交易所價格計算器去中心化交易所前三
小孩出世之后就會剛開始不斷地生長發育,每一環節的小孩生長發育狀況全是不一樣的。那4到5歲小寶寶的生長發育特性是如何的呢?下列是網編給你梳理的4到5歲小寶寶的生長發育特性,想要能幫上你.
1900/1/1 0:00:00博敏電子三漲停:生產經營活動正常生產、銷售等未出現大幅波動連續三日漲停的博敏電子(603936)7月25日晚間公告,公司目前生產經營活動一切正常,市場環境、行業政策未發生重大調整.
1900/1/1 0:00:00區塊鏈能做什么?可不僅僅只是發幣。在7月26日的CHAINAGE區塊鏈創新日活動上,螞蟻金服副總裁兼阿里巴巴達摩院金融科技實驗室主任蔣國飛給我們描述了一個萬鏈互聯的世界: “歡迎進入DAI時代,
1900/1/1 0:00:0010月25日,特斯拉公司宣布標配基礎版輔助駕駛功能的Model3標準續航升級版車型正式開放預訂。該車型起售價為人民幣355,800元,預計第一批交付時間為明年第一季度.
1900/1/1 0:00:00來源:鏈得得APP 作者:鏈上觀,內容 我想大部分區塊鏈從業者都面臨一個困惑,如何體面的向別人介紹自己的職業?新技術,密碼學,數字經濟,Token模型,社區自治經濟體,去中心化組織。。。
1900/1/1 0:00:002019年8月29日,首屆“智慧海洋領域5G技術創新應用發展論壇”在海南國際會議中心成功舉辦。本屆論壇由自然資源部海洋戰略規劃與經濟司指導,由海南省自然資源和規劃廳、海南省農業農村廳和海口市人民.
1900/1/1 0:00:00