近期BNB跨鏈橋受攻擊,導致近$570M損失。這一事件再次把跨鏈橋的安全性問題推上熱議。根據Messari8月的研報數據,過去一年內共有8起跨鏈橋攻擊事件,構成將近$2B美金的資產損失。
Dr.DODO今天通過深度分析PolyNetwork,Multichain及BNB橋事件,從合約層面展示跨鏈橋機制設計弱點。
首先,讓我們簡要回顧跨鏈橋的基本概念,以及設計機制分類。
不同的公鏈如同孤立的無需許可的計算機,具有不同的共識機制,相互之間無法直接通訊。跨鏈橋的存在就是為了使信息能夠不被篡改地從一個計算機傳遞到另一個計算機上。
跨鏈橋的核心是解決一個共識問題:跨鏈橋如何確定源鏈上的狀態已發生改變,進而在目標鏈上鑄造等量的資產?
不同的跨鏈橋對這個共識問題有不同解決方案,如采用中心化的橋,委員會,PoS機制,輕客戶端等。而不同的解決方案在信息傳遞的安全性,成本,延遲性上有所取舍。
摩根大通CEO:銀行業危機“尚未結束”:4月4日消息,摩根大通CEO戴蒙表示,目前的危機還沒有結束,即使它已經過去,但它在未來幾年還會產生影響。戴蒙在致股東的年度信函中表示,硅谷銀行和瑞士信貸最近的倒閉以及銀行系統的相關壓力突顯出,僅僅滿足監管要求是不夠的。戴蒙舉例了利率風險敞口、持有至到期投資組合的公允價值,以及監管機構和市場已知的硅谷銀行未投保儲戶數量。然而,戴蒙表示,最近監管要求的任何變化都不太可能產生影響,因為只有少數風投公司同步轉移了他們的存款。他稱,當市場、評級機構和儲戶關注這些相互沖突的因素時,所有這些因素都變得至關重要。[2023/4/5 13:44:50]
詳細分析可以參考此前文章《跨鏈漫談:深度解析16個跨鏈方案權衡》:
接下來,我們進一步的把跨鏈流程進行拆解,了解跨鏈具體涉及到哪些步驟,這樣在討論不同攻擊的時候,我們可以更好的理解出錯的點在哪里。
跨鏈流程:
1.當源鏈用戶發起一個狀態改變,如一筆交易;此事件將由源鏈驗證者進行驗證出塊。
2.此時跨鏈橋去監聽此跨鏈事件,下載并對進行驗證、簽名。
Gearbox Protocol 已啟動 GEAR/ETH 曲線拍賣計劃:金色財經報道,DeFi 可組合型杠桿協議 Gearbox Protocol 已啟動 GEAR/ETH 曲線拍賣計劃 Cider'ed Liquidity,GEAR 持有者和 ETH 持有者都可以分別參與本次拍賣活動。具體而言,12 月 13 日至 14 日 GEAR 持有者可以向 Cider 合約存入 GEAR,12 月 15 日- 16 日任何人都可以向 Cider 合約提供 ETH。12 月 16 日?Cider?將引導所收到的 GEAR 和 ETH 配對,但前提是合約中的 GEAR 和 ETH 滿足最低要求,然后智能合約會創建一個 Curve V2 流動性池,并且用戶將被“計算”成比例的 LP 代幣。[2022/12/13 21:42:12]
3.接下來被驗證簽署后的事件被傳輸至目標鏈。
4.由目標鏈上的驗證者進行驗證出塊。
5.由此,源鏈上發起的狀態改變得以在目標鏈被執行。
講述跨鏈橋機制分類的文章已經很多,我們在此按驗證方法把跨鏈橋分為:
以色列風投Cyberstarts完成6000萬美元募資:8月25日消息,加密貨幣平臺Fireblocks投資方、以色列風險投資公司Cyberstarts宣布完成6000萬美元種子階段募資,目前其總資產規模已達3.74億美元。
Cyberstarts于2018年創立,創始人GiliRaanan系紅杉資本合伙人,截至2021年,該風投旗下投資組合總估值達到200億美元。(therecord)[2022/8/25 12:47:16]
-外部性驗證:PoS
-樂觀性驗證
-本地驗證:輕客戶端
按資產轉移方式把跨鏈橋分為:
-燃燒+鑄造
-鎖定+鑄造
-在源鏈/目標鏈部署流動性池
印度風投Fundamentum第二支基金完成2.27億美元募資,將專注于Web3和電動汽車等領域:金色財經報道,印度風投Fundamentum宣布旗下第二支基金已經完成2.27億美元募資,其中25%的資金來自于Fundamentum團隊,該風投曾在今年五月透露這只基金將專注于Web3和電動汽車等領域的投資,據悉該基金每年將選擇4-5家初創公司進行種子輪階段的投資,預計投資規模將在2500-4000萬美元之間。Fundamentum的第一支基金曾募集到1億美元,由Nandan Nilekani和Sanjeev Aggarwal于2017年推出,目前擔任該風投聯合創始人兼普通合伙人的Sanjeev Aggarwal透露,得益于首支基金的成功,他們才打算進一步深化投資計劃。(recentlyheard)[2022/8/20 12:37:14]
PolyNetwork攻擊案例分析
簡單來說,PolyNetwork的工作機制是作為中間鏈去接收發送鏈的區塊頭,相當于所有它連接的鏈的輕客戶端。
比如,當Ontology上發起一筆交易,區塊頭會被送到PolyNetwork上。區塊頭含有stateroothash,當交易與證明到達PolyNetwork,這上面的keepers就可以進行驗證。若合法,PolyNetwork會自己發送一個event,目標鏈的relayer聽到后,會轉發到目標鏈的EthCrossChainManager合約上。
Biconomy社區已投票通過將Gasless產品引入Optimism的投票:7月25日消息,區塊鏈開發工具提供商Biconomy社區現已投票通過將Gasless產品引入Optimism的投票。Biconomy的Gasless產品可以幫助DApp實現無Gas交易。 此前,Biconomy已搭建在Optimism上,其跨鏈流動性橋Hyphen也已于6月20日在Optimism上線。[2022/7/25 2:35:59]
在了解PolyNetwork工作機制之后,我們來看受攻擊的合約。
首先,LockProxy是控制資產的合約。其次,EthCrossChainManager(CCM)的優越性有兩點:
1)只有它能調用LockProxy進行unlock或者burn資產。
2)CCM掌管著CrosschainData,合約保存著PolyNetwork的keeper公鑰名單。
也就是說,當跨鏈交易的數據發到CCM之后,合約可以從這個數據中恢復出一些簽名的地址。
然后它會拿這些地址和它自己存的keeper名單做對比,看看是不是有2/3的keeper在這些地址里面。如果有,就認為發送過來的數據是合法的。
黑客通過bruteforce撞出了CCM中特定的“SolidityfunctionID”,從而得以調用EthCrossChainData的合約,并把其中存的keeper名單里的公鑰匙換成自己的,這樣他就可以任意的給CCM發信息,自己去進行簽署,從而操作lockproxy。
所以上述攻擊出現的問題有兩點:
1)任意的用戶可以進行的遠程調用合約。在這個事件之后,項目方加入了白名單機制,只有指定方可以調用這個非常特別的合約。
2)合約之間的從屬關系,導致關鍵的合約容易被篡改。
Multichain攻擊案例分析
Multichain是可實現跨鏈路由的橋,通過封裝資產“anyToken”,Multichain可實現任意資產的任意跨鏈。首先,當用戶把DAI放到池子里,等量的anyDAI就會被鑄造出來,然后由網絡中的驗證人確定這一事件,在B鏈鑄造出等量的anyDAI,然后燃燒掉A鏈的anyDAI。
受攻擊的合約中,關注下圖標記的1,2,3行:首先,從anyDAI?這個合約拿到它底層資產合約的地址,即DAI。其次,permit()?使用戶通過簽名來允許路由器從用戶地址中提款。最后,safetransferfrom是一個真正的提款動作。
注:簽名了的交易被表示為(v,r,s)
可以看到黑客惡意部署的代幣地址,和無效的簽名。
回顧8.1中的三行代碼,黑客重新部署了anyDAI導致底下OUTPUT的底層資產解析出來是WETH的地址。在此,Multichain在這里的失誤就是它應該檢驗代幣地址是不是來自Multichain的代幣。
第二個微妙的問題就是permit是erc20的一個擴展協議,但是由于比weth出來的時間晚,所以weth沒有支持這個特性。那么如果去調用一個合約的一個不存在的方法,EVM會自動去調用這個合約的fallback方法;然而,fallback方法在這個情況下也沒報錯,所以,permit功能也被成功執行。
而第三行之所以可以執行,我們可以認定因為Multichain之前請求了WETH無限的花費上線,黑客通過濫用了這個approval把WETH從受害者的賬戶轉出。但值得注意的是很多的協議都會使用,以幫助用戶節省gas費用。
BNB橋攻擊案例簡述
Binance事件的黑客用RangeProof偽造Merkleproof證明某些數據存在Merkletree。
Proof理論上難偽造。
BNB橋涉及數據結構IAVL:可理解為等價于以太坊的Merklepatriciatrie,是一種custommerklizedbalancebinarysearchtree,InnerNode分為Left和Right兩個字段。
在這里IAVL的RangeProof存在的重要問題就是它允許Left和Right兩個字段可以同時被填充。而當Left與Right都存在的情況下會忽略Right進行RootHash計算。
擊者基本上通過將信息粘貼到Right字段中的優勢,而這些信息從未得到驗證,也從未影響哈希計算,以使驗證者相信某些Leaf是Tree的一部分。從而,成功地偽造了MerkleProof。
關于BNB橋攻擊中更復雜的合約調用邏輯可以閱讀:
https://mp.weixin.qq.com/s/y9jiMKrGThN8J4agFnFpJw
Tags:ETHCHAPROChaineth錢包地址大全ExchangeCoinProtectors of the RealmAuditchain
為什么RedditNFTs不可忽視:1、300萬錢包地址,超opensea用戶熟,其中250萬是reddit帶入的新用戶;2、在polygon上mint.
1900/1/1 0:00:00有興趣了解如何使用@DefiLlama進行研究嗎?這是有關如何使用“穩定”和“鏈”儀表板查找有資金流入的生態系統的快速指南。另外,我會給你額外的工具來幫助你做盡職調查.
1900/1/1 0:00:00NFT聚合平臺如何促進行業發展?早在2016-2018年,以?OpenSea,MakersPlace,SuperRare?為代表的第一批NFT交易市場橫空出世.
1900/1/1 0:00:00傳統互聯網中,一個人的身份象征往往是通過其現實世界中的名聲、行為等形成。而Web3中,身份的象征則是通過加密錢包中的資產、交易行為、收藏的NFT等來展示.
1900/1/1 0:00:00雖然Crypto處于熊市,但是顯然Defi的Builder們可沒有太多的時間怨聲嘆氣,因為還有無數的競爭博弈在等著他們.
1900/1/1 0:00:00在未來幾年里,利用加密原生軌道的消費者社交應用程序將會崛起。每一次重大的技術浪潮都會催生出一系列新的社交應用.
1900/1/1 0:00:00