最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

當(dāng)前位置:主頁(yè) > 區(qū)塊鏈 > 資訊 > Ronin Bridge提取跨鏈資產(chǎn)異常

Ronin Bridge 出現(xiàn)異常提取跨鏈資產(chǎn)行為根本原因分析

2024-08-10 10:22:56 | 來(lái)源: | 作者:佚名
據(jù)區(qū)塊鏈安全審計(jì)公司 Beosin Alert 監(jiān)測(cè)顯示,Ronin Bridge 項(xiàng)目出現(xiàn)異常提取跨鏈資產(chǎn)的行為,據(jù) Beosin 安全團(tuán)隊(duì)分析,此次異常行為的根本原因在于項(xiàng)目方升級(jí)合約時(shí),未正常初始化配置跨鏈交易確認(rèn)所需的 operator 權(quán)重

注意安全風(fēng)險(xiǎn)

作者:Beosin

封面:Ronin

8 月 6 日,據(jù)區(qū)塊鏈安全審計(jì)公司 Beosin Alert 監(jiān)測(cè)顯示,Ronin Bridge 項(xiàng)目出現(xiàn)異常提取跨鏈資產(chǎn)的行為。據(jù) Beosin 安全團(tuán)隊(duì)分析,此次異常行為的根本原因在于項(xiàng)目方升級(jí)合約時(shí),未正常初始化配置跨鏈交易確認(rèn)所需的 operator 權(quán)重,導(dǎo)致合約中的 minimumVoteWeight 參數(shù)為零,從而使得任何人的簽名都能通過(guò)跨鏈驗(yàn)證。

攻擊交易鏈接:

https://etherscan.io/tx/0x2619570088683e6cc3a38d93c3d98899e5783864e15525d5f5810c11189ba6cb

圖片

Beosin 目前正與項(xiàng)目方合作處理此次事件,本篇長(zhǎng)文,我們也將與大家分析本筆交易存在異常的點(diǎn)在于兩點(diǎn):

首先,提取數(shù)量過(guò)高。在 Ronin Bridge 中,有跨鏈提取額度的限制,如果跨鏈提取的額度太大,則需要轉(zhuǎn)至人工確認(rèn),而本次交易的跨鏈資產(chǎn) WETH 的限制額度為 4000。此筆交易提取了 3996 個(gè)。當(dāng)然這不是漏洞,但足以讓人引起了注意。

其次,查看這筆提取交易發(fā)現(xiàn),其跨鏈驗(yàn)證者 Operator 只有一個(gè),且對(duì)應(yīng)的操作權(quán)重為 0,那就可以確認(rèn)這筆交易是存在問(wèn)題的,因?yàn)樵?Ronin Bridge 項(xiàng)目中,用戶提取跨鏈資產(chǎn)需要得到多個(gè) Operator 的簽名,且累計(jì)的權(quán)重必須達(dá)到指定閾值。

事件分析:

分析鏈上合約和數(shù)據(jù)發(fā)現(xiàn),合約 Operator 是對(duì)應(yīng)的 Manager 合約獨(dú)立管理,并且它是一個(gè)治理合約,專門用于管理 ronin bridge,查看其交易記錄,發(fā)現(xiàn)最近一筆交易是對(duì) Ronin Bridge 合約進(jìn)行升級(jí),并且就在異常交易之前。所以漏洞的大致方面就基本明確,應(yīng)該是項(xiàng)目方升級(jí)合約所導(dǎo)致的問(wèn)題。

圖片

進(jìn)一步深入,對(duì)比 Ronin Bridge 升級(jí)前后的代碼發(fā)現(xiàn),事件所使用的關(guān)鍵參數(shù) “_totalOperatorWeight” 是本次升級(jí)新增的,并且需要在升級(jí)中調(diào)用 initializeV3 函數(shù)進(jìn)行 V3 版本新增的 “OperatorWeight” 進(jìn)行初始化。

