買以太坊 買以太坊
Ctrl+D 買以太坊
ads

HAN:0x協議漏洞原理剖析:惡意掛單可擾亂正常交易秩序_幽靈幣phantom

Author:

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

昨天,去中心化交易所協議0x項目方稱其發現嚴重安全漏洞。PeckShield安全人員跟進分析發現,0xExchange合約在校驗訂單簽名時存在缺陷,導致攻擊者可以進行惡意掛單,進而將用戶的數字資產低價賣出,擾亂正常的交易秩序。所幸項目方及時發現并修復問題,截至目前,尚未有真實攻擊發生,并沒有產生數字資產損失。

背景

北京時間2019年07月13日,去中心化交易所0x協議項目方稱其發現嚴重安全漏洞,并緊急關閉了0xExchangev2.0合約,隨后部署了修復后的合約。受此影響,基于0x協議的交易所及錢包,包括RadarRelay,Tokenlon,StarBit等緊急暫停了相關交易服務。PeckShield安全人員跟進分析發現,0xExchange合約在校驗訂單簽名時存在缺陷,導致攻擊者可以進行惡意掛單,進而將用戶的數字資產低價賣出,擾亂正常的交易秩序。0x協議簡介

鯨魚0x882E在40分鐘前再次從Binance提取了7300枚ETH:金色財經報道,據Lookonchain數據顯示,鯨魚“0x882E”在40分鐘前再次從Binance提取了7,300枚ETH(約1460萬美元)。自6月8日以來,鯨魚已從Binance中提取了總計64,400枚ETH(1.288億美元)的資金,然后質押了48,928枚ETH(9,780萬美元)。[2023/7/14 10:55:24]

0x協議是一個基于以太坊的開放協議,實現鏈上資產的點對點交易。它期望在以太坊上創建一種標準協議,使得任何人能夠基于此協議運行去中心化交易所,實現以太坊上的代幣之間的交易。0x協議上的交易特點是鏈下訂單撮合,鏈上結算,其中為用戶交易提供訂單服務的參與者稱為中繼者。0x項目發行了自己的代幣ZRX,一方面作為去中心化治理投票權的證明,同時也被作為交易服務費,用于建立在0x協議之上的中繼者提供服務的收益。0x協議受到不少去中心化交易所和錢包的青睞,從Etherscan的DEX過去七天交易份額的餅圖中能看到,排名靠前的RadarRelay和Tokenlon都是基于0x協議:

數據:0xde3開頭鯨魚地址或已開始拋售GRT代幣:金色財經報道,據Spot On Chain監測,GRT代幣交易者可能想把0xde3開頭的鯨魚地址(可能是投資者)添加到他們的觀察名單上。

這頭鯨魚最近可能已經開始拋售GRT代幣,在11小時和9小時之前,他向Binance和Coinbase存入了1100萬枚GRT,并在DEX賣出了75萬枚GRT。

GRT代幣價格在他轉移后跌幅已經達到10%以上。[2023/7/4 22:17:22]

另外,從DAppTotal的DEX24小時交易額排名中也能看到它們的排名:

由于Ethereum平臺上大量的DEX都使用了0x協議,而作為最根本的TokenTranfer主合約出問題,這對于整個DEX領域來說,都是比較重大的事件。漏洞原理分析

0x Protocol宣布其為Coinbase NFT社交市場提供了支持:4月21日消息,據官方博客,去中心化交易協議0x Protocol與 Coinbase合作,為Coinbase NFT社交市場提供支持。通過使用0x協議,Coinbase NFT社交市場可幫助用戶發現、購買、銷售和連接NFT,同時為其用戶提供更低的交易成本。

此前消息,Coinbase NFT市場Beta版本上線,目前支持基于以太坊的NFT和ETH支付方式。[2022/4/21 14:37:46]

本次漏洞共涉及isValidWalletSignature()和isValidValidatorSignature()兩個相似的漏洞,由于兩者出問題的代碼是相似的,本文只以前者為例說明。isValidWalletSignature(bytes32,address,bytes)函數用于驗證給定的Wallet合約所定義的簽名信息與給定的簽名是否一致,用于確保Order是由正確的Maker/Taker執行的交易。但是0xExchange合約在驗證的過程中,存在著比較嚴重的問題:

