Cobo安全團隊解讀:Stargate 跨鏈橋的底層協議 LayerZero 重大安全漏洞

区块链安全 2年前 (2022) admin
476 0 0

此篇文章由 Cobo 區塊鏈安全研究團隊供稿,團隊成員來自知名安全實驗室,有多年網絡安全與漏洞挖掘經驗,曾協助谷歌 、微軟處理高危漏洞,並獲得谷歌、微軟等廠商致謝,曾在微軟 MSRC 最有價值安全研究員Top 榜單中取得卓越的成績。團隊目前重點關注智能合約安全、DeFi 安全等方面 ,研究並分享前沿區塊鏈安全技術。
我們也希望對加密數字貨幣領域有研究精神和科學方法論的終身迭代學習者可以加入我們的行列,向行業輸出思考洞察與研究觀點!

此篇是 Cobo Labs 的第  7  文章。



日前 Stargate 跨鏈橋的底層協議 LayerZero更新了默認的交易驗證合約,經 Cobo 區塊鏈安全團隊分析,此次更新修復了之前版本中存在的嚴重漏洞,該漏洞可能導致所有依托 LayerZero 構建的跨鏈項目的資產受到影響。

Stargate Finance(https://stargate.finance/ )是近日最受人矚目的跨鏈橋項目,截至發文時 TVL 已超過 35 億美金。

Stargate 跨鏈橋底層基於 LayerZero 實現跨鏈消息傳遞。LayerZero 完成跨鏈消息傳遞的基本原理是:

  • Oracle 會將源鏈上的 blockhash 和 block receiptsRoot 提交到目標鏈上

  • Relayer 會將源鏈上跨鏈消息所在交易的 receipt 以及該 receipt 與 block receiptsRoot 的路徑關係提交到目標鏈上,此時目標鏈上的交易驗證合約會基於 Ethereum MPT [1] 的依賴關係,對 Relayer 所提交的 receipt 和 Oracle 所提交的 receiptsRoot 的對應關係進行驗證

  • 如果驗證通過,該 receipt 被認為是合法的 receipt,並向上層協議轉發,觸發後續的跨鏈資產操作


LayerZero 3 月 28 日在未發表任何公告的情況下更新了跨鏈使用的驗證合約[2]。Cobo 安全團隊通過對比原始驗證合約(MPTValidator)和新驗證合約(MPTValidatorV2)代碼[3],發現本次更新是對之前重大安全漏洞的修復。

補丁核心代碼如下:

Cobo安全團隊解讀:Stargate 跨鏈橋的底層協議 LayerZero 重大安全漏洞

原始漏洞代碼在進行 MPT 驗證時,通過外部傳入的 pointer 來獲取下一層計算所用到的 hashRoot。這裡使用 solidity 底層 add, mload 等彙編指令從 proofBytes 中獲取 hashRoot ,由於沒有限制 pointer 在 proofBytes 長度內,因此攻擊者可以通過傳入越界的 pointer,使合約讀取到 proofBytes 以外的數據作為下一層的 hashRoot。這樣就存在偽造 hashRoot 的可能,進一步導致偽造的交易 receipt 可以通過 MPT 驗證。最終可造成的後果是,在 Oracle 完全可信的前提下,Relayer 仍可以單方面通過偽造 receipt 數據的方式來實現對跨鏈協議的攻擊,打破了 LayerZero 之前的安全假設。

目前 LayerZero 協議的 Oracle 是一個類似多籤的合約,三位 admin 中的兩位提交相同的數據後,會被認為數據是有效的。但是 Relayer 是單籤 EOA 控制,任何一個 Relayer 都可以提交攻擊數據,完成所有的攻擊流程。

補丁後的代碼使用傳入的 path 並使用 safeGetItemByIndex 函數獲取 MPT 下一層的 hashRoot,保證了 hashRoot 存在於當前的 proofBytes 中,從而可以使 MPT 驗證正確的進行下去。

此次爆出漏洞的代碼是 LayerZero 協議中最核心的 MPT 交易驗證部分的代碼,是整個 LayerZero 及上層協議(例如 Stargate)正常運作的基石。雖然LayerZero項目方已經修復了目前明顯的漏洞,但是不排除還存在其他被攻擊漏洞的可能性。此外,LayerZero 項目的關鍵合約目前大都還被 EOA 控制,沒有採用多簽機製或者時間鎖機制。如果這些特權 EOA 的私鑰一旦洩漏,也可能會導致所有上層協議的資產受到影響。

在此,Cobo 區塊鏈安全團隊提醒投資者註意新項目的風險,同時呼籲 LayerZero 項目方在對合約代碼進行深度審計的同時,也盡快將目前 EOA 控制的特權轉移給多籤或者時間鎖合約,減少攻擊風險敞口。

Reference
  1. https://eth.wiki/fundamentals/patricia-tree

  2. https://etherscan.io/tx/0xf4f0495bfed37d4d95b3342ead0962433c7973f240b9b0739faa91e6ccac9d40

  3. https://www.diffchecker.com/RJdDTCx7




Cobo Labs 希望協助加密世界投資者規避風險、提高收益,為傳統金融機構、風險投資公司、通證基金、個人投資者、交易所、媒體等夥伴提供客觀、有深度的數據分析。

關於亞太最大的加密貨幣託管及資管平台 Cobo:我們向機構提供領先的安全託管與企業資管業務;我們向全球高淨值合格投資人提供加密數字錢包業務和豐富靈活的定期與結構化產品,我們關注金融創新,並於 2020 年第三季度成立了第一家面向全球機構的基金產品「DeFi Pro」。

 



原文始发于微信公众号(Cobo Labs):Cobo安全團隊解讀:Stargate 跨鏈橋的底層協議 LayerZero 重大安全漏洞

版权声明:admin 发表于 2022年3月29日 下午2:27。
转载请注明:Cobo安全團隊解讀:Stargate 跨鏈橋的底層協議 LayerZero 重大安全漏洞 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...