比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > 幣贏 > Info

HAI:SharkTeam:十大智能合約安全威脅之重放攻擊

Author:

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

重放攻擊是把原鏈網絡上的交易拿到目標鏈網絡上使用

問:我們常提到的智能合約漏洞真的是實際中威脅最大、發生最頻繁的安全漏洞嗎?

答:完全不是那樣。例如“溢出”、“外部調用”等常提到的智能合約安全漏洞并不是最常發生,威脅最大的。

到底哪些安全威脅從發生頻率和危害性上能稱為Top10的呢?SharkTeam合約安全系列課程之[十大智能合約安全威脅]和您一起討論和深入。第十課[詳解重放攻擊]。

一、什么是重放攻擊

重放攻擊是把原鏈網絡上的交易拿到目標鏈網絡上使用,即一筆交易重復執行,我們根據類型可以分為交易重放和簽名重放。

交易重放是將原鏈上的交易一成不變放到目標鏈上,重放過后交易在目標鏈上可以正常執行并完成交易驗證。

CoinShares:上周數字資產投資產品凈流入1.361億美元:7月10日消息,CoinShares最新周報顯示,上周數字資產投資產品凈流入1.361億美元,連續三周的凈流入總額達到4.7億美元。其中,上周比特幣投資產品凈流入1.328億美元。以太坊投資產品凈流入290萬美元。做空比特幣的投資產品凈流出180萬美元。

區塊鏈股票迎來一年來最大的資金流入,總計1500萬美元。[2023/7/10 10:46:16]

簽名重放利用私鑰簽名的消息進行重放,重放過程中無需像交易重放那樣去重放整個交易,而是重放相應的簽名信息。

在實施EIP 155后,交易簽名帶有chainid,即鏈與分叉鏈之間的標識符。由于chainid不同,交易重放無法完成,簽名重放可以間接完成。在以太坊完成分叉后,ETHW主網出現數起重放攻擊事件,讓我們回顧一下這些攻擊事件前因后果。

二、攻擊事件分析

2.1 Optimism

CoinShares首席戰略官:對加密貨幣感興趣的前八家金融機構管理總資產高達27萬億美元:金色財經報道,CoinShares首席戰略官Meltem Demirors強調了至少八家主要金融機構已表示將進軍數字資產領域,其中包括貝萊德的現貨比特幣ETF備案和富達的加密財富管理解決方案。其他包括摩根大通、摩根士丹利、高盛、紐約梅隆銀行、景順和美國銀行。Demirors指出,美國許多最大的金融機構正在積極努力提供比特幣等服務。它們管理的資產高達27萬億美元。

值得注意的是,27萬億美元的數字是對八家機構管理的總資產的估計,其中只有一小部分可能會分配給加密貨幣投資。[2023/6/27 22:02:41]

2022年6月9日消息,據Optimism與加密貨幣做市商 Wintermute 透露,2000萬個Optimism代幣被黑客盜取。重放攻擊過程如下:

(1)5月27日,Optimism地址0x2501向Optimism/L2上的0x4f3a地址轉賬2000萬OP,0x4f3a地址在Ethereum/L1上是Wintermute的多簽合約地址,但此時在Optimism/L2上面并沒有部署合約;

Shapella升級臨近,LSD板塊過去24小時漲幅14%:4月5日消息,隨著以太坊Shapella升級臨近,LSD賽道表現突出。Coingecko數據顯示,LSD板塊過去24小時整體漲幅14%,位列第四;龍頭LDO24小時漲幅7%,7天漲幅15%;Stader1以46.4%的漲幅位列周漲幅榜榜首;Bifrost(BNC)以22.8%的周漲幅次之。[2023/4/5 13:46:25]

(2)6月1日,黑客地址0x8bcf部署合約0xe714。

(3)6月5日,黑客通過重放Ethereum/L1上的交易創建了Gnosis Safe: Proxy Factory 1.1.1合約,其地址與Ethereum/L1上一樣;然后地址0x60b2通過合約0xe714部署了多簽合約0x4f3a,合約所有權歸黑客所有,因此5月27日轉入的2000萬OP被黑客盜取。在Gnosis Safe: Proxy Factory 1.1.1合約中,其中創建代理合約函數createProxy如下:

CoinShares:上周數字資產投資產品凈流出680萬美元:金色財經報道,據CoinShares報告顯示,上周數字資產投資產品凈流出680萬美元。其中,比特幣投資產品凈流出1080萬美元,以太坊投資產品凈流入510萬美元,做空比特幣的投資產品凈流出350萬美元。[2023/2/13 12:04:24]

Gnosis Safe: Proxy Factory 1.1.1合約使用的是0.5版本的Solidity,使用new來創建合約時使用的是create命令,而不是create2。使用create命令創建合約,合約地址是msg.sender以及nonce來計算的。在Ethereum/L1上面,創建多簽合約0x4f3a的msg.sender就是Gnosis Safe: Proxy Factory 1.1.1的地址,黑客在Optimism/L2通過重放交易來創建于Gnosis Safe: Proxy Factory 1.1.1合約的主要目的就是為了保證在Optimism/L2上創建合約0x4f3a的msg.sender與在Ethereum/L1上一致,那么黑客可以很方便的通過智能合約(合約0xe714)調用createProxy函數來創建出地址是0x4f3a的合約。

CoinShares報告:加密投資產品的周流出總額達2.07億美元:1月11日消息,據 CoinShares 周一發布的一份報告,截至 1 月 7 日的 7 天內,加密投資產品的周流出總額達到創紀錄的 2.07 億美元,其中專注于比特幣的投資基金在 7 天內流出了 1.07 億美元,從 12 月中旬開始的市場拋售壓力導致加密基金 4 周的資金流出總額達到 4.65 億美元。