圖片

但遺憾的是:升級(jí)合約的交易中,并未調(diào)用 initializeV3 函數(shù),而是錯(cuò)誤調(diào)用 initializeV4 函數(shù)進(jìn)行了 V4 版本的初始化。

圖片

至此,該事件的漏洞原理已經(jīng)明了,Ronin Bridge 項(xiàng)目方在合約升級(jí)時(shí)未正確對(duì)新增數(shù)據(jù)進(jìn)行初始化,導(dǎo)致對(duì)應(yīng)的關(guān)鍵數(shù)據(jù) “_totalOperatorWeight” 始終為 0,使得任意用戶的提取請(qǐng)求都可以通過(guò)審核。

至本文發(fā)布前,項(xiàng)目方已經(jīng)確認(rèn)該問(wèn)題,并發(fā)文說(shuō)了本次攻擊行為是白帽所為,并已進(jìn)行退款,并未造成過(guò)多的損失。這是一個(gè)好消息,但是也暴露了合約升級(jí)這一大易出錯(cuò)的點(diǎn)。

可升級(jí)合約


可升級(jí)合約是一種 solidity 智能合約設(shè)計(jì)方案,使得已部署的合約能夠在未來(lái)進(jìn)行升級(jí)或修改,而無(wú)需完全重新部署。這個(gè)概念的核心在于將合約的邏輯和數(shù)據(jù)分離,并利用 “delegatecall” 實(shí)現(xiàn)對(duì)邏輯合約的調(diào)用。

圖片

盡管這種模式提供了靈活的升級(jí)能力,我們也必須高度重視其安全性。由于代理合約負(fù)責(zé)轉(zhuǎn)發(fā)所有的用戶請(qǐng)求,它實(shí)際上成為了合約系統(tǒng)的入口點(diǎn)。任何對(duì)代理合約的攻擊都可能影響到整個(gè)合約的安全性。因此,在設(shè)計(jì)和部署可升級(jí)合約時(shí),確保代理模式的安全性至關(guān)重要。目前代理模式的合約需要注意以下幾點(diǎn):

函數(shù)選擇器沖突

在以太坊虛擬機(jī)(EVM)中,每個(gè)智能合約函數(shù)都有一個(gè)唯一的標(biāo)識(shí)符,稱為函數(shù)選擇器。這個(gè)選擇器是函數(shù)簽名的前 4 個(gè)字節(jié)的哈希值。函數(shù)選擇器用于確定合約中的具體函數(shù),確保調(diào)用請(qǐng)求被正確路由到相應(yīng)的函數(shù)實(shí)現(xiàn)。而在代理模式在調(diào)用函數(shù)時(shí),會(huì)先檢查代理合約中的函數(shù)接口是否能匹配調(diào)用函數(shù),如果不能匹配,才會(huì)利用 fallback 中的 delegatecall 調(diào)用邏輯合約。

因此,如果代理合約和邏輯合約中存在函數(shù)選擇器相同的函數(shù),當(dāng)代理合約接收到調(diào)用時(shí),它直接調(diào)用代理合約中的函數(shù),而不是邏輯合約,這可能導(dǎo)致預(yù)期之外的行為或安全漏洞。

存儲(chǔ)沖突

在以太坊虛擬機(jī)(EVM)中,合約的狀態(tài)數(shù)據(jù)存儲(chǔ)在特定的存儲(chǔ)槽中,每個(gè)存儲(chǔ)槽的地址由其索引(從 0 開(kāi)始)確定。合約中的每個(gè)狀態(tài)變量都對(duì)應(yīng)一個(gè)存儲(chǔ)槽,數(shù)據(jù)在這些槽中持久化。

