北京時間2021年8月27日20點50分左右,以太坊突然出現分叉。我們通過分析Geth的代碼版本修改和這筆造成分叉的交易厘清了以太坊分叉的根本原因:Geth舊版本在處理預編譯合約調用時,并未考慮特殊情況下參數值的處理,從而引發重疊拷貝,導致返回值異常。該漏洞已提交Geth官方,目前尚未披露細節,但攻擊者已經利用漏洞實施了攻擊。我們認為及時的分析和披露是必要的,也希望我們的分析能夠為社區提供必要的理解和幫助。
攻擊分析
運用我們的在線分析工具,可以看出:
以太坊生態新協議 Alexandria 目前已完成延展網絡和 SSZ 構建 正在設計營銷機制:開發人員 Piper Merriam 撰文公布以太坊生態新協議 Alexandria 的開發進展,目前該協議還在開發當中。Alexandria 的目標是提供一個新的點對點網絡,以揭示以太坊的區塊鏈歷史情況。該網絡的首個迭代版本將能存儲區塊頭鏈(header chain)以及進行區塊高度的索引映射。目前,Alexandria 已完成延展網絡(Overlay Network)和簡單序列化編碼規范(SSZ)的構建,Alexandria 網絡建立在 Discovery V5 DHT (用于將鍵映射到值的分布式系統)上,并將使用 Merkle 證明和簡單序列化編碼規范(SSZ)。Alexandria 的營銷機制還在設計中,該機制將使網絡中的節點能夠找到具有所需內容的其他節點。另外,Piper Merriam 表示,若該協議能夠成功開發,將為以太坊社區帶來兩個好處,分別為:1. 以太坊客戶端將一個備用數據源來檢索這些數據,從而最大程度地減少節點對硬盤的需求;2. Alexandria 網絡的按需性質可為輕客戶端奠定基礎。[2020/11/17 21:04:10]
圖一
數據:基于ERC-20代幣總市值已超以太坊總市值 市值差創歷史新高:鏈上分析公司Santiment研究顯示,所有基于ERC-20的代幣總市值已經超過以太坊本身的市值,這是目前ERC-20代幣與以太坊的最高市值差距。目前所有ERC-20資產的總市值為467億美元,而以太坊市值僅略高于410億美元。今年已經發生了兩次類似的短暫波動,持續時間最長的波動發生在7月。以太坊8月份的價格飆升使市值超過500億美元,但隨后的調整使ERC-20代幣的市值再次超過了它。據悉,Tether在ERC-20資本中占很大份額,約為89億美元,占USDT總供應量的60%。在過去的幾個月里,DeFiyield farming的激增導致了大量新的ERC-20代幣進入市場,促使總市值增加。[2020/9/11]
這筆交易執行了一個精心構造的STATICCALL,攻擊者將addr設為0x04,inOffset為0,inSize為32,retOffset為7,retSize為32。
動態 | 數據顯示:多數以太坊Dapp24小時用戶數不足千人:根據Dappradar數據,以太坊上的Dapp中24小時用戶數最多的是IDEX,有1613名用戶。曾經先后紅極一時的游戲加密貓和Fomo3D24小時用戶數量分別為442和728。加密貨幣交易所Bancor24小時用戶數為356。[2018/8/18]
圖二
由于STATICCALL的目標地址是預編譯合約,所以會執行圖二中的RunPrecompiledContract。
圖三
圖四
根據圖三和圖四的代碼,可以看到預編譯合約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等公鏈的基礎,因此該漏洞影響范圍甚廣。目前各公鏈也先后推出了升級和補丁,我們也呼吁各相關節點盡早升級打上補丁,以確保基礎設施的安全。
據LiveBitcoinNews報道,阿富汗的內亂仍在繼續,在塔利班接管之前,像穆罕默德·阿里這樣的人物試圖為該國帶來全新水平的基于加密的創新.
1900/1/1 0:00:00日前,深圳市稅務局黨委委員、總經濟師項清透露,深圳“智稅”創新實驗室上線區塊鏈電子發票系統后,參與發起的《基于區塊鏈技術的電子發票應用推薦規程》國際標準,正式由IEEE確認并發布.
1900/1/1 0:00:00據Beincrypto消息,基于以太坊的非同質代幣(NFT)項目CoolCats宣布與標志性新聞雜志TIME合作.
1900/1/1 0:00:00據PAHouse消息,最近成立的美國兩黨新興技術核心小組主席、州眾議員NapoleonNelson公布了一項區塊鏈立法方案,旨在促進賓夕法尼亞州這一新興行業負責任、審慎的擴張.
1900/1/1 0:00:00巴比特訊,8月19日,Uniswap社區發起提案,計劃籌集價值2500萬美元的UNI,通過自動化投資策略獲取收益,并將50%的收益分發給社區成員或DuneAnalytics等行業機構.
1900/1/1 0:00:00加入PolkaWorld社區,共建Web3.0! Polkadot Polkadot官方發布了關于crowdloans如何運作以及如何安全參與crowdloans的內容.
1900/1/1 0:00:00