比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

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

Author:

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

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

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

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

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

一、什么是重放攻擊

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

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

CoinShares:上周數字資產投資產品流出7200萬美元:金色財經報道,CoinShares 表示,隨著投資者從比特幣和以太坊撤資,Solana、Algorand 和 Polygon 上周出現少量資金流入。截至 4 月 28 日的一周,數字資產投資產品流出 7200 萬美元,這是對進一步加息可能性的反應,這也是連續第二周下降。比特幣是市場份額最大的加密貨幣,流出量最多,總計 4600 萬美元。以太坊經歷了自 9 月 The Merge 以來最大的一周資金流出,投資者撤出 1900 萬美元。?[2023/5/3 14:39:13]

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

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

JustSwap白名單項目SharkTron跑路,損失3.66億至4億枚TRX:DeFi項目SharkTron的開發者據稱竊取1000萬美元的TRX。社區指責SharkTron匿名開發者是退出騙局,已經卷走數億枚TRX跑路。雖然具體的盜竊金額仍不得而知,但推特用戶報告稱損失3.66億至4億枚TRX(價值約1000萬美元)。

波場基金會官方推特賬戶證實了此事,并已經聯系幣安共同追查罪犯者和被盜資金。雖然幣安已經凍結一部分資金,但其他交易所也可能參與追討這筆資金。該團隊建議受害者向當地警察提交報告。

一些用戶聲稱,SharkToken是波場去中心化交易所JustSwap的白名單項目。推特用戶曾提醒波場創始人孫宇晨該項目的欺詐性質,甚至要求他屏蔽匿名開發人員的錢包。但是,孫宇晨沒有理會這些警告。一些人甚至指責孫宇晨直接參與了這場騙局;然而,這些指控沒有得到事實的證實。(FXStreet)[2020/11/10 12:12:07]

二、攻擊事件分析

CoinShares研究主管:3月份價格暴跌為礦商提前做好了減半準備:CoinShares研究主管Chris Bendikson表示,他認為最近3月份的價格暴跌為礦業公司提前做好了減半的準備,這將減少減半可能對其盈利能力造成的突然影響,因為設備陳舊的人已經被迫退出或升級。他表示,在減半之后,再加上可能幾個月的潛在風險波動,采礦業將處于更有利的地位,整體成本基礎更低。(Cointelegraph)[2020/4/9]

2.1Optimism

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

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

動態 | 加拿大演員William Shatner支持V神:據coindesk消息,八十七歲的加拿大演員和制片人William Shatner發推文支持以太坊創始人V神。[2018/11/8]

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

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

美國天才少年Marshal Webb擔任Path Network項目CTO:美國天才少年Marshal Webb聯合眾多白帽黑客打造Path Network項目并擔任CTO,該項目通過眾多上網設備組成一個面向全世界的分布式節點監控網絡,提供DDoS攻擊報告、DNS劫持分析等多維度企業級監控服務。Path Network將顛覆傳統公司臃腫的監控系統,用戶通過分享多余的帶寬和計算資源來獲得PATH token作為回報。據悉,豪華顧問團隊囊括安全領域頂尖黑客Eric Taylor、領英基礎架構大師Shawn Zandi。[2018/3/10]

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

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

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

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

2.2Omni

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

PoS鏈交易hash:0xbddb0cc8bc9949321e1748f03503ed1a20dd618fbf0a51dc5734c975b1f8bdf5

PoW鏈交易hash:0x9c072551861ce384203516f4d705176a2d2e262d5b571d853467425f1a861fb4

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

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

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

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

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

三、預防措施

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

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

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

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

來源:tuoniaox

Tags:AINCHAHAIChainsupmchainOMA CHAINhotchainEthernity Chain

幣安交易所app下載
Web3正在重新定義粉絲的意義_NFT

Web3技術使粉絲們能夠以一種更加人際化的方式與同好、媒體、內容創作者甚至他們崇拜的名人進行互動,粉絲和創作者都可以獲得更人性化的體驗.

1900/1/1 0:00:00
Web3 從入門到精通_WEB3

原文作者:WHeart 其實在很早之前,我就計劃寫一篇《Web3新手教程》,送給想要進入Web3或者剛剛進入Web3的小伙伴,但是考慮到兩點原因,我還是打算把這件事推遲一些時日.

1900/1/1 0:00:00
急速墜落的 Solana 上 正在發生什么?_LANA

隨著FTX的倒下,作為“嫡系項目”的Solana也正在經歷至暗時刻。截至發文,SOL暫報14.24美元,24小時跌幅22.09%,一周跌幅更是高達53.8%,更為可怕的是,還有大量SOL正處于質.

1900/1/1 0:00:00
一文了解以太坊上海升級計劃:確認開放質押提款_以太坊

原文作者:ChristineKim 編譯:DeFi之道 2022年11月10日,以太坊開發人員齊聚第149次全體核心開發者(ACD)電話會議.

1900/1/1 0:00:00
FTX破產“大地震”后 Web3.0將走向何方?_OCTO

在東京居住多年的我早就對地震習以為常,但是當一場規模巨大且影響持久的地震發生時,我仍會感到震驚。這種恐懼來自于建筑物吸收地震能量時發出的可怕聲響,以及關于地震造成人員傷亡的種種新聞.

1900/1/1 0:00:00
金色觀察 | StarkNet代幣已部署 了解5個關鍵事項_STA

StarkNet代幣發布在即。11月16日StarkNet開發公司StarkWare在推特上表示,StarkNet的ERC-20代幣合約已部署至以太坊,但StarkNet基金會仍需要時間來確定代.

1900/1/1 0:00:00
ads