在代理模式中,存儲(chǔ)槽通常是由代理合約管理的,而邏輯合約則通過(guò)代理合約來(lái)訪問(wèn)這些槽。存儲(chǔ)沖突可能發(fā)生在邏輯合約中新增的狀態(tài)變量與代理合約中現(xiàn)有的狀態(tài)變量槽發(fā)生沖突時(shí)。這可能導(dǎo)致代理合約中的數(shù)據(jù)被覆蓋或不一致

合約初始化問(wèn)題

在代理模式中,由于代理合約和邏輯合約的分離,而每次升級(jí)可能都涉及到變量的更改和新增,因此在升級(jí)時(shí)必須確保在正確設(shè)置這些關(guān)鍵變量。本次的 ronin bridge 事件就是因?yàn)檫@個(gè)問(wèn)題沒(méi)做好,導(dǎo)致被攻擊。

此外,需要確保初始化函數(shù) initialize 只能被調(diào)用一次,以防止在初始化后被惡意攻擊者重復(fù)調(diào)用,從而修改關(guān)鍵變量。

ldelegatecall 調(diào)用機(jī)制

delegatecall 是一種低級(jí)調(diào)用機(jī)制,它允許一個(gè)合約在其上下文中執(zhí)行另一個(gè)合約的代碼。這意味著,調(diào)用合約的存儲(chǔ)、地址和消息發(fā)送者保持不變,但執(zhí)行的邏輯來(lái)自被調(diào)用的目標(biāo)合約。雖 delegatecall 提供了強(qiáng)大的功能,但也需要謹(jǐn)慎使用。

如果目標(biāo)合約地址不存在,delegatecall 的執(zhí)行將失敗并返回失敗碼,但這種失敗可能不會(huì)被立刻發(fā)現(xiàn)。結(jié)果,代理合約中的調(diào)用可能看起來(lái)像是成功,但實(shí)際操作并未生效,從而導(dǎo)致系統(tǒng)的不一致或錯(cuò)誤。

代理合約權(quán)限管理

在代理模式中,權(quán)限管理是另一個(gè)關(guān)鍵的安全問(wèn)題。代理模式通過(guò)分離代理合約和邏輯合約的職責(zé),使得合約可以在不改變數(shù)據(jù)存儲(chǔ)的情況下進(jìn)行升級(jí),但同時(shí)也引入了復(fù)雜的權(quán)限管理問(wèn)題。正確地管理權(quán)限對(duì)于保證合約系統(tǒng)的安全性和穩(wěn)定性至關(guān)重要。

免責(zé)聲明:作為區(qū)塊鏈信息平臺(tái),本站所發(fā)布文章僅代表作者及嘉賓個(gè)人觀點(diǎn),與本站立場(chǎng)無(wú)關(guān)。文章內(nèi)的信息僅供參考,均不構(gòu)成任何投資建議及要約,并請(qǐng)您遵守所在國(guó)家或地區(qū)的相關(guān)法律法規(guī)。

免責(zé)聲明:本文只為提供市場(chǎng)訊息,所有內(nèi)容及觀點(diǎn)僅供參考,不構(gòu)成投資建議,不代表本站觀點(diǎn)和立場(chǎng)。投資者應(yīng)自行決策與交易,對(duì)投資者交易形成的直接或間接損失,作者及本站將不承擔(dān)任何責(zé)任。!

你可能感興趣的文章

