加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > TRX > Info

被黑 6.1 億美金的 Poly Network 事件分析與疑難問答_AIN:HAI

Author:

Time:1900/1/1 0:00:00

慢霧認為,攻擊主要在于EthCrossChainData合約的keeper被修改,而非私鑰泄漏導致。目前,黑客已開始陸續歸還資金。

撰文:慢霧安全團隊

2021年08月10日,據慢霧區消息,跨鏈互操作協議PolyNetwork遭受黑客攻擊,慢霧安全團隊第一時間介入分析,并將分析結果分享如下。

攻擊背景

PolyNetwork是由Neo、Ontology、Switcheo基金會共同作為創始成員,分布科技作為技術提供方共同發起的跨鏈組織。

如下圖,通過官方的介紹我們可以清楚的看出PolyNetwork的架構設計:用戶可以在源鏈上發起跨鏈交易,交易確認后由源鏈Relayer將區塊頭信息同步至PolyChain,之后由PolyChain將區塊頭信息同步至目標鏈Relayer,目標鏈Relayer將驗證信息轉至目標鏈上,隨后在目標鏈進行區塊頭驗證,并執行用戶預期的交易。

以下是本次攻擊涉及的具體地址:

攻擊核心

源鏈未對發起的跨鏈操作的數據進行檢查。目標鏈未對解析出的目標調用合約以及調用參數進行檢查。EthCrossChainData合約的owner為EthCrossChainManager。bytes4(keccak256(abi.encodePacked(_method,"(bytes,bytes,uint64)")))可以被hash碰撞。攻擊細節

PolyNetwork會在各個鏈上部署智能合約以便進行跨鏈互操作,其中EthCrossChainManager合約用于驗證PolyChain同步來的區塊頭以確認跨鏈信息的真實。EthCrossChainData合約用于存儲跨鏈數據,中繼鏈驗證人(即Keeper)的公鑰也存儲在這個合約中。LockProxy則用于資產管理。

慢霧區“被黑檔案庫”新增Base分類:金色財經報道,Base鏈上項目發生多起被黑客攻擊事件(包括 Rug pull),慢霧區“被黑檔案庫(SlowMist Hacked)”新增Base分類。[2023/9/7 13:24:38]

本次攻擊中,攻擊者分兩步來完成這次攻擊,我們接下來進行詳細分析:

首先攻擊者通過在其他鏈調用crossChain函數構造數據發起跨鏈交易。

我們切入此函數進行分析:

EthCrossChainManager.crossChain

從上圖我們可以清晰的看出,此函數只是用于幫助用戶構造makeTxParam并存儲了構造后的哈希以便后續驗證,其并未對用戶傳入的跨鏈操作參數進行任何限制,因此攻擊者完全可以通過構造任意想構造的數據而讓Relayer毫無防備的將其同步至PolyChain,通過PolyChain將其同步至以太坊Relayer。

隨后在以太坊上的Relayer通過調用EthCrossChainManager合約中

的verifyHeaderAndExecuteTx函數提交區塊頭信息來驗證這筆跨鏈信息的真實性。

我們切入此函數進行分析:

EthCrossChainManager.verifyHeaderAndExecuteTx

通過上圖代碼我們可以看出其先對區塊頭進行反序列化,以解出所需要驗證的具體信息。隨后調用getCurEpochConPubKeyBytes函數從EthCrossChainData合約中獲取Keeper公鑰,并通過deserializeKeepers函數得到Keeper地址。

幣安智能鏈DeFi項目AutoShark Finance被黑分析:據慢霧區消息,幣安智能鏈(BSC)DeFi項目AutoSharkFinance被黑,導致代幣價格閃崩。慢霧安全團隊在第一時間跟進分析,并將結果以簡訊的形式分享給大家,供大家參考。由于AutoShark策略池的機制,攻擊者需要事先存入一定數量的LP代幣到策略池中,為后續攻擊做準備,所以整個攻擊其實分成了2步,這里主要分析的是第2筆的攻擊交易。攻擊步驟如下:

1.攻擊者從Pancake的WBNB/BUSD交易對中借出大量WBNB;

2.將第1步借出的全部WBNB中的一半通過Panther的SHARK/WBNB交易對兌換出大量的SHARK,同時池中WBNB的數量增多;

3.將第1步和第2步的WBNB和SHARK打入到SharkMinter中,為后續攻擊做準備;

4.調用AutoShark項目中的WBNB/SHARK策略池中的getReward函數,該函數會根據用戶獲利的資金從中抽出一部分手續費,作為貢獻值給用戶獎勵SHARK代幣,這部分操作在SharkMinter合約中進行操作;

5.SharkMinter合約在收到用戶收益的LP手續費之后,會將LP重新拆成對應的WBNB和SHARK,重新加入到Panther的WBNB/SHARK交易池中;

