原標題:《Cross-chainbridgevulnerabilitysummary》
原作者:lunaray
編譯:ChinaDeFi
隨著區塊鏈和鏈上項目的增長,對多鏈項目的需求正在變多,跨鏈橋業務也相應的在增加。哪里有生意,哪里就會有安全問題。跨鏈橋在為用戶提供便利的同時,也為黑客提供了便利,PolyNetwork被攻擊后,跨鏈橋的安全問題也隨之出現。
什么是跨鏈橋?
區塊鏈橋,也稱為跨鏈橋,其連接兩個區塊鏈,允許用戶從一個鏈向另一個鏈發送加密貨幣。
跨鏈橋通過兩個獨立平臺之間的代幣轉賬、智能合約和數據交換等其他反饋和指令,實現了資金的跨鏈操作。
一種常見的跨鏈橋的操作如下:
用戶將資產A發送到原鏈上的一個存儲地址,并支付過橋費;
資產A被智能合約中隨機選擇的驗證者或受信任的托管人鎖定;
在目標鏈上發布相同數量的資產A1,并將資產A1發送到目標鏈上的用戶地址。
跨鏈橋存在漏洞
跨鏈橋常見漏洞
ChainSwap攻擊事件:
荷蘭央行行長:加密貨幣市場可能很快成為全球金融穩定的威脅:金色財經報道,Watcher.Guru發推稱,荷蘭央行行長表示,加密貨幣市場可能很快成為全球金融穩定的威脅。[2022/4/24 14:44:41]
2021年7月,跨鏈資產橋項目ChainSwap遭到攻擊。跨鏈橋上的二十多個項目受到攻擊,損失了近800萬美元的資產,導致十多個項目暴跌99%。
這種攻擊主要是由于該協議沒有嚴格檢查簽名的有效性,攻擊者可以使用自己生成的簽名對交易進行簽名。
Factory合約
上圖中接收方法的主要功能是將用戶跨鏈后的資金轉移到目標鏈的用戶地址,需要驗證發送鏈的簽名。當前待驗證簽名個數為1。
由于接收方法的邏輯和名為ecrecover和_decreaseAuthQuota方法并不嚴格檢查簽名,攻擊者使用了自己產生的簽名,但后續合約邏輯沒有嚴格判斷映射值簽名和其他計算。使攻擊者成功地執行接收方法,為自己簽名轉賬資金。
PolyNetwork攻擊事件
2021年8月,跨鏈互操作協議PolyNetwork突然遭到黑客攻擊。使用該協議的O3Swap遭受了嚴重的損失。以太坊、幣安智能鏈、Polygon三大網絡上的資產幾乎被洗劫一空。1小時內,分別有2.5億、2.7億、8500萬美元的加密資產被盜,總損失高達6.1億美元。
過去4年韓國政府機構向加密基金投資500億韓元:5月5日消息,過去四年里,韓國政府和公共機構已向與加密貨幣相關的基金投資了500億韓元(約400萬美元)。按機構劃分,包括中小型企業343億韓元,KDB開發銀行為117億韓元,國民養老金局為34.6億韓元,郵局為4.9億韓元等。這些都是通過基金間接投資而不是直接投資的形式進行的投資,而這些基金直接投資于主要的加密交易所,如Upbit和Bithumb。(韓聯社)[2021/5/5 21:25:50]
這種攻擊主要是由于中繼鏈驗證者的公鑰被替換造成的。即由攻擊者代替跨鏈的中間驗證者,由攻擊者自己控制。
協議內部關系:
中繼鏈驗證者的公鑰存在于EthCrossChainData合約中;
EthCrossChainData合約所有者是EthCrossChainManager合約;
EthCrossChainData合約的putCurEpochConPubKeyBytes方法可以修改中繼鏈驗證者角色。
EthCrossChainManager合約:
在上面的圖中,_executeCrossChainTx方法沒有對傳入的參數施加嚴格的限制,這導致攻擊者傳入toContract,方法參數被攻擊者控制。由于協議的內部關系,攻擊者在哈希沖突后傳入與putCurEpochConPubKeyBytes方法相同的方法簽名。成功調用EthCrossChainData合約的putCurEpochConPubKeyBytes方法,直接修改中繼鏈驗證者的公鑰,使其變得可控,然后利用驗證者簽署惡意的進行資金轉移,獲取了大量資金。
牛津和劍橋的學生將參與加密算法交易比賽:牛津和劍橋的學生將參加由投資分析公司APEX:E3主辦的加密算法交易比賽。15個競爭團隊將使用API來構建算法,并在CoinbasePro和FTX交易所進行現貨市場交易。牛津隊和劍橋隊于11月16日報名參賽,比賽將于12月結束,獲勝的團隊將保留其種子資金和所有收益。(Coindesk)[2020/11/26 22:16:08]
Multichain(AnySwap)攻擊事件
2022年1月,Multichain正式聲明協議的跨鏈橋存在安全風險,部分代幣存在被黑客攻擊的風險,并敦促用戶盡快取消授權。
事件的核心原因是:協議調用的底層代幣合約沒有實現permit方法,但包含一個fallback函數,因此調用permit方法的合約正常運行。
左邊是AnyswapV4Router合約,右邊是WETH9合約。
在上圖中的AnySwapOutUnderlyingWithPermit方法中,前三個參數都是由調用者傳入的,也就是說代幣和其他參數都是攻擊者控制的。當參數可控時,攻擊者部署攻擊合約來轉移受影響的代幣。合約地址被設置為基礎代幣參數。
動態 | 澳大利亞ASIC提議禁止二元期權 加密貨幣杠桿降至2倍:澳大利亞證券投資委員會(ASIC)今日公布的一份咨詢文件顯示,計劃對場外交易(OTC)二元期權和差價合約(CFD)實施禁令。其中包括對所有貨幣對設置20:1的杠桿限制。在交易杠桿方面,ASIC與歐盟ESMA實施的新規不同,該監管機構不會單列主要和次要貨幣對,而是對所有貨幣對杠桿比列限制在20:1。股票指數則建議為15:1;商品(不包含黃金)為10:1;黃金為20:1;加密貨幣為2:1以及股票為5:1。(Finance Magnates)[2019/8/22]
核心問題是由于WETH9沒有permit方法,但是會調用WETH9的fallback方法進行充值操作,所以其不會有錯誤的調用(交易不會回滾),也就是說,當用戶授權到協議時,攻擊者會很快轉移用戶資金。
QubitBridge攻擊事件
2022年1月,QubitFinance跨鏈橋以太坊-幣安被黑客攻擊,損失超過8000萬美元。
核心問題:當deposit方法中的資金地址為address(0)時,不會出現safeTransferFrom錯誤,導致deposit功能正常執行。
聲音 | 高盛CEO:從未計劃開設加密貨幣交易平臺:據金十消息,高盛CEO David Solomon表示,高盛從未計劃開設加密貨幣交易平臺。[2019/4/11]
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驗證者節點和AxieDAO驗證者節點被破壞,導致在兩筆交易中從Ronin橋接了173600ETH和2550萬美元的USDC。
攻擊原因:
SkyMavis的Ronin鏈目前由9個驗證者組成。為了識別存款事件或取款事件,需要9個驗證者中的5個簽名。攻擊者控制了四個SkyMavis的Ronin驗證者和一個由AxieDAO運行的第三方驗證者。(2021年11月至12月,AxieDAO允許SkyMavis代表其簽署各種交易,在事件停止后沒有撤銷白名單訪問權限,攻擊者獲得了對SkyMavis系統的訪問權限,并使用來自AxieDAO驗證器的gaslessRPC來獲取簽名)。
總結和建議
從以上跨鏈橋攻擊事件可以發現,從去年到今年已經發生了幾次跨鏈橋攻擊。跨鏈橋攻擊的數量明顯在增加,被盜資金也相當多。黑客已經盯上了跨鏈橋這塊肥肉。從總結來看,攻擊主要發生在跨鏈前和簽名處,一般都是合約漏洞,也有由于官方疏忽造成的盜竊事件。針對越來越多的跨鏈項目和項目合約安全,建議如下:
在項目上線前完成合約安全審計
合約調用接口需要嚴格檢查其適配性
版本更新時,需要重新評估相關接口和簽名的安全性
需要對跨鏈簽名者進行嚴格的審查,以確保簽名不受惡意人員的控制
Tags:ETHSWAPAINCHAethylbenzeneStormSwapWeFilmChainBlockchain Brawlers
作者:MilesJennings,a16z總法律顧問原標題:《DecentralizationforWeb3Builders:Principles,Models,How》 編譯:胡韜.
1900/1/1 0:00:00鏈捕手消息,位于印度Maharashtra的Gadchiroli區政府已經通過Polygon區塊鏈上的文件驗證系統LegitDoc為65,000個種姓證書蓋章.
1900/1/1 0:00:002022年4月12日上午,鏈捕手聯合EOS網絡基金會在TwitterSpace展開了一場別開生面的直播活動。圍繞EOSEVM、EOS網絡基金會職能、EOS未來生態發展展開深度討論.
1900/1/1 0:00:00來源:UncommonCore 編譯:麟奇,鏈捕手 Hasu:加密行業與宏觀經濟的關系是怎樣的?Suzhu:過去幾個月是加密市場的低谷期.
1900/1/1 0:00:00導語:ACCapital、CoinVoice、AsiaTokenFund和?BlockTides將在東南亞聯合舉辦有史以來規模最大的?NFT、Metaverse、GameFi主題活動.
1900/1/1 0:00:00撰文:iZUMiResearch2020年2月中旬,DeFi應用中的鎖定的資金量首次超過了10億美元.
1900/1/1 0:00:00