比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

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

Author:

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

前言

隨著ETH升級PoS?共識系統,原有的PoW機制的ETH鏈在部分社區的支持下成功硬分叉。但是,由于某些鏈上協議在設計之初沒有對可能的硬分叉做好準備,導致對應的協議在ETHW分叉鏈存在一定的安全隱患,其中最為嚴重的安全隱患則是重放攻擊。

在完成硬分叉后,ETHW主網出現了至少2起利用重放機制進行的攻擊,分別是OmniBridge的重放攻擊和PolygonBridge的重放攻擊。本文將以這兩個事件作為案例,分別分析重放攻擊對分叉鏈的影響,以及協議應如何防范此類攻擊。

重放的類型

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

交易重放

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

簽名消息重放

簽名消息重放區別于交易重放,是針對的用私鑰簽名的消息(e.g.Coboisthebest)進行的重放,在簽名消息重放中,攻擊者不需要對整個交易進行重放,而只需將簽名的消息進行重放即可。在消息簽名中,以Coboisthebest為例,由于該消息中并不含任何和鏈相關的特殊參數,所以該消息在簽名后理論上是可以在任意的分叉鏈中均是有效的,可以驗簽通過。為了避免該消息在分叉上的重放,可以消息內容中添加chainId,如Coboisthebest+chainId()。在帶上特定的鏈標識符之后,在不同分叉鏈上的消息內容不同,消息簽名不同,因此無法直接進行重放復用。

Cobo今日正式在Opensea上線 “ Cobo 4th Anniversary NFT ”:據官方消息,機構托管與資管技術服務商 Cobo今日正式在Opensea上線 “ Cobo 4th Anniversary NFT ” ,創始人神魚在 Twitter 贈予1000位行業建造者和Cobo的同行人;以慶祝 Cobo 成立四周年了。并公布三問三答活動提供優質內容的投資者白名單。

據悉,Cobo 在今年9月宣布完成由 DST Global、IMO Ventures 和 A&T Capital領投的 4000 萬美元 B 輪融資。并推出合規DeFi基金 與 DaaS -“DeFi as a Service”服務,為全球金融機構(及其客戶)創建的允許他們安全合規快捷接入 DeFi 的一套標準化的 SaaS 化的服務。[2021/12/20 7:51:21]

OmniBridge和PolygonBridge的攻擊原理

下面我們來分析OmniBridge和PolygonBridge的攻擊原理。首先拋出結論,這兩起攻擊事件本身都不是交易重放攻擊,原因在于ETHW使用了區別于ETH主網的chainId,所以直接重放交易無法被驗證通過。那么剩下的選項就只有消息重放了,那下面我們就來逐個分析它們各自是如何在ETHW分叉鏈上被消息重放攻擊的。

OmniBridge

OmniBridge是用于在xDAI和ETH主網之間進行資產轉移而使用的橋,主要依賴橋的指定的validator提交跨鏈消息完成跨鏈接資產的轉移。在OmniBridge中,validator提交的驗證消息的邏輯是這樣的

英國倫敦法院允許澳本聰對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]

在這個函數中,首先會根據#L2行的簽名檢查來確定提交的簽名是不是由指定的validator進行簽名,然后再在#L11行對data消息進行解碼。從解碼內容上看,不難發現,返回字段中包含了chainId字段,那么是不是說明無法進行簽名消息重放呢?我們繼續分析。

Cobra:希望在市值前10幣種中看到另一個“比特幣”:8月6日晚間,針對近期BCH社區圍繞DAA算法升級問題所引發的討論,Bitcoin.org網站共同所有者Cobra發推稱,BCH有可能將在11月再次分裂。看起來像是在ABC團隊要求,“將新區塊獎勵的8%代幣分配到指定地址”。Cobra稱,希望在市值前10名幣種中看到另一個“比特幣”。此前8月4日消息,圍繞DAA算法升級,BCH開發者團隊產生分歧。Jonathan Toomim曾發文嚴厲控訴Bitcoin ABC團隊專斷推進Grasberg算法。不過今日早間消息,包括Jonathan Toomim在內的多位BCH開發者已發布聯合聲明,將于11月15日升級實施ASERT DAA算法。而此后,Bitcoin ABC首席開發者Amuary也發文,同意實施ASERT難度調整提案。[2020/8/7]

