您的位置:首頁 > 區(qū)塊鏈 >

        公鏈都可能面臨異形攻擊 導(dǎo)致節(jié)點(diǎn)被攻擊離線

        2019-04-19 08:49:31 來源: 慢霧安全團(tuán)隊(duì)

        當(dāng)我們談?wù)搮^(qū)塊鏈時(shí),總是離不開這些技術(shù):分布式存儲(chǔ)、P2P 網(wǎng)絡(luò)和共識(shí)機(jī)制,本次我們要談的問題就是出現(xiàn)在 P2P 對(duì)等網(wǎng)絡(luò)協(xié)議上。異形攻擊實(shí)

        當(dāng)我們談?wù)搮^(qū)塊鏈時(shí),總是離不開這些技術(shù):分布式存儲(chǔ)、P2P 網(wǎng)絡(luò)和共識(shí)機(jī)制,本次我們要談的問題就是出現(xiàn)在 P2P 對(duì)等網(wǎng)絡(luò)協(xié)議上。

        異形攻擊實(shí)際上是一個(gè)所有公鏈都可能面臨的問題,我們用以太坊為例子說明。以太坊的 P2P 網(wǎng)絡(luò)主要采用了 Kademlia (簡稱 Kad ) 算法實(shí)現(xiàn),Kad 是一種分布式哈希表( DHT )技術(shù),使用該技術(shù),可以實(shí)現(xiàn)在分布式環(huán)境下快速而又準(zhǔn)確地路由、定位數(shù)據(jù)的問題。

        什么是異形攻擊?

        首先,我們先定義一個(gè)同類鏈的概念,是指使用了和其它區(qū)塊鏈相同或兼容協(xié)議的區(qū)塊鏈系統(tǒng)。

        異形攻擊又稱地址池污染,是指誘使同類鏈的節(jié)點(diǎn)互相侵入和污染的一種攻擊手法,漏洞的主要原因是同類鏈系統(tǒng)在通信協(xié)議上沒有對(duì)非同類節(jié)點(diǎn)做識(shí)別。

        以太坊異形攻擊是指,以太坊同類鏈(具體的說是使用以太坊 P2P discv4 節(jié)點(diǎn)發(fā)現(xiàn)協(xié)議的公鏈,包括以太坊、以太經(jīng)典)由于使用了兼容的握手協(xié)議,無法區(qū)分節(jié)點(diǎn)是否屬于同個(gè)鏈,導(dǎo)致地址池互相污染,節(jié)點(diǎn)通信性能下降,最終造成節(jié)點(diǎn)阻塞的一種攻擊方式。

        1. 正常的節(jié)點(diǎn)發(fā)現(xiàn)過程

        以太坊同類鏈節(jié)點(diǎn)間通過 4 個(gè) UDP 通信協(xié)議來完成節(jié)點(diǎn)發(fā)現(xiàn),消息結(jié)構(gòu)如下:

        [1] ping: 探測一個(gè)節(jié)點(diǎn)是否在線

        [2] pong: 響應(yīng) Ping 命令

        [3] findnode: 查找與 Target 節(jié)點(diǎn)異或距離最近的其他節(jié)點(diǎn)

        [4] neighbors: 響應(yīng) FindNode 命令,會(huì)返回一或多個(gè)節(jié)點(diǎn)

        2. 攻擊過程

        準(zhǔn)備工作:收集以太坊節(jié)點(diǎn)地址

        我們找到了社區(qū)制作的一個(gè)地址庫: https://github.com/smartheye/EthStaticNodesTool/blob/master/MainNet/static-nodes.txt

        第一步:發(fā)起惡意握手。

        攻擊者 A 模擬整個(gè)握手過程,主動(dòng)發(fā)起 ping 操作,并利用協(xié)議的第 4 步 neighbors,將返回的鄰居表修改成我們收集到的以太坊節(jié)點(diǎn)地址,推送給受害節(jié)點(diǎn) B(B 是一個(gè)以太坊同類鏈節(jié)點(diǎn))。由于單次通信只能推送 16 個(gè)地址,我們需要多次推送以達(dá)到攻擊效果。

        第二步:污染地址池。

        B 收到大量 A 返回的鄰居表,嘗試跟這些節(jié)點(diǎn)握手,并將這些節(jié)點(diǎn)加入了自己的地址池(俗稱 K 桶)。

        第三步:污染自動(dòng)擴(kuò)散。

        讓人意外的是,不同鏈的節(jié)點(diǎn)居然互相握手成功了,更為可怕的是,它們把各自地址池里已知的節(jié)點(diǎn)推送給了對(duì)方,導(dǎo)致更多的節(jié)點(diǎn)互相污染,最終擴(kuò)散致整個(gè)網(wǎng)絡(luò)。

        漏洞危害

        受異形攻擊的同類鏈節(jié)點(diǎn)無法找到真正可用的節(jié)點(diǎn),無法建立 TCP 數(shù)據(jù)同步通道,導(dǎo)致節(jié)點(diǎn)被攻擊離線。

        對(duì)于礦池或者出塊節(jié)點(diǎn),異形攻擊可能導(dǎo)致廣播延遲甚至失敗,造成收益損失。

        異形攻擊可以使所有以太坊同類鏈地址池相互污染,導(dǎo)致節(jié)點(diǎn)通信效率全面下降,對(duì)整個(gè)區(qū)塊鏈系統(tǒng)造成長久的傷害。

        影響范圍

        我們對(duì)某知名公鏈進(jìn)行安全審計(jì)時(shí)發(fā)現(xiàn),該公鏈的節(jié)點(diǎn)在遭受異形攻擊后,節(jié)點(diǎn)性能嚴(yán)重下降,外部節(jié)點(diǎn)需要很長時(shí)間才能與受害節(jié)點(diǎn)建立連接。該公鏈團(tuán)隊(duì)隨后修復(fù)了該問題。

        理論上所有使用了以太坊 discv4 協(xié)議的區(qū)塊鏈都可能受此漏洞影響,在發(fā)起測試后的一段時(shí)間,我們觀測到 EtherNode 的監(jiān)測節(jié)點(diǎn)也已經(jīng)被污染了,污染的擴(kuò)散速度似乎比想象中的要快。

        也許,以太坊需要來一次清洗。

        后記

        1、 此漏洞對(duì)以太坊是否有影響? 以太坊的節(jié)點(diǎn)數(shù)量遠(yuǎn)大于其它同類鏈節(jié)點(diǎn),并且節(jié)點(diǎn)間已經(jīng)建立了穩(wěn)定的連接,影響不明顯。但對(duì)于其它的同類鏈節(jié)點(diǎn),卻會(huì)受到來自以太坊節(jié)點(diǎn)的強(qiáng)勢侵入,導(dǎo)致通信阻塞。

        2、 很多朋友關(guān)心除了以太坊之外,其它的公鏈?zhǔn)欠裼写藛栴},比如比特幣和它的山寨幣,比如使用了 libp2p 協(xié)議的公鏈,這些問題我們將在后續(xù)文章中披露!

        關(guān)鍵詞: 公鏈 異形攻擊 節(jié)點(diǎn)

        精選 導(dǎo)讀

        募資55億港元萬物云啟動(dòng)招股 預(yù)計(jì)9月29日登陸港交所主板

        萬科9月19日早間公告,萬物云當(dāng)日啟動(dòng)招股,預(yù)計(jì)發(fā)行價(jià)介乎每股47 1港元至52 7港元,預(yù)計(jì)9月29日登陸港交所主板。按發(fā)行1 167億股計(jì)算,萬

        發(fā)布時(shí)間: 2022-09-20 10:39
        管理   2022-09-20

        公募基金二季度持股情況曝光 隱形重倉股多為高端制造業(yè)

        隨著半年報(bào)披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場基金總數(shù)為9794只,資產(chǎn)凈值為269454 75億元,同比上

        發(fā)布時(shí)間: 2022-09-02 10:45
        資訊   2022-09-02

        又有上市公司宣布變賣房產(chǎn) 上市公司粉飾財(cái)報(bào)動(dòng)作不斷

        再有上市公司宣布變賣房產(chǎn)。四川長虹25日稱,擬以1 66億元的轉(zhuǎn)讓底價(jià)掛牌出售31套房產(chǎn)。今年以來,A股公司出售房產(chǎn)不斷。根據(jù)記者不完全統(tǒng)

        發(fā)布時(shí)間: 2022-08-26 09:44
        資訊   2022-08-26

        16天12連板大港股份回復(fù)深交所關(guān)注函 股份繼續(xù)沖高

        回復(fù)交易所關(guān)注函后,大港股份繼續(xù)沖高。8月11日大港股份高開,隨后震蕩走高,接近收盤時(shí)觸及漲停,報(bào)20 2元 股。值得一提的是,在7月21日

        發(fā)布時(shí)間: 2022-08-12 09:56
        資訊   2022-08-12

        萬家基金再添第二大股東 中泰證券擬受讓11%基金股權(quán)

        7月13日,中泰證券發(fā)布公告,擬受讓齊河眾鑫投資有限公司(以下簡稱齊河眾鑫)所持有的萬家基金11%的股權(quán),交易雙方共同確定本次交易的標(biāo)的資

        發(fā)布時(shí)間: 2022-07-14 09:39
        管理   2022-07-14

        央行連續(xù)7日每天30億元逆回購 對(duì)債市影響如何?

        央行12日再次開展了30億元逆回購操作,中標(biāo)利率2 10%。這已是央行連續(xù)7日每天僅進(jìn)行30億元的逆回購縮量投放,創(chuàng)下去年1月以來的最低操作規(guī)

        發(fā)布時(shí)間: 2022-07-13 09:38
        資訊   2022-07-13

        美元指數(shù)創(chuàng)近20年新高 黃金期貨創(chuàng)出逾9個(gè)月新低

        由于對(duì)美聯(lián)儲(chǔ)激進(jìn)加息的擔(dān)憂,美元指數(shù)11日大漲近1%創(chuàng)出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創(chuàng)出逾9個(gè)月新低。美

        發(fā)布時(shí)間: 2022-07-13 09:36
        資訊   2022-07-13

        美股三大股指全線下跌 納斯達(dá)克跌幅創(chuàng)下記錄以來最大跌幅

        今年上半年,美股持續(xù)回落。數(shù)據(jù)顯示,道瓊斯指數(shù)上半年下跌15 3%,納斯達(dá)克綜合指數(shù)下跌29 5%,標(biāo)普500指數(shù)下跌20 6%。其中,納斯達(dá)克連續(xù)

        發(fā)布時(shí)間: 2022-07-04 09:51
        推薦   2022-07-04

        融資客熱情回升 兩市融資余額月內(nèi)增加超344億元

        近期A股走強(qiáng),滬指6月以來上漲4%,融資客熱情明顯回升。數(shù)據(jù)顯示,截至6月16日,兩市融資余額1 479萬億元,月內(nèi)增加344 67億元,最近一個(gè)半

        發(fā)布時(shí)間: 2022-06-20 09:41
        資訊   2022-06-20

        4個(gè)交易日凈買入超百億元 北向資金持續(xù)流入A股市場

        北向資金凈流入態(tài)勢延續(xù)。繼6月15日凈買入133 59億元后,北向資金6月16日凈買入44 52億元。自5月27日至今,除6月13日以外,北向資金累計(jì)凈

        發(fā)布時(shí)間: 2022-06-17 09:37
        推薦   2022-06-17

        熱門TAG

        more
        美聯(lián)儲(chǔ)今年已將基準(zhǔn)利率從接近零大幅上調(diào)至略高于3% EIA報(bào)告:美國原油庫存及戰(zhàn)略儲(chǔ)備減少,汽油及精煉油庫存輕微波動(dòng) 美國政府更廣泛推動(dòng)從汽油動(dòng)力汽車轉(zhuǎn)向電動(dòng)汽車的一部分 數(shù)據(jù)顯示:今年9月日本船企接單量延續(xù)8月下跌下跌趨勢 公告顯示:2022年前三季度TCL中環(huán)研發(fā)投入為27億元 占比營業(yè)收入5.42% 新的111.75億英鎊注資列在“對(duì)金融機(jī)構(gòu)的援助—支付給英格蘭銀行”標(biāo)題下 本次政府儲(chǔ)備肉投放面向北京18家主要連鎖超市門店及相關(guān)零售終端投放 有交易員預(yù)計(jì):如果LME不采取措施 接下來可能將有數(shù)十萬噸鋁流入LME 據(jù)報(bào)道:繼德國最大釀酒商拉德貝格啤酒公司9月宣布漲價(jià) 據(jù)報(bào)道:澳大利亞礦商Pilbara的鋰礦拍賣價(jià)再創(chuàng)新高 折算后的碳酸鋰成本 中集天達(dá)首次公開發(fā)行A股股票 招股書顯示此次擬公開發(fā)行股數(shù)不超過103, 多家銀行加強(qiáng)綠色金融頂層設(shè)計(jì) 致力于為經(jīng)濟(jì)社會(huì)綠色低碳轉(zhuǎn)型貢獻(xiàn)力量 萊特幣 比特幣 數(shù)字資產(chǎn) 火幣 以太經(jīng)典 比特股 EOS 比特幣現(xiàn)金 量子鏈 Hcash 泰達(dá)幣 瑞波幣 Qcash 比特幣鉆石 超級(jí)比特幣 優(yōu)幣 硬分叉 加密貨幣