重放攻擊是把原鏈網絡上的交易拿到目標鏈網絡上使用
問:我們常提到的智能合約漏洞真的是實際中威脅最大、發生最頻繁的安全漏洞嗎?
答:完全不是那樣。例如“溢出”、“外部調用”等常提到的智能合約安全漏洞并不是最常發生,威脅最大的。
到底哪些安全威脅從發生頻率和危害性上能稱為Top10的呢?SharkTeam合約安全系列課程之[十大智能合約安全威脅]和您一起討論和深入。第十課[詳解重放攻擊]。
一、什么是重放攻擊
重放攻擊是把原鏈網絡上的交易拿到目標鏈網絡上使用,即一筆交易重復執行,我們根據類型可以分為交易重放和簽名重放。
交易重放是將原鏈上的交易一成不變放到目標鏈上,重放過后交易在目標鏈上可以正常執行并完成交易驗證。
ProShares推出的“Short Bitcoin Strategy ETF”第二個交易日交易量達3500萬美元:6月23日消息,ProShares推出的做空比特幣的交易所交易基金(ETF)“Short Bitcoin Strategy ETF”第二個交易日交易量超87萬股(約3500萬美元)。(Business Wire)[2022/6/23 1:26:43]
簽名重放利用私鑰簽名的消息進行重放,重放過程中無需像交易重放那樣去重放整個交易,而是重放相應的簽名信息。
在實施EIP 155后,交易簽名帶有chainid,即鏈與分叉鏈之間的標識符。由于chainid不同,交易重放無法完成,簽名重放可以間接完成。在以太坊完成分叉后,ETHW主網出現數起重放攻擊事件,讓我們回顧一下這些攻擊事件前因后果。
二、攻擊事件分析
2.1 Optimism
2022年6月9日消息,據Optimism與加密貨幣做市商 Wintermute 透露,2000萬個Optimism代幣被黑客盜取。重放攻擊過程如下:
21Shares宣布在SIX Swiss Exchange上線Solana ETP等產品:3月10日消息,ETP發行商21Shares宣布在SIX Swiss Exchange上線以瑞士法郎計價的Cardano、Polkadot、Ripple、Solana ETP。
21Shares聲稱,其實物支持的Ripple XRP ETP是首個Ripple ETP產品,交易代碼為AXRP。(Cryptoglobe)[2022/3/10 13:49:27]
(1)5月27日,Optimism地址0x2501向Optimism/L2上的0x4f3a地址轉賬2000萬OP,0x4f3a地址在Ethereum/L1上是Wintermute的多簽合約地址,但此時在Optimism/L2上面并沒有部署合約;
(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發布新指數同時追蹤黃金和加密貨幣:數字資產管理公司CoinShares今日發布新指數,該指數被稱為CoinShares黃金和加密貨幣指數(CGCI),旨在以“風險管理”方式為投資者提供加密貨幣敞口。據悉,該指數通過利用其與加密貨幣的關聯來提高投資者的平均回報,同時通過結合黃金固有的風險承受能力來降低波動性。(Decrypt)[2020/5/26]
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的合約。
動態 | ShapeShift首席執行官評Kraken監管查詢增加事件 稱政府正在用Kraken的錢干警察的工作:針對2019年Kraken收到的監管查詢增加了50%的相關消息,加密交易所ShapeShift首席執行官Erik Voorhees發推表示,Kraken每天需要處理兩個正式的監管查詢事務,這很悲傷,因為這會使得生產性產業被轉移,這將會使世界更貧窮。政府正在花費Kraken的資金來做警察的工作。[2020/1/7]
(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
動態 | Power Ledger與日本共享能源公司Sharing Energy達成合作:據鳳凰科技報道,位于澳大利亞的Power Ledger公司近日宣布與日本的共享能源公司Sharing Energy建立合作伙伴關系。Power Ledger提供基于區塊鏈的標記化能源交易平臺,而Sharing Energy則是太陽能裝置和設備的供應商。該伙伴關系的初步試點項目將跟蹤關西、中部和九州地區100名個人太陽能電池板的可再生能源消耗。Power Ledger公司表示,通過區塊鏈能源交易平臺將改變可再生能源分配系統,同時減少碳足跡。[2019/2/1]
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:CHAChainHAIAINvankiachainPlug Chainstbchainchainlink幣潛力2021
原文作者:Thor Hartvigsen,DeFi 研究員原文編譯:Leo,BlockBeats2022 的行業洗牌勢必會給 2023 的加密帶來更新的轉變.
1900/1/1 0:00:00本文來自 crypto-news-flash,原文作者:Paul Ade盡管目前處理 FTX 破產案件的法院并未規定提交申索賠請的截止日期,但提交索賠申請越早越好.
1900/1/1 0:00:00編譯:Zion 在過去幾年里,大量藝術家進入了加密經濟。這些創作者的主要動力是什么?能夠從其作品的二次銷售中賺取版稅。然而,在目前的范式中,NFT版稅最終是可選項.
1900/1/1 0:00:00文:@SalomonCrypto 來源:推特 世界計算機以太坊誕生于大約7年前;就像之前的互聯網一樣,它的發展是混亂的,成長的痛苦是巨大的……但回報是值得的.
1900/1/1 0:00:00撰文:Frank,Foresight News2020 年加密衍生品交易巨頭 BitMEX 式微后,FTX 等 CEX 接棒衍生品交易,或許也正因如此,在 FTX 此輪崩潰過程中.
1900/1/1 0:00:00原文來源:@SalomonCrypto 原文作者:Haym 以太坊的兩個基礎:區塊提議和MEV-Boost什么是區塊提議者?什么是 MEV-Boost.
1900/1/1 0:00:00