CoinShares 指出,在過去的四個星期里,基金交易額占比特幣總交易額的比例高達 25%,這突顯出投資者的活動比平時更多,以以太坊為重點的基金產品上周流出 3900 萬美元,使過去 4 周的資金流出達到 1.8 億美元。[2022/1/11 8:40:27]

(4)6月5日,多簽合約0x4f3a在接收到2000萬OP后,將100萬OP轉賬給黑客地址0x60b2,然后將100萬OP兌換成了720.7 Ether。

(5)6月9日,合約0x4f3a將其中的100萬OP轉賬給了賬戶地址0xd8da, 其他的1800萬OP仍然在合約0x4f3a中。

本次攻擊根本原因是:交易重放、Solidity舊版本漏洞以及主鏈和側鏈交易簽名驗證等綜合因素

2.2 Omni

2022年9月18日,以太坊合并完成后,PoW鏈遭到PoS鏈上交易的重放攻擊,根本原因是網橋未正確讀取并驗證區塊鏈的chainid。攻擊者首先通過Gnosis鏈的Omni跨鏈橋轉移了200 WETH,然后在PoW鏈上重放了相同的消息,獲得了額外的200 ETHW。

(1)PoS鏈交易hash:0xbddb0cc8bc9949321e1748f03503ed1a20dd618fbf0a51dc5734c975b1f8bdf5

(2)PoW鏈交易hash:0x9c072551861ce384203516f4d705176a2d2e262d5b571d853467425f1a861fb4

我們對比發現兩筆交易訪問的合約相同,并且inputdata完全相同,即調用了同一個合約的同一個函數并且參數相同,根據相同的方法簽名ID 0x23caab49可知,黑客調用safeExecuteSignaturesWithAutoGasLimit函數。

在正常的交易中,我們通過nonce來進行排序交易,避免重復交易。在跨鏈中,我們會根據chianid進行識別鏈的類型,比如以太坊主網的chainid是1,ETHW主網的chainid是10001。

我們查看一下Omni Bridge驗證chainid的邏輯,發現chainid的來源于unitStorage中存儲的值,而不是通過操作碼 CHAINID(0x46)直接讀取的鏈上chainid。

unitStorage是合約EternalStorage中的狀態變量,sourceChainId()函數所在的合約BasicAMB繼承了BasicBridge和VersionableAMB。其中,BasicBridge陸續繼承了合約EternalStorage。這里保存的chainid是預先存儲好的,如果發生區塊鏈的硬分叉而chainid又沒有重新設置或者chainid人為設置有誤,從合約層面上來說,由于不是通過操作碼獲取的chainid,不會正確驗證跨鏈消息的實際chainid。

本次攻擊根本原因是:主要是Omni使用的solidity版本是0.4.24,采用的是手動存儲和更新chainid的方式,并未通過EIP-1344中規定的CHAINID(0x46)操作碼進行實際chainid獲取。

三、預防措施

針對重放攻擊主要有以下幾種預防的方法:

(1)可以在簽名消息中加入chainid和nonce兩個參數值,chainid用于識別鏈ID的標識符,nonce是交易次數計數值。

(2)記錄簽名是否使用過,比如利用mapping進行簽名中對應參數映射為bool值,這樣做可以防止簽名多次使用。

(3)項目上線前,需聯系專業的第三方專業審計團隊進行審計。

來源:tuoniaox

鴕鳥區塊鏈

媒體專欄

閱讀更多

金色早8點

比推 Bitpush News

Foresight News

PANews

Delphi Digital

區塊鏈騎士

深潮TechFlow

鏈捕手

區塊律動BlockBeats

DeFi之道

Tags:HAICHAChainAINABC.ChainAvocado Blockchain GroupDocuChainShipChain

幣贏
區塊鏈:研究員:2017 到 2022 加密行業的資本配置格局發生了什么變化?

作者:@dantwany,The Block上周加密世界的事(指 FTX 倒塌)讓我開始自我反省。在過去的 4 年里,我一直在跟蹤和分析加密行業的資本配置.

1900/1/1 0:00:00
ALG:全球可持續發展危機持續 Algorand 引領Web3.0走向「負碳之路」

Algorand致力于成為「負碳區塊鏈」,其在推動 Web3.0成為可持續生態系統方面也處于領先地位.

1900/1/1 0:00:00
DAO:SeeDAO萬字專訪:11個月4次進出鬼門關 SeeDAO積累了什么樣的共識和經驗?

原文:《SeeDAO萬字專訪:11個月4次低谷,一個DAO如何從停滯中重生?》作者:Jack(0x137),BlockBeats在成立以來的11個月時間里.

1900/1/1 0:00:00
以太坊:解析:EIP-4337如何用賬戶抽象來改善以太坊復雜的用戶體驗問題

文:Nishil 來源:推特 以太坊的一個主要缺點是用戶體驗復雜。本文將帶你了解Nethermind和OpenGSN.eth于2021年9月21日提出的EIP-4337如何嘗試使用賬戶抽象來解決.

1900/1/1 0:00:00
SBF:SBF為什么不認罪?會有哪些翻案的可能?

本文來自 coindesk,原文作者:David Z. MorrisOdaily 星球日報譯者 | Moni 本周二(1 月 4 日).

1900/1/1 0:00:00
WEB:寒冬更應做好 Web3 營銷 如何做?

撰文:Alex Topchishvili,CoinList 營銷總監 導讀: 在熊市,項目的營銷預算減少,用戶的互動意愿也會降低。很多的 Web3 市場朋友都表達出「熊市很難做營銷」的觀點.

1900/1/1 0:00:00
ads