幣圈快訊

  • 過(guò)去24小時(shí)全網(wǎng)爆倉(cāng)3.08億美元多單爆倉(cāng)2.28億美元空單爆倉(cāng)8038.08萬(wàn)美元

    2026-07-30 00:30
    據(jù)Coinglass數(shù)據(jù),過(guò)去24小時(shí)全網(wǎng)爆倉(cāng)3.08億美元,多單爆倉(cāng)2.28億美元,空單爆倉(cāng)8,038.08萬(wàn)美元。其中比特幣多單爆倉(cāng)1,135.94萬(wàn)美元,比特幣空單爆倉(cāng)2,090.69萬(wàn)美元,以太坊多單爆倉(cāng)2,941.49萬(wàn)美元,以太坊空單爆倉(cāng)1,813.15萬(wàn)美元。 此外,最近24小時(shí),全球共有96,393人被爆倉(cāng),最大單筆爆倉(cāng)單發(fā)生在Binance-ETHUSDC價(jià)值295.72萬(wàn)美元。
  • Coinbase宣布將新增支持Grvt(GRVT)

    2026-07-30 00:09
    7月30日,Coinbase宣布將新增支持Grvt(GRVT),用戶現(xiàn)已可在Coinbase網(wǎng)頁(yè)版、CoinbaseApp生成GRVT充值地址,適用于已開(kāi)放相關(guān)交易服務(wù)的地區(qū)。
  • 美股三大股指悉數(shù)跌超1%

    2026-07-30 00:08
    7月30日,美股三大股指悉數(shù)跌超1%,標(biāo)普500指數(shù)跌幅擴(kuò)大至1%,納指現(xiàn)跌1.3%,道指現(xiàn)跌1.6%。
  • 布倫特原油站上88美元/桶日內(nèi)漲7.40%

    2026-07-30 00:08
    7月30日,布倫特原油站上88美元/桶,日內(nèi)漲7.40%。
  • 烏克蘭機(jī)構(gòu):頓涅茨克兩重鎮(zhèn)處于俄軍火力控制下

    2026-07-30 00:07
    烏克蘭開(kāi)源情報(bào)機(jī)構(gòu)DeepState29日在社交媒體發(fā)文稱,俄軍已在頓涅茨克地區(qū)的斯拉維揚(yáng)斯克和克拉馬托爾斯克兩座城市前線40公里縱深形成火力控制并發(fā)動(dòng)持續(xù)攻擊。俄國(guó)防部當(dāng)天發(fā)布的戰(zhàn)報(bào)稱,俄軍當(dāng)天在頓涅茨克地區(qū)等多地?fù)魯蹩颂m軍隊(duì)。
  • 查看更多
更多

熱門幣種

  • 幣種
    最新價(jià)格
    24H漲跌幅
  • bitcoin BTC 比特幣

    BTC

    比特幣

    $ 63965.59¥ 433040.64
    +0.1%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 1891.47¥ 12805.06
    -1.35%
  • tether USDT 泰達(dá)幣

    USDT

    泰達(dá)幣

    $ 0.9986¥ 6.7604
    -0.04%
  • binance-coin BNB 幣安幣

    BNB

    幣安幣

    $ 568.42¥ 3848.14
    -0.8%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 1.001¥ 6.7766
    +0.02%
  • ripple XRP 瑞波幣

    XRP

    瑞波幣

    $ 1.0678¥ 7.2288
    +0.3%
  • solana SOL Solana

    SOL

    Solana

    $ 73.0745¥ 494.7
    -1.59%
  • tron TRX 波場(chǎng)

    TRX

    波場(chǎng)

    $ 0.3264¥ 2.2096
    +0.62%
  • hyperliquid HYPE Hyperliquid

    HYPE

    Hyperliquid

    $ 54.7967¥ 370.96
    -0.85%
  • dogecoin DOGE 狗狗幣

    DOGE

    狗狗幣

    $ 0.07008¥ 0.4744
    -1.01%
城固县| 大洼县| 婺源县| 河北区| 宁化县| 林口县| 宜都市| 南江县| 宣威市| 垦利县| 泰顺县| 论坛| 泰和县| 咸宁市| 江津市| 博白县| 龙南县| 阿拉善右旗| 靖州| 南木林县| 奉贤区| 尼勒克县| 柘荣县| 平利县| 德清县| 康马县| 安阳县| 邯郸市| 上高县| 贵阳市| 宝坻区| 兴国县| 衡阳县| 商南县| 河北区| 蚌埠市| 潮州市| 临泽县| 卓尼县| 长春市| 灵川县|