加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads

Cobo安全團隊:ETH硬分叉里的隱藏風險和套利機會_AIN:blockchaintechnology

Author:

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

前言

隨著ETH升級PoS共識系統,原有的PoW機制的ETH鏈在部分社區的支持下成功硬分叉。但是,由于某些鏈上協議在設計之初沒有對可能的硬分叉做好準備,導致對應的協議在ETHW分叉鏈存在一定的安全隱患,其中最為嚴重的安全隱患則是重放攻擊。在完成硬分叉后,ETHW主網出現了至少2起利用重放機制進行的攻擊,分別是OmniBridge的重放攻擊和PolygonBridge的重放攻擊。本文將以這兩個事件作為案例,分別分析重放攻擊對分叉鏈的影響,以及協議應如何防范此類攻擊。重放的類型

首先,在開始分析之前,我們需要先對重放攻擊的類型做一個初步的了解,一般而言,我們對重放攻擊分成兩類,分別是交易重放和簽名消息重放。下面,我們來分別說下這兩類重放機制的區別交易重放

交易重放指的是將在原有鏈的交易原封不動的遷移到目標鏈的操作,屬于是交易層面上的重放,重放過后交易也是可以正常執行并完成交易驗證。最著名的案例莫過于Wintermute在Optimism上的攻擊事件,直接導致了超2000萬OP代幣的損失。但是在EIP155實施以后,由于交易的簽名本身帶有chainId(一種用于鏈本身區別與其他分叉鏈的標識符),在重放的目標鏈chainId不同的情況下,交易本身是無法完成重放的。簽名消息重放

Cobo Argus上線DeFi挖礦自動撤退機器人:8月10日消息,Cobo 機構級 DeFi 投資管理平臺 Cobo Argus 現已上線 Withdrawal Bot(自動撤退機器人)功能,用戶可以自定義風險指標如 LP Token 權重、Deposit Ratio(存款占比)、TVL 波動范圍,通過監測鏈上實時數據,在協議觸發用戶設定的指標,如 TVL 驟降或 LP Token 占比暴漲等危險信號時,機器人將幫助投資者自動撤出資金。[2023/8/10 16:18:04]

