● 週三,支援比特幣區塊鏈的開源軟體,即比特幣核心(Bitcoin Core)釋出了20.0版本。
● 實驗軟體“Asmap”被用來抵禦理論上的 "Erebus "攻擊。
● Erebus攻擊允許國家和/或大型網際網路供應商(如Amazon Web Services) 對比特幣交易進行監視、雙花或審查。
● 該補丁將有助於防止攻擊,但不是最終解決方案。
這種新配置被稱為“Asmap”,通過將連線對映到第1級或更大的第2級自治系統(AS) ——網際網路運營商能將多個網路和Amazon Web Services或國家等定義路徑計劃連線——然後 “限制與任何一個[AS]的連線”,從而保護比特幣節點的點對點體系。
本質上,所謂的“Erebus”攻擊允許AS通過限制和欺騙點對點(P2P)連線,以此審查大範圍比特幣網路區塊。如果不能解決這一缺陷,比特幣可能會面臨非常不利的後果,比如一個主要的礦池或交易所與網路其他部分的聯絡會被切斷。
新加坡國立大學(NUS)的研究人員——Muoi Tran、Inho Choi、Gi Jun Moon、Anh V. Vu和Min Suk Kang——2019年共同編寫的論文,其中詳細介紹此次攻擊,並首次提出Erebus 攻擊的假設,
最關鍵的是?被發現時已經太遲了。
攻擊體系
Erebus屬於運用比特幣P2P特性的一般“中間人”攻擊計劃。Erebus在希臘語中意為“影子”,它本身是2015年首次提出的“Eclipse”攻擊的衍生詞。
正如理論上所說,攻擊者將嘗試儘可能多地連線攻擊者想要隔離的節點(例如交易所的節點)周圍的節點。惡意節點可以通過與它的對等節點連線來影響受害者節點。最終目標是使受害節點的八個外部連線都通過惡意方。
一旦完成,受害節點會與網路的其他部分隔離。惡意行為者可以控制向受害節點發送哪類事務和資訊;這類資訊可能與網路的其他部分不盡相同,甚至可能導致鏈分裂或引發審查。
“我們的攻擊之所以可行,並非比特幣核心執行中任何新發現的漏洞,而是作為網路對手的基本優勢,” 在2019年的論文中,新加坡國立大學的學者寫道,“也就是說,我們EREBUS的對手AS,作為穩定的中間人網路,可以在較長時間內恰當地利用大量的網路地址。此外,AS可以針對諸如礦池或加密貨幣交易所等特定節點。”
如果交易所或礦池的節點被影子攻擊, AS可以有效切斷該實體與網路之間的連線。鑑於比特幣挖礦業的中心仍在礦池,Erebus模式的攻擊將更具破壞性。
就比特幣而言,目前有一萬個節點容易受到攻擊,學者們估計,需要5至6周的攻擊時間來成功完成這個攻擊。比特幣核心貢獻者Luke Dashjr表示,比特幣的下限是1.1萬個監聽節點,上限是10萬個非監聽或“私有”節點。
截至本週三,比特幣的第20版程式碼中已加入一個針對此次攻擊的方案,這加強了加密貨幣體系的抗審查性。
Erebus和網際網路
Erebus攻擊絕非比特幣的匿名創造者中本聰(Satoshi Nakamoto)的錯。這只是網際網路的發展方式。
Chaincode Labs研究員、比特幣核心貢獻者Gleb Naumenko說:“我們目前解決的並非網際網路供應商的問題,但一些網際網路供應商在坑騙你,那更危險。”
與中樞和輻條模式類似,國家和大型ISP控制著網際網路的訪問。網路進一步分為單個IP地址,比如在讀取這篇文章的手機。
除非通過Tor或其他混淆方法隱藏,比特幣節點會以同樣的方式執行,每個節點都有各自的IP地址。一旦某個節點要通過該惡意節點,AS則可以通過控制該節點連線到網路其餘部分的方式來完成該類特定連線。
當一個比特幣節點連線到網路時,它通常會進行8個出站連線,這意味著它將向其他8個比特幣節點廣播一個交易。如果交易有效,比特幣網路中的每個節點會確認並記錄另一個節點進行的交易。在Erebus中,如果AS成功獲取了該節點的8個外部連線,則該節點將遵從AS的指示。
這次攻擊分為兩部分:搜尋和執行。
首先,AS映射出網路節點的IP地址,標記它們的位置和同其連線的對等點。然後,AS逐步開始影響它所調查的對等點。換言之,惡意行為者正在儘可能多地接受其社群中節點的連線。
連線的數量取決於攻擊者的動機:審查單個交易、阻止鏈外交易(如在閃電網路上)的發生、自行挖掘網路的分叉鏈,以獲得更大比例的區塊獎勵,甚至發起51%的攻擊以實現雙花。
惡意攻擊者自行控制的節點越多,對網路造成的破壞就越大。NUS團隊表示,實際上,只要有足夠多的連線,他們就可以通過大範圍控制比特幣網路來有效關閉比特幣(交易)。
“強大的對手,比如國家規模的攻擊者,甚至可能以大範圍破壞加密貨幣底層點對點網路為目標。在小範圍內,對手可以任意審查受害者的交易。”學者們在論文中寫道。
隱形模式
與Eclipse攻擊不同,Erebus是隱形的。
“因此區別在於它們的所作所為無法被監測。這看似是正常行為。”Naumenko稱, AS煽動了此次攻擊。
因特網是由不同的資料層次組成的。有些層次顯示資訊,有些層次不顯示資訊,還有一些層次因為包含太多資訊而無法顯示。
在Eclipse中,攻擊者利用來自internet協議層的資訊,而Erebus運用比特幣協議層的資訊。學者們說,Eclipse的路徑“即刻顯示”攻擊者的身份。而Erebus則不會,因此無法探測到未開始的攻擊。
只要當前的internet堆疊存在,威脅就會存在,當然仍有一些方法可以阻止潛在的攻擊者。週三的更新由Blockstream的聯合創始人和工程師Pieter Wuille以及Chaincode的Naumenko領導。
解決方案?一個類似Zelda的微型地圖可以顯示不同的國家和ISP典型的網際網路路由路徑。然後,節點可以根據地圖顯示選擇對等連線到多個主體而非一個AS。
比特幣核心團隊的解決方案將節點與網路的其他部分隔離從而阻礙攻擊發生,但團隊恐無法提供永久性的解決方案。
週三,比特幣核心貢獻者Wladimir J. van der Laan在一名開發者的電子郵件中表示: “ 這個方法是實驗性的,在未來的版本中會被刪除或徹底修改。”
Naumenko說,由於它對網路有明顯的威脅,因此他們決定處理這個問題。這次攻擊也很新奇,激發了他的個人興趣。
然而,不僅是比特幣。正如Naumenko所指出的,幾乎所有加密貨幣都受到Erebus攻擊的威脅。新加坡國家大學(NUS)的論文引用dash (DASH), litecoin (LTC)和zcash (ZEC)等貨幣作為其他遭受類似攻擊風險的例子。
“它是一個基本的問題,且協議十分相似。它也是系統性的問題,而並非你忘記更新變數的漏洞,”Chaincode的Naumenko說。“它是點對點體系,也是所有系統的(一部分)。