北京時間2021年8月27日20點50分左右,以太坊突然出現分叉。我們通過分析Geth的代碼版本修改和這筆造成分叉的交易厘清了以太坊分叉的根本原因:Geth舊版本在處理預編譯合約調用時,并未考慮特殊情況下參數值的處理,從而引發重疊拷貝,導致返回值異常。該漏洞已提交Geth官方,目前尚未披露細節,但攻擊者已經利用漏洞實施了攻擊。我們認為及時的分析和披露是必要的,也希望我們的分析能夠為社區提供必要的理解和幫助。
攻擊分析
運用我們的在線分析工具,可以看出:
EthHub聯合創始人:EIP-1559、EIP-3074、EIP-3675是以太坊的神圣三位一體:EthHub聯合創始人Anthony Sassano在推特上表示,EIP-1559、EIP-3074、EIP-3675是以太坊的神圣三位一體。[2021/7/23 1:11:11]
圖一
這筆交易執行了一個精心構造的STATICCALL,攻擊者將addr設為0x04,inOffset為0,inSize為32,retOffset為7,retSize為32。
以太坊2.0創世驗證者地址存款已達2,828,066枚ETH:Tokenview鏈上數據監測,以太坊2.0創世驗證者地址截止2021年1月24日已接收87,472筆共計2,799,104枚ETH,目前占據以太坊地址富豪榜排名第3,占比整個ETH流通量的2.5%。Kraken:Eth2 Depositor, Staked.us:Eth2 Depositor近兩日保持活躍。[2021/1/25 13:27:50]
圖二
由于STATICCALL的目標地址是預編譯合約,所以會執行圖二中的RunPrecompiledContract。
獨家|以太坊當前建議Gas費用為68.4Gwei 環比上升72.42%:金色財經消息,據歐科云鏈OKLink鏈上數據顯示,以太坊24h鏈上活躍地址數逾45.09萬,環比下降7.69%;鏈上交易量近260.1萬ETH,環比下降19.97%;鏈上交易筆數逾111.88萬筆,環比下降1.17%。
截至下午2時,以太坊全網算力約為251.96TH/s,環比上升0.15TH/s,當前建議Gas費用為68.4Gwei,環比上升72.42%,未確認交易數約15.25萬筆。[2020/10/30 11:14:00]
圖三
圖四
根據圖三和圖四的代碼,可以看到預編譯合約0x04真正執行的邏輯只是簡單地把in返回。
圖五
圖六
圖五是STATICCALL的執行過程,753行是執行預編譯合約的入口,751行的args指向EVM的Memory中inOffset~inOffset+inSize這篇區域的指針,也就是說args指向Mem。
根據圖六以及前文對預編譯合約0x04的分析,我們可以知道753行的返回值ret是與args完全相同的指針,也指向Mem。
在1.10.7版本的Geth中:762行將ret指向的值賦給EVM的Memory中retOffset~retOffset+retOffset這篇區域,也就是將Mem的值賦給Mem,而由于ret是一個指向Mem的指針,這次Memory.Set修改了Mem的值,也就修改了ret所指的值。所以在第771行返回的ret已經不是預編譯合約執行結束時的ret了。在1.10.8版本的Geth中:增加了766行:ret=common.CopyBytes,將Mem中的值做了一次深拷貝賦給ret,那么在767行執行的Memory.Set只會修改Memory而不會修改ret,在771行返回的ret就是正確的ret。總結
通過對整個攻擊流程的梳理和Geth源代碼的分析,我們認為根本原因在于Geth舊版本在處理預編譯合約的調用時并未考慮異常值的處理,導致攻擊者利用該漏洞實施了重疊拷貝,影響了返回值,最終導致分叉的出現。由于Geth是BSC、HECO、Polygon等公鏈的基礎,因此該漏洞影響范圍甚廣。目前各公鏈也先后推出了升級和補丁,我們也呼吁各相關節點盡早升級打上補丁,以確保基礎設施的安全。
據彭博社8月20日報道,巴西央行行長RobertoCamposNeto周四在美洲委員會組織的一場活動中表示,監管方需要更好地關注投資者對加密貨幣的需求,因為加密貨幣不會消失.
1900/1/1 0:00:00來源:星空財經 作者:summer 星空財經提示:本文編譯自washingtonpost.com,共計3500字,歡迎留言交流.
1900/1/1 0:00:00區塊鏈游戲原本就要即將消逝遠去,神奇的區塊鏈世界總有無數的熱情感染這個世界。AxieInfinity、SAND、YGG等重要代表游戲不僅僅重新點燃了區塊鏈游戲的熱情,還帶動了NFT板塊.
1900/1/1 0:00:00據U.Today8月28日消息,負責XRPLedger區塊鏈平臺開發的軟件團隊XRPLabs公布了一項重要的建議,可以將一種新型帳戶添加到XRPL工具包中.
1900/1/1 0:00:00據LiveBitcoinNews報道,加密貨幣負責人馬修·羅扎克(MatthewRoszak?)在最近的一次采訪中表示,基礎設施法案是“糟糕”政府監管的一個典型例子,需要更多公眾人物表示反對.
1900/1/1 0:00:00巴比特訊,8月16日,PolyNetwork攻擊者再次留下鏈上信息,主要內容如下:錢對我來說意義不大,有些人是拿錢來做黑客的,我寧愿為樂趣而付錢.
1900/1/1 0:00:00