0x 累計交易量突破1000億美元:11月11日消息,去中心化交易協議 0x 宣布累計交易量突破1000億美元,0x API交易量突破500億美元,Matcha交易量突破250億美元。[2021/11/11 6:45:50]

上圖是這一函數的全部邏輯,分為兩部分:組裝簽名具體字段為ABI編碼格式;根據組裝的ABI編碼內容計算簽名值正確性。其中,第2步的邏輯,在0xv2合約代碼中是用匯編實現的:引入cdStart指針,指向calldata中對應的位置;對WalletAddress調用staticcall()OpCode計算簽名正確性,注意觀察代碼,其中的input和output都為cdStart這一指針,即復用input/output的內存;檢驗步驟2.2中的結果是否正確。WalletAddress為合約的前提下,這樣子的流程沒有問題。先來看下EVM中合約的執行流程是怎樣的,PeckShield安全人員查閱EVM源碼的時候發現:

英國夫婦因使用虛假的Chrome瀏覽器Ledger擴展丟失14800XRP:一對英國夫婦周六于Reddit上發帖稱,其因使用Chrome瀏覽器上的所謂“Ledger擴展程序”而丟失了14800 XRP。據此前報道,MyCrypto平臺的安全主管Harry Denley發現,一個名為Ledger Live的Chrome擴展程序正試圖冒充真實的Ledger Live應用,獲取用戶Ledger錢包的恢復種子(創建Ledger錢包時設置的12或24個單詞的助記詞)并竊取資產。(CoinGape)[2020/3/29]

當被調用的合約沒有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:0x協議CHAALLHANMalwareChaintrustwallet錢包怎么提幣幽靈幣phantom

歐易交易所app下載
穩定幣:關于穩定幣的鑄幣、銷毀以及市場資金的凈流入_gate.io蘋果下載

本周Tokenview要放一份硬核數據19年以來,有多少法幣通過穩定幣的方式流入了區塊鏈市場?又有多少資金從市場離開了?今年是流入的穩定幣多,還是流出的穩定幣多?讓我們來一一解答.

1900/1/1 0:00:00
數字貨幣:央行數字貨幣呼之欲出,設計理念和技術架構首次曝光_數字貨幣交易app哪個好一點

編者按:本文來自巴比特資訊,作者:海倫,星球日報經授權發布。8月10日,在中國金融四十人論壇上,中國人民銀行支付結算司副司長穆長春表示:經過5年研究,央行數字貨幣可以說是呼之欲出了.

1900/1/1 0:00:00
區塊鏈:中心化巨頭也來玩開源?微眾銀行再開源三大區塊鏈底層_AUSDC

早在2017年,微眾銀行對外開放了FISCOBCOS區塊鏈底層技術平臺,FISCOBCOS在技術選型上,用的也是聯盟鏈的方案.

1900/1/1 0:00:00
Mdex:官方:中國將加快推進法定數字貨幣(DC/EP)研發步伐_DEX

中國人民銀行8月2日召開2019年下半年工作電視會議,對下半年重點工作做出部署。會議要求,下半年要做好八項重點工作,其中一項重點工作就是,因勢利導發展金融科技,加強跟蹤調研,積極迎接新的挑戰.

1900/1/1 0:00:00
比特幣:山寨幣何時趕上比特幣?不遠了_BTC

比特幣漲,山寨幣跌或者不漲。比特幣跌,山寨幣大跌。如果把比特幣作為所有山寨幣的價值尺度,也就是用比特幣作為山寨幣的計價單位,山寨幣其實跌的更多.

1900/1/1 0:00:00
DAI:以太坊:五層金融網絡詳解_YETH

編者按:本文來自藍狐筆記,作者:DavidHoffman,翻譯:HQ,Odaily星球日報經授權發布.

1900/1/1 0:00:00
ads