隨著區塊鏈和鏈上項目的增長,對多鏈項目的需求正在變多,跨鏈橋業務也相應的在增加。哪里有生意,哪里就會有安全問題。跨鏈橋在為用戶提供便利的同時,也為黑客提供了便利,PolyNetwork被攻擊后,跨鏈橋的安全問題也隨之出現。
什么是跨鏈橋?
區塊鏈橋,也稱為跨鏈橋,其連接兩個區塊鏈,允許用戶從一個鏈向另一個鏈發送加密貨幣。
跨鏈橋通過兩個獨立平臺之間的代幣轉賬、智能合約和數據交換等其他反饋和指令,實現了資金的跨鏈操作。
一種常見的跨鏈橋的操作如下:
用戶將資產A發送到原鏈上的一個存儲地址,并支付過橋費;資產A被智能合約中隨機選擇的驗證者或受信任的托管人鎖定;在目標鏈上發布相同數量的資產A1,并將資產A1發送到目標鏈上的用戶地址。跨鏈橋存在漏洞
跨鏈橋常見漏洞
ChainSwap攻擊事件:
2021年7月,跨鏈資產橋項目ChainSwap遭到攻擊。跨鏈橋上的二十多個項目受到攻擊,損失了近800萬美元的資產,導致十多個項目暴跌99%。
這種攻擊主要是由于該協議沒有嚴格檢查簽名的有效性,攻擊者可以使用自己生成的簽名對交易進行簽名。
OKX Web3錢包現已正式開放BRC-20代幣質押:7月19日消息,OKX Web3錢包現已正式開放BRC-20代幣質押功能,當前質押池已超過100+。用戶可以通過DeFi板塊質押BRC-20代幣。
另據歐易OKX提示,BRC20-S為開放標準,任何項目均可進行質押池部署,歐易OKX不會對部署池進行審核,也不會對任何項目進行背書,用戶須自行判斷參與。[2023/7/19 11:04:41]
Factory合約
上圖中接收方法的主要功能是將用戶跨鏈后的資金轉移到目標鏈的用戶地址,需要驗證發送鏈的簽名。當前待驗證簽名個數為1。
由于接收方法的邏輯和名為ecrecover和_decreaseAuthQuota方法并不嚴格檢查簽名,攻擊者使用了自己產生的簽名,但后續合約邏輯沒有嚴格判斷映射值簽名和其他計算。使攻擊者成功地執行接收方法,為自己簽名轉賬資金。
PolyNetwork攻擊事件
2021年8月,跨鏈互操作協議PolyNetwork突然遭到黑客攻擊。使用該協議的O3Swap遭受了嚴重的損失。以太坊、幣安智能鏈、Polygon?三大網絡上的資產幾乎被洗劫一空。1小時內,分別有2.5億、2.7億、8500萬美元的加密資產被盜,總損失高達6.1億美元。
報告:61%的客戶已經研究或計劃研究加密貨幣:金色財經報道,Salesforce金融服務報告顯示,61%的客戶已經研究或計劃研究加密貨幣,這突顯了人們對數字貨幣的興趣日益濃厚。盡管三分之二的客戶表示對數字貨幣感興趣,但只有29%的客戶希望從其金融機構獲得區塊鏈數字貨幣服務。這可能凸顯了當前FSI產品的明顯差距、對新興技術的不適,或者可能表明人們確實有自我托管的興趣,因為報告顯示60%的客戶對加密貨幣感到滿意。
調查還發現,31%的客戶已經研究過,30%的客戶計劃探索投資組合多元化,包括將加密貨幣作為一種資產類別。盡管存在波動性,但該數據表明人們對加密貨幣作為多元化投資組合的有效組成部分的好奇心和接受度正在不斷提高。[2023/7/8 22:24:53]
這種攻擊主要是由于中繼鏈驗證者的公鑰被替換造成的。即由攻擊者代替跨鏈的中間驗證者,由攻擊者自己控制。
協議內部關系:
中繼鏈驗證者的公鑰存在于EthCrossChainData合約中;EthCrossChainData合約所有者是EthCrossChainManager合約;EthCrossChainData合約的putCurEpochConPubKeyBytes方法可以修改中繼鏈驗證者角色。EthCrossChainManager合約:
Web3游戲DegenReborn完成戰略融資:4月6日消息,Web3 游戲DegenReborn完成戰略融資,P12、CyberConnect、Galxe 和 Era7 參投,具體投資金額未披露。
DegenReborn 游戲在黑客松比賽 Mask x Starkware、CyberConnect x BNB Chain 和 ETH Denver 中獲得獎項,在其72小時的限時公測Flash Beta期間,擁有17,599個付費錢包地址和395枚BNB的總交易量。[2023/4/6 13:47:16]
在上面的圖中,_executeCrossChainTx方法沒有對傳入的參數施加嚴格的限制,這導致攻擊者傳入toContract,方法參數被攻擊者控制。由于協議的內部關系,攻擊者在哈希沖突后傳入與putCurEpochConPubKeyBytes方法相同的方法簽名。成功調用EthCrossChainData合約的putCurEpochConPubKeyBytes方法,直接修改中繼鏈驗證者的公鑰,使其變得可控,然后利用驗證者簽署惡意的進行資金轉移,獲取了大量資金。
Multichain?(AnySwap)攻擊事件
Robinhood:正努力將狗狗幣納入全新的加密錢包:金色財經報道,推特上的一些加密貨幣交易員質疑Robinhood何時會對DOGE提供支持,零售交易巨頭Robinhood表示,他們正在“努力工作”,試圖將狗狗幣整合到其全新的加密錢包產品中。Robinhood本周剛剛推出了新的錢包,目前正在向100多萬用戶推廣。新產品作為一個獨立的智能手機應用程序運行,使用戶能夠交易加密資產,訪問去中心化應用程序和存儲不可替代的令牌。[2023/1/23 11:26:40]
2022年1月,Multichain正式聲明協議的跨鏈橋存在安全風險,部分代幣存在被黑客攻擊的風險,并敦促用戶盡快取消授權。
事件的核心原因是:協議調用的底層代幣合約沒有實現permit方法,但包含一個fallback函數,因此調用permit方法的合約正常運行。
左邊是AnyswapV4Router合約,右邊是WETH9合約。
在上圖中的AnySwapOutUnderlyingWithPermit方法中,前三個參數都是由調用者傳入的,也就是說代幣和其他參數都是攻擊者控制的。當參數可控時,攻擊者部署攻擊合約來轉移受影響的代幣。合約地址被設置為基礎代幣參數。
南非H2O Water Securities完成1.5億美元融資,GEM參投:7月4日消息,南非H2O Water Securities完成1.5億美元融資,數字資產投資公司GEM Digital參投。
H2O Water Securities是一家結合了金融、基礎設施和水廠部署運營的專業公司,將推出全球首個水資源加密Token H2ON,使其成為為全球水項目籌集資金的一種手段,支持更多人投資水利基礎設施。[2022/7/4 1:50:10]
核心問題是由于WETH9沒有permit方法,但是會調用WETH9的fallback方法進行充值操作,所以其不會有錯誤的調用(交易不會回滾),也就是說,當用戶授權到協議時,攻擊者會很快轉移用戶資金。
QubitBridge攻擊事件
2022年1月,QubitFinance跨鏈橋以太坊-幣安被黑客攻擊,損失超過8000萬美元。
核心問題:當deposit方法中的資金地址為address(0)時,不會出現safeTransferFrom錯誤,導致deposit功能正常執行。
QBridge合約
上圖中,存款是一種正常的存款方式。當在此方法中調用IQBridgeHandler(handler).deposit時,當用戶傳入的resourceID映射tokenAddress地址為0地址時,后續的tokenAddress.safeTransferFrom(depositer,address(this),amount);轉賬將正常執行,導致方法和事件的正常運行,調用者可以成功進行存款。
這里更重要的是,官方tokenAddress的ETH0地址是官方所做的(官方已經聲明存款功能是一個被忽略的廢棄功能)。
MeterBridge攻擊分析
在2022年2月,Meter.io跨鏈協議并未阻止封裝的ERC20代幣與原生gas代幣的直接交互,導致損失約430萬美元。
該事件的核心問題是:存款方法在進行存款時不驗證WBNB的存款情況,導致攻擊者繞過判斷條件,不存款也可以正常獲取資金。
Bridge合約
在上圖中,deposit和depositETH方法都是存款方法,但是當用deposit方法存款時,并沒有驗證該存款是否為原生代幣。當攻擊者進行存款時,傳入WBNB地址。該方法不驗證WBNB存款,之后調用deposthhandler.deposit方法成功繞過判斷條件。最后,攻擊者利用該漏洞成功獲取大量資金。
Wormhole攻擊分析
2022年2月,以太坊和?Solana?兩大區塊鏈的重要橋(Wormhole)被黑客攻擊,損失超過3.2億美元。
該漏洞的核心原因是:verify_signatures調用的load_instruction_at方法沒有驗證指令的有效性,攻擊者可以通過偽造驗證簽名來獲取資金。
verify_signature.rs接口合約
上圖中的verify_signatures方法是跨鏈驗證過程中調用的簽名方法。由于verify_signatures方法調用load_instruction_at方法,所以在協議更新后,load_instruction_at方法是一個廢棄的方法。這種方法對傳入的指令沒有嚴格的檢查,這就導致攻擊者在傳入一個可控值后,利用這種簽名方式對自己的跨鏈請求進行簽名,獲得大量資金。
Li.Finance攻擊分析
2022年3月,以太坊上的分布式跨鏈協議Li.Finance遭到攻擊。攻擊者進行了37次調用傳入,在多個錢包中獲得了約60萬美元的資產(204ETH)。
這種攻擊的核心問題是對傳入的外部數據沒有嚴格的限制,導致攻擊者傳入自己的可控調用邏輯。
CBridgeFacet合約
上圖中的swapAndStartBridgeTokensViaCBridge方法中,傳入的_swapData參數沒有嚴格限制。在同一個LibSwap.swap調用中,該值不受嚴格限制。因此,在swap方法中,_swapData可以成功地調用call方法來執行惡意操作。攻擊者利用此漏洞進行多次調用以獲取資金。
RoninNetwork攻擊分析
在2022年3月,AxieInfinity?側鏈Ronin驗證者節點和Axie?DAO?驗證者節點被破壞,導致在兩筆交易中從Ronin橋接了173600ETH和2550萬美元的?USDC。
攻擊原因:
SkyMavis的Ronin鏈目前由9個驗證者組成。為了識別存款事件或取款事件,需要9個驗證者中的5個簽名。攻擊者控制了四個SkyMavis的Ronin驗證者和一個由AxieDAO運行的第三方驗證者。(2021年11月至12月,AxieDAO允許SkyMavis代表其簽署各種交易,在事件停止后沒有撤銷白名單訪問權限,攻擊者獲得了對SkyMavis系統的訪問權限,并使用來自AxieDAO驗證器的gaslessRPC來獲取簽名)。
總結和建議
從以上跨鏈橋攻擊事件可以發現,從去年到今年已經發生了幾次跨鏈橋攻擊。跨鏈橋攻擊的數量明顯在增加,被盜資金也相當多。黑客已經盯上了跨鏈橋這塊肥肉。從總結來看,攻擊主要發生在跨鏈前和簽名處,一般都是合約漏洞,也有由于官方疏忽造成的盜竊事件。針對越來越多的跨鏈項目和項目合約安全,建議如下:
在項目上線前完成合約安全審計合約調用接口需要嚴格檢查其適配性版本更新時,需要重新評估相關接口和簽名的安全性需要對跨鏈簽名者進行嚴格的審查,以確保簽名不受惡意人員的控制
撰文:0x555,律動BlockBeats??當PFP開始風靡,大家習慣溯源,去找到頭像這樣的社交資本玩法的發祥地,而QQ秀是被提及最頻繁的.
1900/1/1 0:00:00今天看到了一篇非常棒的文章,極力推薦給大家,很清晰的講解了web3和web2互聯網在架構上的區別,有助于大家更好的理解web3到底有什么不同,本文是對該文章進行拆解.
1900/1/1 0:00:00撰文:MitchEiven,CointelegraphMagazineNFT和元宇宙是目前Crypto生態系統中最熱門的話題.
1900/1/1 0:00:00原文來自:substack作者:ChrisPowers 譯者:Moni 隨著?NFT、DAO?和玩賺游戲越來越火,DeFi?市場最近的確有些黯然失色.
1900/1/1 0:00:00來源:ImmutableX編譯:CaptainHiro對于任何軟件公司來說,安全是一個根本性的困難和不對稱的問題.
1900/1/1 0:00:00在Avalanche雪崩協議,任何人都能通過專用驗證節點網絡建立自己的L1區塊鏈,并將它作為L2擴容方案,解鎖新的使用場景。子網可以是一條自定義區塊鏈,也可以是共享驗證節點的一組自定義區塊鏈.
1900/1/1 0:00:00