6.由于第3步攻擊者已經事先將對應的代幣打入到SharkMinter合約中,SharkMinter合約在移除流動性后再添加流動性的時候,使用的是SharkMinter合約本身的WBNB和SHARK余額進行添加,這部分余額包含攻擊者在第3步打入SharkMinter的余額,導致最后合約獲取的添加流動性的余額是錯誤的,也就是說SharkMinter合約誤以為攻擊者打入了巨量的手續費到合約中;

7.SharkMinter合約在獲取到手續費的數量后,會通過tvlInWBNB函數計算這部分手續費的價值,然后根據手續費的價值鑄幣SHARK代幣給用戶。但是在計算LP價值的時候,使用的是PantherWBNB/SHARK池的WBNB實時數量除以LP總量來計算LP能兌換多少WBNB。但是由于在第2步中,Panther池中WBNB的數量已經非常多,導致計算出來的LP的價值非常高;

8.在LP價值錯誤和手續費獲取數量錯誤的情況下,SharkMinter合約最后在計算攻擊者的貢獻的時候計算出了一個非常大的值,導致SharkMinter合約給攻擊者鑄出了大量的SHARK代幣;

9.攻擊者后續通過賣出SHARK代幣來換出WBNB,償還閃電貸。然后獲利離開。[2021/5/25 22:41:58]

接下來將通過ECCUtils.verifySig驗證簽名是否為Keeper,從以下代碼中我們可以發現verifySig函數中會切出簽名者的vrs,并通過ecrecover接口獲取簽名者地址,然后調用containMAddresses函數循環比較簽名者是否為Keeper,只要Keeper簽名數量符合要求即可通過檢查,數量要求即為EthCrossChainManager合約傳入的n-(n-1)/3)。

深腦鏈官方發布欺騙投資者文章,暫不清是否賬號被黑:5月9日,深腦鏈(DeepBrain Chain)官方Medium賬號發布了一篇標題、內容異常博文:標題為《我們偷走了你們的錢》,內容為對 AIM 買家表示道歉,此前用戶訂購的硬件產品無任何新消息,不幸的是事情就是這樣發生了。早在5月2日,深腦鏈的Medium賬號發布了關于了一篇關于AIM硬件的文章,表示計劃在2020年初,發送給投資者在2018年中旬訂購的產品,但由于疫情原因,該計劃又推遲到了 4 月初,甚至中途還出現深腦鏈支付不起倉庫存儲費用的情況,但這時候官方還表示項目還在進行,尚未失聯。

據了解,深腦鏈是一個誕生于2017年下半年 IC0火熱之時的項目,自稱是全球首創且唯一由區塊鏈技術驅動的人工智能計算平臺,2018年5月18日,深腦鏈推出了全球首款 AI 礦機,開啟預售。截止6月8日,DBC礦機預訂人數超3500人,預訂數量超4800臺,按照的幣價,預定金額超1億美金。但直至如今,機器仍未發貨。此外,據行情數據網站,目前深腦鏈代幣DBC目前價格為0.000634USD,幾近歸零。

據了解,昨日官方文章發出后,部分投資者推斷深腦鏈的博客賬號被黑,但由于2年前深腦鏈AIM硬件的進展遲緩,有觀點稱官方已跑路。目前,深腦鏈官方未就該事件進行回復。[2020/5/10]

簽名驗證后會通過ECCUtils.merkleProve進行默克爾根驗證,只要是正常跨鏈操作即可通過此項檢查。隨后會對交易是否重復發送進行檢查并存儲已驗證后的數據。這里只需保證不重復提交即可。

最后,也是最關鍵的一步,其將通過內部調用_executeCrossChainTx函數執行構造的數據。

動態 | 趨勢科技安全報告:醫療行業被黑客入侵次數最多:近日全球網絡安全公司Trend Micro(趨勢科技)發布區塊鏈硬件環境安全報告《2018年中安全綜述:潛在的威脅,迫在眉睫的損失》,跟蹤了常被忽視的計算方面產生的安全風險的趨勢,指硬件層面嚴重漏洞削弱了業界對微處理器的隱形信任。報告顯示,2018年前6個月,美國共報告了259起數據泄露事件,僅略高于前半年。從同一組數據來看,42%的事件是通過意外泄露而發生的,41%是黑客所為。醫療行業是被入侵最多的行業,其次是零售、經銷商。[2018/8/30]

從上圖我們可以看出_executeCrossChainTx函數未對傳入的_toContract、_method等參數進行檢查就直接以_toContract.call的方式執行交易。

其中通過鏈上數據我們可以看出EthCrossChainData合約的owner即為EthCrossChainManager合約,而先前我們知道中繼鏈驗證人(即Keeper)的公鑰存在EthCrossChainData合約中,且此合約存在putCurEpochConPubKeyBytes函數可以直接修改Keeper公鑰。