簽名消息重放區別于交易重放,是針對的用私鑰簽名的消息(e

在這個函數中,首先會根據#L2行的簽名檢查來確定提交的簽名是不是由指定的validator進行簽名,然后再在#L11行對data消息進行解碼。從解碼內容上看,不難發現,返回字段中包含了chainId字段,那么是不是說明無法進行簽名消息重放呢?我們繼續分析。function_executeMessage(bytes32msgId,addresssender,addressexecutor,uint32gasLimit,uint8dataType,uint256memorychainIds,bytesmemorydata)internal{require(_isMessageVersionValid(msgId));require(_isDestinationChainIdValid(chainIds));require(!relayedMessages(msgId));setRelayedMessages(msgId,true);processMessage(sender,executor,msgId,gasLimit,dataType,chainIds,data);}通過追查_executeMessage函數,發現函數在#L11行對chaindId進行了合法性的檢查function_isDestinationChainIdValid(uint256_chainId)internalreturns(boolres){return_chainId==sourceChainId();}functionsourceChainId()publicviewreturns(uint256){returnuintStorage;}通過繼續分析后續的函數邏輯,不難發現其實針對chainId的檢查其實并沒有使用evm原生的chainId操作碼來獲取鏈本身的chainId,而是直接使用存儲在uintStorage變量中的值,那這個值很明顯是管理員設置進去的,所以可以認為消息本身并不帶有鏈標識,那么理論上就是可以進行簽名消息重放的。由于在硬分叉過程中,分叉前的所有狀態在兩條鏈上都會原封不動的保留,在后續xDAI團隊沒有額外操作的情況下。分叉后ETHW和ETH主網上OmniBridge合約的狀態是不會有變化的,也就是說合約的validator也是不會有變化的。根據這一個情況,我們就能推斷出validator在主網上的簽名也是可以在ETHW上完成驗證的。那么,由于簽名消息本身不包含chainId,攻擊者就可以利用簽名重放,在ETHW上提取同一個合約的資產。PolygonBridge

英國倫敦法院允許澳本聰對Cobra提起版權侵權訴訟:英國倫敦法院允許澳本聰對bitcoin.org網站的共同所有者Cobra提起版權侵權訴訟。澳本聰現在可以嘗試對Cobra提起訴訟,盡管被告可能居住在國外并且未透露姓名、身份或地址。法庭文件顯示,Cobra于1月20日在推特上向澳本聰的律師Ontier表示:“Bitcoin.org不基于英國,澳本聰對白皮書的版權主張可以很容易地被證實是虛假的”。澳本聰則指控Cobra錯誤地控制了bitcoin.org網站,并要求該網站刪除比特幣白皮書。Ontier律師代表表示:“本案將取決于法院是否相信澳本聰是比特幣白皮書的作者,擁有該白皮書的版權,并因此是中本聰”。目前尚不清楚Cobra是否會披露其身份,以捍衛這一主張,并避免出現有利于澳本聰的判決。此前Bitcoin.org官方表示,Bitcoin.org擁有托管比特幣白皮書的合法權利,將繼續托管比特幣白皮書,抵制虛假指控。(路透社)[2021/4/23 20:49:30]

和OmniBridge一樣,PolygonBridge是用于在Polygon和ETH主網進行資產轉移的橋。與OmniBridge不同,PolygonBridge依賴區塊證明進行提款,邏輯如下:functionexit(bytescalldatainputData)externaloverride{//...省略不重要邏輯//verifyreceiptinclusionrequire(MerklePatriciaProof

動態 | 美國SEC指控ICOBox及創始人違反美國證券法:根據周三的新聞稿,美國證券交易委員會(SEC)指控ICOBox及創始人Nikolay Evdokimov因2017年代幣銷售以及促進了其他ICO的活動而違反了美國證券法。據報道,Evdokimov通過向超過2000名個人出售ICOS代幣籌集了1460萬美元。他向客戶承諾,一旦開始交易,該代幣的價值將會增加。此外,該代幣的持有者被告知可以使用他們的ICOS代幣以折扣價購買ICOBox平臺上的其他代幣。[2019/9/19]

通過函數邏輯,不難發現合約通過2個檢查確定消息的合法性,分別是通過檢查transactionRoot和BlockNumber來確保交易真實發生在子鏈(PloygonChain),第一個檢查其實可以繞過,因為任何人都可以通過交易數據來構造屬于自己的transactionRoot,但是第二個檢查是無法繞過的,因為通過查看_checkBlockMembershipInCheckpoint邏輯可以發現:function_checkBlockMembershipInCheckpoint(uint256blockNumber,uint256blockTime,bytes32txRoot,bytes32receiptRoot,uint256headerNumber,bytesmemoryblockProof)privateviewreturns(uint256){(bytes32headerRoot,uint256startBlock,,uint256createdAt,)=_checkpointManager

聲音 | 眼鏡蛇 Cobra:如果澳本聰拋棄了 SV那么 SV也會被社區分叉:眼鏡蛇 Cobra發布推文指出,如果 CoinGeek和澳本聰拋棄了 SV轉而去挖 ABC,那么 SV應該也會被社區硬分叉,并且 PoW將被更改,并與 BTC合并。[2018/11/17]

對應的headerRoot是從_checkpointManager合約中提取的,順著這個邏輯我們查看_checkpointManager設置headerRoot的地方functionsubmitCheckpoint(bytescalldatadata,uintcalldatasigs)external{(addressproposer,uint256start,uint256end,bytes32rootHash,bytes32accountHash,uint256_borChainID)=abi

此變量最早在EIP712中定義,該變量中含有chainId,在設計之初就包含可能的多鏈場景的重放預防,但是根據uniswapV2pool合約的邏輯,如下:constructor()public{uintchainId;assembly{chainId:=chainid}DOMAIN_SEPARATOR=keccak256(abi

動態 | Cobinhood推出BTC、ETH和COB的保證金交易:據ambcrypto報道,Cobinhood最近宣布在其平臺上推出XRP和XEM的交易、提款和存款服務,以及為BTC、ETH和COB增加保證金交易及融資。新功能將于10月19日推出。用戶可使用3倍杠桿對BTC / USDT、ETH / USDT、COB / ETH進行交易,也可以通過4倍杠桿進行賣空交易。此外,用戶可以使用COB、BTC、ETH和USDT進行保證金融資。[2018/10/13]

DOMAIN_SEPARATOR在構造函數中已經定義好,也就是說在硬分叉后,就算鏈本身的chainId已經改變,pool合約也無法獲取到新的chianId來更新DOMAIN_SEPARATOR,如果未來用戶在ETHW上進行相關授權,那么ETHW上的permit簽名授權可以被重放到ETH主網上。除了Uniswap外,類似的協議還有很多,比如特定版本下的yearnvault合約,同樣也是采用了固定DOMAIN_SEPARATOR的情況。用戶在ETHW上交互的時候也需要防范此類協議的重放風險。協議設計之初的防范措施

對于開發者而言,在為協議本身定制消息簽名機制的時候,應該考慮后續可能的多鏈場景,如果路線圖中存在多鏈部署的可能,應該把chainId作為變量加入到簽名消息中,同時,在驗證簽名的時候,由于硬分叉不會改變分叉前的任何狀態,用于驗證簽名消息的chainId不應該設置為合約變量,而應該在每次驗證前重新獲取,然后進行驗簽,保證安全性。影響

對用戶的影響

普通在協議不支持分叉鏈的情況下,應盡量不在分叉鏈上進行任何操作,防止對應的簽名消息重放到主網上,造成用戶在主網上損失資產對交易所和托管機構的影響

由于很多交易所本身都支持了ETHW代幣,所以這些由于攻擊而提取出來的代幣都有可能充值到交易所中進行拋售,但需要注意的是,此類攻擊并不是鏈共識本身的問題而導致的惡意增發,所以對交易所而言,此類攻擊無需進行額外的防范總結

隨著多鏈場景的發展,重放攻擊從理論層面逐步變成主流的攻擊方式,開發者應當仔細考量協議設計,在進行消息簽名機制的設計時,盡可能的加入chainId等因子作為簽名內容,并遵循相關的最佳實踐,防止用戶資產的損失。

Tags:AININTHAIChainCOFFE MultichainblockchaintechnologyProvenance BlockchainBCG Chain

以太坊價格
穩定幣將退出歷史舞臺?一文解讀美國最新穩定幣草案_LEC:Krosscoin

引言 對于Crypto來說,數字資產的監管法案并不陌生。今天,眾議院公布了一項法案草案,旨在對Stablecoin做出監管,這對于Stablecoin的發行和抵押都會造成影響.

1900/1/1 0:00:00
淺談鏈游的未來:可定制性、身份和社交層_CRYP:Crypto Makers Foundation

加密游戲仍處于起步階段。區塊鏈可擴展性和基礎設施的最新進展現允許完全在鏈上構建新的游戲類型,這為加密經濟以及更廣泛的去中心化生態系統的集成開辟了道路.

1900/1/1 0:00:00
合并臨近,DeFi龍頭都受何影響、作何準備?_ETH:Aave SUSD

合并將顯著改變以太坊的運營方式、環保程度和敘事。有了這個硬分叉,以太坊將在新的共識機制PoS上運行,而不是原來的PoW。本文中,我們將介紹合并臨近時各DeFi龍頭治理論壇上發生的重要事件.

1900/1/1 0:00:00
一文探討Chainlink的新敘事:質押和CCIP_INK:HackerLink

自推出以來,Chainlink已經成為DeFi的一個基本組成部分。他們的價格反饋至今仍是最值得信賴的,許多DeFi協議依靠Chainlink的價格預言機來提供準確的價格數據.

1900/1/1 0:00:00
全面解讀Magic Eden的Launchpad運營現狀和創新項目_NFT:AGI

加密交易所一度盛行的Launchpad被NFT交易平臺借鑒。9月20日,OpenSea官方宣布即將推出SeaDrop功能,支持NFT項目直接在平臺上啟動和鑄造.

1900/1/1 0:00:00
a16z:詳解衡量AMM LP成本的新方法LVR_AMM:Mammon

自動做市商有兩種類型的參與者:一種是交易者,他們將一種代幣交易成另一種;另一種是流動性提供者,他們向AMM提供代幣流動性來獲取一部分交易費用.

1900/1/1 0:00:00
ads