通過追查_executeMessage函數,發現函數在#L11行對chaindId進行了合法性的檢查

通過繼續分析后續的函數邏輯,不難發現其實針對chainId的檢查其實并沒有使用evm原生的chainId操作碼來獲取鏈本身的chainId,而是直接使用存儲在uintStorage變量中的值,那這個值很明顯是管理員設置進去的,所以可以認為消息本身并不帶有鏈標識,那么理論上就是可以進行簽名消息重放的。

Cobra:BTC維穩將消除價格焦慮 促使專家討論應用和基本面:7月13日,比特幣官方論壇Bitcoin.org持有人眼鏡蛇Cobra發布推特稱,比特幣的穩定性是一件好事。且希望比特幣價格在未來3-4年保持在當前這個范圍內。因為這樣會允許有良好意圖的人積累比特幣,并把那些把比特幣視為快速致富計劃的貪婪的人趕出去。他提醒稱,如果你在比特幣領域,你應該考慮幾十年后的情況。與此同時,Cobra還表示,幸運的是Robinhood正在吞噬千禧一代中貪婪的散戶投資者,讓他們沖進股市:大多數人會賠錢,少數人會賺錢,但至少他們不會和我們競爭積累比特幣。不過,最大的好處將是維護比特幣社區的集體心理健康:如果價格或多或少保持不變,價格焦慮將消失,更多比特幣專家將討論具體用例和基本面,而不是過度關注價格。[2020/7/13]

由于在硬分叉過程中,分叉前的所有狀態在兩條鏈上都會原封不動的保留,在后續xDAI團隊沒有額外操作的情況下。分叉后ETHW和ETH主網上OmniBridge合約的狀態是不會有變化的,也就是說合約的validator也是不會有變化的。根據這一個情況,我們就能推斷出validator在主網上的簽名也是可以在ETHW上完成驗證的。那么,由于簽名消息本身不包含chainId,攻擊者就可以利用簽名重放,在ETHW上提取同一個合約的資產。

PolygonBridge

和OmniBridge一樣,PolygonBridge是用于在Polygon和ETH主網進行資產轉移的橋。與OmniBridge不同,PolygonBridge依賴區塊證明進行提款,邏輯如下:

吳忌寒回應Cobra:請閱讀中本聰關于51%攻擊的分析:比特大陸CEO吳忌寒回應Bitcoin官論壇持有人Cobra吐槽:在修改原始白皮書前,請閱讀中本聰關于51%攻擊的分析,它并不會是比特幣的終結者。今早Cobra表示:吳忌寒和楊海坡可輕松實現對比特幣的51%攻擊,徹底擊垮1300億美元網絡。[2018/6/8]

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

對應的headerRoot是從_checkpointManager合約中提取的,順著這個邏輯我們查看_checkpointManager設置?headerRoot的地方

不難發現在#L2行代碼中,簽名數據僅對borChianId進行了檢查,而沒有對鏈本身的chainId進行檢查,由于該消息是由合約指定的proposer進行簽名的,那么理論上攻擊者也可以在分叉鏈上重放proposer的消息簽名,提交合法的headerRoot,后續再通過PolygonBridge進行在ETHW鏈中調用exit函數并提交相應的交易merkleproof后就可以提現成功并通過headerRoot的檢查。

以地址?0x7dbf18f679fa07d943613193e347ca72ef4642b9?為例,該地址就成功通過以下幾步操作完成了對ETHW鏈的套利

首先依靠鈔能力主網交易平臺提幣。

在Ploygon鏈上通過PolygonBridge的depositFor函數進行充幣;

ETH主網調用PolygonBridge的exit函數提幣;

復制提取ETH主網proposer提交的headerRoot;

在ETHW中重放上一步提取的proposer的簽名消息;

在ETHW中的PolygonBridge上調用exit進行提幣

為什么會發生這種情況?

