作者:慢霧安全團隊
當我們談論區塊鏈時,總是離不開這些技術:分布式存儲、P2P網絡和共識機制,本次我們要談的問題就是出現在P2P對等網絡協議上。
異形攻擊實際上是一個所有公鏈都可能面臨的問題,我們用以太坊為例子說明。以太坊的P2P網絡主要采用了Kademlia(簡稱Kad)算法實現,Kad是一種分布式哈希表(DHT)技術,使用該技術,可以實現在分布式環境下快速而又準確地路由、定位數據的問題。
什么是異形攻擊?
首先,我們先定義一個同類鏈的概念,是指使用了和其它區塊鏈相同或兼容協議的區塊鏈系統。
異形攻擊又稱地址池污染,是指誘使同類鏈的節點互相侵入和污染的一種攻擊手法,漏洞的主要原因是同類鏈系統在通信協議上沒有對非同類節點做識別。
俄烏沖突升級 現貨黃金大漲40美元:2月24日消息,早間受到俄羅斯與烏克蘭沖突影響,避險情緒升溫,現貨黃金上漲40美元,最高漲至1950附近;現貨白銀突破25美元/盎司,日內漲近2%。WTI原油日內大漲4%,現報96美元/桶,布倫特原油漲3.98%。美元兌俄羅斯盧布漲5.23%,至85.39,為2016年1月以來的最高水平。另據央視報道,烏克蘭已宣布關閉全國領空。[2022/2/24 10:12:47]
以太坊異形攻擊是指,以太坊同類鏈由于使用了兼容的握手協議,無法區分節點是否屬于同個鏈,導致地址池互相污染,節點通信性能下降,最終造成節點阻塞的一種攻擊方式。
1.正常的節點發現過程
巴以沖突已造成至少65名巴勒斯坦人死亡:12日,隨著巴以雙方沖突進一步升級,雙方人員傷亡數字上升。據巴勒斯坦加沙地帶衛生部門發布的最新消息,自10日以來,以色列的空襲已經在加沙地帶造成至少65名巴勒斯坦人死亡,其中包括16名兒童;另有300多名巴勒斯坦人受傷。另據以色列方面消息,截至目前,沖突已造成以境內6人死亡,100多人受傷。(央視新聞)[2021/5/13 21:56:41]
以太坊同類鏈節點間通過4個UDP通信協議來完成節點發現,消息結構如下:
ping:探測一個節點是否在線
pingstruct{VersionuintFrom,TorpcEndpointExpirationuint64Restrlp.RawValue`rlp:"tail"`}
也門政府軍和胡塞武裝持續沖突 兩天導致96人死亡:當地時間16日,也門政府軍與胡塞武裝在也門中部的馬里卜省繼續交火。也門聯合政府官員當天向媒體透露,過去48小時,雙方的戰斗造成96人死亡,其中包括36名政府軍士兵和60名胡塞武裝成員。政府軍方面還表示,胡塞武裝不斷對馬里卜省首府馬里卜市發起激烈攻勢,對該市的西北防線構成威脅,政府軍則在一些關鍵地點進行阻擊。馬里卜省是也門主要的石油產區,也是也門政府在北部控制的唯一地區,以及以沙特為首的多國聯軍指揮部所在地。(央視新聞)[2021/4/16 20:28:34]
pong:響應Ping命令
pongstruct{TorpcEndpointReplyTokbyteExpirationuint64Restrlp.RawValue`rlp:"tail"`}
動態 | 巴勒斯坦沖突地區用戶使用比特幣進行跨境交易:巴勒斯坦加沙的金融分析師Ahmed Ismail估計,至少有20個非正式的“交易所”辦事處在向巴勒斯坦當地用戶提供加密貨幣,在他們看來,比特幣更便宜、安全、快捷。Ismail曾幫助30個客戶使用比特幣進行海外投資,因為除此之外沒有方法投入資金。[2018/9/18]
findnode:查找與Target節點異或距離最近的其他節點
findnodestruct{TargetNodeIDExpirationuint64Restrlp.RawValue`rlp:"tail"`}
neighbors:響應FindNode命令,會返回一或多個節點
neighborsstruct{NodesrpcNodeExpirationuint64Restrlp.RawValue`rlp:"tail"`}
2.攻擊過程
https://github.com/smartheye/EthStaticNodesTool/blob/master/MainNet/static-nodes.txt–第一步:發起惡意握手。
攻擊者A模擬整個握手過程,主動發起ping操作,并利用協議的第4步neighbors,將返回的鄰居表修改成我們收集到的以太坊節點地址,推送給受害節點B。由于單次通信只能推送16個地址,我們需要多次推送以達到攻擊效果。
–第二步:污染地址池。
B收到大量A返回的鄰居表,嘗試跟這些節點握手,并將這些節點加入了自己的地址池。
–第三步:污染自動擴散。
讓人意外的是,不同鏈的節點居然互相握手成功了,更為可怕的是,它們把各自地址池里已知的節點推送給了對方,導致更多的節點互相污染,最終擴散致整個網絡。
漏洞危害
受異形攻擊的同類鏈節點無法找到真正可用的節點,無法建立TCP數據同步通道,導致節點被攻擊離線。
對于礦池或者出塊節點,異形攻擊可能導致廣播延遲甚至失敗,造成收益損失。
異形攻擊可以使所有以太坊同類鏈地址池相互污染,導致節點通信效率全面下降,對整個區塊鏈系統造成長久的傷害。
影響范圍
我們對知名公鏈QuarkChain進行安全審計時發現,QuarkChain的節點在遭受異形攻擊后,節點性能嚴重下降,外部節點需要很長時間才能與受害節點建立連接。QuarkChain團隊隨后修復了該問題。
理論上所有使用了以太坊discv4協議的區塊鏈都可能受此漏洞影響,在發起測試后的一段時間,我們觀測到EtherNode的監測節點也已經被污染了,污染的擴散速度似乎比想象中的要快。
也許,以太坊需要來一次清洗。
后記
1、此漏洞對以太坊是否有影響?
以太坊的節點數量遠大于其它同類鏈節點,并且節點間已經建立了穩定的連接,影響不明顯。但對于其它的同類鏈節點,卻會受到來自以太坊節點的強勢侵入,導致通信阻塞。
2、很多朋友關心除了以太坊之外,其它的公鏈是否有此問題,比如比特幣和它的山寨幣,比如使用了libp2p協議的公鏈,這些問題我們將在后續文章中披露!
十分感謝QuarkChain團隊大力協助本次測試!
親愛的用戶:?? IDAX將上線IOTW。開通IOTW/BTC,IOTW/ETH交易,立即前往.
1900/1/1 0:00:00什么是ZGToken? ZG.top是專業的區塊鏈資產綜合服務商,致力于打造區塊鏈項目的一站式服務平臺,集ZGEX、ZGLabs、ZGnews、ZGtoken、ZGFund等業務板塊于一體.
1900/1/1 0:00:00親愛的KuCoin用戶 KuCoin將于2019年5月14日上線Spotlight第二期申購項目Trias(TRY),同時為給用戶提供更加公平公正的申購活動,我們制定了新的申購規則——抽獎模式.
1900/1/1 0:00:00親愛的幣贏網COINW用戶:關于BitcoinSV及其創造者CSW的爭議已經持續一周,我們也持續關注事件進展并對BCHSV項目進行了深度的再審核,在這次審核過程中,我們綜合考慮各種因素.
1900/1/1 0:00:00親愛的Bit-Z用戶: 因項目方節點升級,Bit-Z已暫停MHC充幣服務,待升級完成后將盡快開放,充幣未到賬會在節點升級完成后自動入賬。請留意官方公告。由此給您帶來不便,敬請諒解.
1900/1/1 0:00:00作者:YogitaKhatri翻譯:Penny毛里求斯金融服務委員會澄清了適用于啟動證券型代幣項目的規則.
1900/1/1 0:00:00