經過以上分析,結果已經很明確了,攻擊者只需在其他鏈通過crossChain正常發起跨鏈操作的交易,此交易目的是為了調用EthCrossChainData合約的putCurEpochConPubKeyBytes函數以修改Keeper角色。隨后通過正常的跨鏈流程,Keeper會解析用戶請求的目標合約以及調用參數,構造出一個新的交易提交到以太坊上。這本質上也只是一筆正常的跨鏈操作,因此可以直接通過Keeper檢查與默克爾根檢查。最后成功執行修改Keeper的操作。

第四季度個人電腦被黑客劫持用于數字貨幣挖礦的案件增加了85倍:網絡安全巨頭Symantec近日發布的《2017網絡安全威脅報告》稱,2017年第四季度,個人電腦被黑客劫持用于數字貨幣挖礦的案件增加了85倍,占12月所有網絡攻擊的24%,占第四季度所有網路攻擊的16%,這與去年比特幣及其它數字貨幣的崛起有很大關聯。總體來看,加密劫持在2017年的發生數量上漲了34000%[2018/3/22]

但我們注意到putCurEpochConPubKeyBytes函數定義為

functionputCurEpochConPubKeyBytes(bytescalldatacurEpochPkBytes)externalreturns(bool);

而_executeCrossChainTx函數執行的定義為

abi.encodePacked(bytes4(keccak256(abi.encodePacked(_method,"(bytes,bytes,uint64)")))

我們可以知道這兩個函數的函數簽名在正常情況下傳入的_method為putCurEpochConPubKeyBytes肯定是完全不同的,因此通過_toContract.call理論上是無法調用到putCurEpochConPubKeyBytes函數的。但_method是攻擊者可以控制的,其完全可以通過枚舉各個字符組合以獲得與調用putCurEpochConPubKeyBytes函數相同的函數簽名,這要求其只需枚舉前4個字節符合即可。我們也可以自己嘗試枚舉驗證,如下所示:

可以看出前四個字節與putCurEpochConPubKeyBytes函數是一致的

至此我們就已還原出攻擊者的攻擊細節。

通過解析鏈上數據,我們可以發現攻擊者將Keeper替換為了0xA87fB85A93Ca072Cd4e5F0D4f178Bc831Df8a00B。

最后攻擊者只需使用替換后的Keeper地址進行簽名即可通過所有檢查執行調用LockProxy合約將其管理的資產轉出。

攻擊流程

攻擊者在源鏈精心構造一筆修改目標鏈Keeper的操作。

利用官方Relayer正常在目標鏈提交數據并執行替換Keeper操作。

攻擊者通過替換后的Keeper地址對其轉出資產的操作進行簽名提交至EthCrossChainManager進行驗證。

驗證Keeper為攻擊者已替換完的地址通過檢查,執行將資產轉移至攻擊者指定地址。

獲利走人。

MistTrack分析過程

慢霧AML團隊分析統計,本次攻擊損失共計超6.1億美元!

具體如下:

資金流向分析

慢霧AML旗下?MistTrack反洗錢追蹤系統分析發現,攻擊者初始的資金來源是門羅幣(XMR)。

然后在交易所里換成了BNB/ETH/MATIC等幣種并分別提幣到3個地址,不久后在3條鏈上發動攻擊。

事件梳理

資金情況

BSC上:

黑客地址1,黑客將近1.2億美元的流動性添加到Curve分叉項目EllipsisFinance中,目前仍在做市無異動。Polygon上:

資金無異動。

Ethereum上:

1)黑客地址3,只有一筆轉出13.37ETH到地址0xf8b5c45c6388c9ee12546061786026aaeaa4b682的交易;

2)黑客在Curve上添加了超9706萬美元的流動性。后又撤銷流動性將9638萬枚USDC和67萬枚DAI換成9694萬枚DAI,這筆資金仍停留在地址3。目前,3343萬枚USDT已被Tether凍結。

疑難問答

注:eccm為EthCrossChainManager合約的簡稱,eccd為EthCrossChainData合約的簡稱。

問:為什么keeper能更換成功,合約代碼沒有進行鑒權嗎?

答:eccd合約有進行鑒權,僅允許owner調用putCurEpochConPubKeyBytes更改keeper,因為eccd合約的owner是eccm,所以通過eccm可以更改keeper的值。

問:為什么能簽名一筆更換keeper的交易?

答:因為跨鏈要執行的數據沒有判斷好toContract,所以可能原先的keeper以為是一筆正常的跨鏈交易就簽名了,但是他是一筆更換keeper的交易。

問:為什么能繞過代碼bytes4(keccak256(abi.encodePacked(_method,"(bytes,bytes,uint64)")))的這個限制,然后執行putCurEpochConPubKeyBytes(bytes)函數?