從上面分析的兩個例子中,不難發現這兩個協議在ETHW上遭遇重放攻擊是因為協議本身沒有做好防重放的保護,導致協議對應的資產在分叉鏈上被掏空。但是由于這兩個橋本身并不支持ETHW分叉鏈,所以用戶并沒有遭受任何損失。但我們要考慮的事情是為什么這兩個橋在設計之初就沒有加入重放保護的措施呢?其實原因很簡單,因為無論是OmniBridge還是PolygonBridge,他們設計的應用場景都非常單一,只是用于到自己指定的對應鏈上進行資產轉移,并沒有一個多鏈部署的計劃,所以沒有重放保護而言對協議本身并不造成安全影響。

反觀ETHW上的用戶,由于這些橋本身并不支持多鏈場景,如果用戶在ETHW分叉鏈上進行操作的話,反而會在ETH主網上遭受消息重放攻擊。

以UniswapV2為例,目前在UnswapV2的pool合約中,存在permit函數,該函數中存在變量PERMIT_TYPEHASH,其中包含變量DOMAIN_SEPARATOR。

此變量最早在EIP712中定義,該變量中含有chainId,在設計之初就包含可能的多鏈場景的重放預防,但是根據uniswapV2pool合約的邏輯,如下:

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

協議設計之初的防范措施

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

影響

對用戶的影響

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

對交易平臺和托管機構的影響

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

總結

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

Cobo是亞太地區最大的加密貨幣托管機構,自成立以來已為超過500家行業頂尖機構以及高凈值人士提供卓越的服務,在保證加密資產安全存儲的前提下,同時兌現了加密資產的穩健增益,深受全球用戶信賴。Cobo專注于搭建可擴展的基礎設施,為機構管理多類型的資產提供安全托管、資產增值、鏈上交互以及跨鏈跨層等多重解決方案,為機構邁向Web3.0轉型提供最強有力的技術底層支持和賦能。Cobo旗下包含CoboCustody、CoboDaaS、CoboMaaS、Cobo?StaaS、CoboVentures、CoboDeFiYieldFund等業務板塊,滿足您的多種需求。

Tags:COBETHAINDGECOB價格usepeerethereumBCHAINledger錢包支持usdt么

火必下載
WEB:總結:Web3用戶體驗的四個層

本文試圖為Web3UX創建一個更大的框架。Web3和Web2之間有太多的新元素,比如gas費、代幣、錢包和智能合約,我們需要考慮的不僅僅是UI。現在已經有更多的層要去考慮.

1900/1/1 0:00:00
數字資產:拜登的 9 份報告 「藏著」美國 Web3 的未來

今年拜登政府已經發布了超過9份加密報告,顯示出美國成為加密及Web3全球領導者的野心。 撰文:周舟 來源:虎嗅APP 「我們要制定Web3的國際規則,不然幾十年后子孫輩們就會像現在一樣被人掐脖子.

1900/1/1 0:00:00
DEFI:一文了解DeFi固定收益協議及新債券標準ERC-3475

當前,固定收益產品在全球范圍內有大約119億美元的總可尋市場。但在DeFi領域中,這個數字還不到數百萬美元.

1900/1/1 0:00:00
加密貨幣:星展銀行將通過APP向財富管理客戶推出自助式加密貨幣交易功能

10月9日消息,據新加坡星展銀行官方消息,自助式加密貨幣交易功能將在其數字銀行APP上正式上線,讓合資格的星展財富管理投資者能夠在星展數字交易平臺上便捷完成加密貨幣交易.

1900/1/1 0:00:00
EFI:史上最全Gamefi上下游發展現狀及展望(上)

01摘要 gamefi相比web3其他賽道會有更多web2的用戶、有更多的交互需要更好的性能,并且鏈上資產的同質化很高、數量很多,所以需要更加垂直化的web3基礎設施.

1900/1/1 0:00:00
AMP:穿越山谷的英偉達 會成為元宇宙最重要的基礎設施嗎?

編者按:人們往往會用波峰和波谷來形容股票的走勢。但是往往卻會忽視最重要的時間維度。從短期看,你也許能分出明顯的波峰波谷,但如果再放眼到更長的時間維度,過去站在最高點的波峰,也不過是站在未來最低點.

1900/1/1 0:00:00
ads