答:函數簽名用的是keccak-256進行哈希,然后取前面的4bytes,這種情況下是較容易被hash碰撞的。

問:黑客更換keeper的交易如何被舊的keepers簽名?

答:keepers是一個鏈中繼器(Replayer),會對所有正常用戶的跨鏈請求進行簽名。當用戶在BSC上發起跨鏈交易時,keepers會解析用戶請求的目標合約以及調用參數,構造出一個新的交易提交到以太坊上,并在以太坊上用eccm合約調用用戶交易里包含的目標合約。黑客替換keeper的交易本質上也是一筆正常的跨鏈交易,只不過調用的目標合約是eccd合約,調用的參數是更換keeper,所以能被正常簽名。

總結

本次攻擊主要在于EthCrossChainData合約的keeper可由EthCrossChainManager合約進行修改,而EthCrossChainManager合約的verifyHeaderAndExecuteTx函數又可以通過_executeCrossChainTx函數執行用戶傳入的數據。因此攻擊者通過此函數傳入精心構造的數據修改了EthCrossChainData合約的keeper為攻擊者指定的地址,并非網傳的是由于keeper私鑰泄漏導致這一事件的發生。

慢霧AML旗下MistTrack反洗錢追蹤系統將持續監控被盜資金的轉移,拉黑攻擊者控制的所有錢包地址,提醒交易所、錢包注意加強地址監控,避免相關惡意資金流入平臺。此外,特別感謝虎符Hoo、PolyNetwork、火幣Zlabs、鏈聞、WePiggy、TokenPocket錢包、Bibox、歐科云鏈等團隊及許多個人伙伴在合規的前提下及時與慢霧安全團隊同步相關攻擊者信息,為追蹤攻擊者爭取了寶貴的時間。

目前,在多方努力下,黑客開始陸續歸還資金。

來源鏈接:mp.weixin.qq.com

免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與鏈聞ChainNews立場無關。文章內的信息、意見等均僅供參考,并非作為或被視為實際投資建議。

慢霧

慢霧

慢霧科技是一家專注區塊鏈生態安全的國家高新技術企業,通過「威脅發現到威脅防御一體化因地制宜的安全解決方案」服務了全球許多頭部或知名的項目。慢霧科技的安全解決方案包括:安全審計、威脅情報、漏洞賞金、防御部署、安全顧問等服務并配套有加密貨幣反洗錢、假充值漏洞掃描、漏洞監測、被黑檔案庫、智能合約防火墻、SafeStaking等SAAS型安全產品,已有商業客戶上千家。慢霧慢霧科技慢霧AML慢霧安全Slowmist查看更多以太坊

Tags:AINKEEPChainHAIlvctripchainsbitkeep新版本下載Brickchain FInanceblockchain.pi翻譯中文

TRX
財富500強埃森哲遭比特幣勒索軟件攻擊,數據已在暗網泄露_KBI:BLOCK價格

據Decrypt8月12日消息,財富500強、咨詢公司埃森哲遭遇了黑客組織Lockbit的比特幣勒索軟件攻擊.

1900/1/1 0:00:00
API3 聯盟聯合 100 多家 API 提供商直接向 Web3 提供預言機服務_API:加密貨幣交易所

鏈聞消息,Web3去中心化API服務API3宣布推出API3聯盟,聯合100多家API提供商直接向Web3提供預言機服務.

1900/1/1 0:00:00
關于MINA,CELO,FLOW,MER提幣通知_SAFE:tps幣圈

尊敬的用戶: MINA/USDT,CELO/USDT,FLOW/USDT,MER/USDT幣對將在8月11日11:00進行下架,持有MINA,CELO,FLOW,MER幣種的用戶,如需提幣.

1900/1/1 0:00:00
數據:EIP-1559實施后以美元計算的以太坊礦工收入實際增長7.1%_ETH:chatcoin幣最新消息

據CoinDesk8月11日報道,上周四,EIP-1559與捆綁在以太坊“倫敦”升級中的其他四個EIP一起被激活,到目前為止,約有26756.06枚ETH被銷毀,占到新代幣供應增長的33%.

1900/1/1 0:00:00
知名加密貨幣影響者Alex Saunders遭追隨者起訴,索賠金額約35萬美元_NFT:Vent Finance

據Cointelegraph消息,8月11日,澳大利亞知名加密貨幣影響者AlexSaunders正被其YouTube頻道和咨詢服務NuggetsNews的追隨者起訴.

1900/1/1 0:00:00
CoinW新幣交流群成立,進群打新禮!_COIN:OIN

親愛的CoinW用戶: CoinW現已建立新幣專屬交流社群,所有用戶皆可掃描文末二維碼或添加群主微信進群交流最新項目信息,近期交易過新幣的用戶進群還可領取打新贈禮.

1900/1/1 0:00:00
ads