IPFS正舵者技術進展:抵抗eclipse攻擊的能力

IPFS 2020 年的一個主要焦點是隨着網絡規模的不斷擴大而改進內容路由。雖然咱們已經對 DHT 上的請求速度作出了重大改進,但咱們的另外一個關鍵關注點是網絡的安全性。安全

在咱們工做 go-ipfs 0.5 的發佈,A-SIT 的 Bernd Prünster 和 Alexander Marsalek 和格拉茨科技大學聯繫了咱們,告訴咱們他們在研究 Go-IPFS 0.4.23 期間發現了一種攻擊,可讓攻擊者用最少的資源使公共分佈式哈希表上的任何節點黯然失色。網絡

在過去的 3 個 go-ipfs 小版本(0.五、0.6和0.7)中,咱們一直與 Bernd 和 Alexander 密切合做,這使咱們可以發佈增量改進,減輕了他們最初的攻擊,並將此類攻擊的成本和難度提升了幾個數量級。今天咱們將深刻探討攻擊和咱們已經發布的各類緩解措施。若是你想閱讀全文,「全蝕的心臟-擾亂星際文件系統」,你能夠在 TU Graz 研究門戶網站上找到它。eclipse

減輕攻擊分佈式

Eclipse 攻擊是指攻擊者將對等設備與網絡的其他部分隔離,以便目標對等設備僅與攻擊者控制的對等設備通訊的能力。此攻擊的目標是污染目標對等點 DHT 路由表,以便只顯示攻擊者控制的對等點。性能

在 Bernd 和 Alexander 發現的攻擊中,他們使用 libp2p 和大量預生成的 Peer id 列表(總計29TB數據)建立了 Sybil 攻擊,在 libp2p 中對聲譽系統進行博弈,以接管路由表。測試

若是您不熟悉 Sybil 攻擊,其想法是您可使用具備大量假名 ID 的單個對等點來顛覆信譽系統,以增長對網絡的影響力。在此攻擊的上下文中,虛假 ID 最終取代了受影響對等點的路由表中誠實對等點的位置。網站

爲了使此次攻擊成功,暴露了 libp2p 中的一些漏洞,這最終致使此次攻擊在 go-ipfs 0.4.23 中很是有效。在此攻擊被發現時,libp2p 的一個主要問題是 DHT 不支持長壽命的對等點,並且它沒有保護其較低桶中的對等點(網絡另外一半上的對等點)。這個問題容許攻擊者快速地從目標的路由表中驅逐誠實的對等點,以使其支持不誠實的對等點。做爲對 go-ipfs 0.5 中 DHT 的完全修改工做的一部分,咱們改變了路由表中條目的管理方式。日誌

影響此操做的主要變化之一是,咱們將再也不從仍可用的路由表中逐出對等點。再加上咱們對 go-ipfs 0.5 中 DHT 所作的其餘改進,使得攻擊的執行難度增長了幾個數量級。您能夠在 IPFS 0.5 內容路由深刻介紹中瞭解對 DHT 的詳細更改。視頻

除了 go-ipfs 0.5 中的變化以外,咱們還解決了幾個進一步增長攻擊難度和成本的問題。此次攻擊成功的部分緣由是,一個 Sybil 節點經過濫用對做爲中繼的節點的評分的缺陷來欺騙有價值鏈接的信譽系統。該缺陷可能容許一個 Sybil 節點做爲後續 Sybil 節點的中繼,這將繼續提升中繼的分數。這能夠經過使用嵌套 Sybils 爲單個對等點完成,從而迅速得到大量不可靠的聲譽。blog

爲了解決這個問題,咱們對繼電器應用了一個不變的分數,這容許咱們仍然重視他們,但避免他們可以誇大他們的聲譽。經過提升內部信譽系統的完整性,咱們已經下降了西比爾攻擊的效力。

爲了增長這類攻擊的成本,咱們所作的另外一個重大改變是在路由表中引入 IP 多樣性需求。最初對 go-ipfs 0.4.23 的攻擊可以在一臺機器上運行,並且成本相對較低,由於路由表可能只包含來自單個主機的對等點。IP 多樣性要求如今限制了來自任何給定主機的對等點的數量,這使得從單臺機器執行 eclipse 攻擊變得不可行,進一步增長了 go-ipfs 0.5 攻擊成本的兩個數量級。

驗證緩解措施

做爲與 Bernd 和 Alexander 合做的一部分,咱們但願確保可以適當地測試和驗證咱們的修復,咱們採起了兩種方法:

現場測試。在咱們的容許下,他們對公共網絡上的一個託管引導節點執行了一次受控攻擊。這使咱們可以收集實時度量和日誌,從咱們的可見性和它們的外部觀察觀察攻擊的有效性。在從 go-ipfs 0.5 開始的 IPFS 發行版以前,在 IPFS 的每一個版本上都執行了受控攻擊,這使咱們可以在生產環境中驗證修復程序。

Testground 複製。多虧了 Testground 的開發和發佈,Bernd 和 Alexander 共享了他們的攻擊代碼,咱們可以建立測試計劃來複制攻擊的各個部分。這使咱們可以在受控的測試環境中對變動進行大規模測試,以驗證攻擊是可能的,並驗證咱們的緩解措施。擁有這些測試計劃的好處是,咱們能夠在 IPFS 和 libp2p 版本上繼續運行它們,以確保不會引入迴歸。

此外,這確保了咱們能夠在受控的環境中更長時間地運行攻擊,從而進一步分析攻擊的效率和成本。

咱們今天所處的位置

在過去的一年裏,咱們對 IPFS 和 libp2p 的性能和安全性都有了顯著的改進,協做是這項工做成功的重要因素。Bernd 和 Alexander 所作的研究以及他們與咱們如此緊密合做的意願對於幫助咱們改善網絡的穩定性具備不可估量的價值。咱們很感激有機會一塊兒工做。

隨着今年 9 月 go-ipfs 0.7 的發佈,咱們將執行鍼對 IPFS 和 libp2p 的 eclipse 和 Sybil 攻擊的難度和成本從它的 0.4.23 增長了幾個數量級。

若是您尚未更新到 go-ipfs 0.7,咱們建議您儘快更新,以便充分利用這些改進。查閱 go-ipfs 0.7 更新指南,瞭解如何更新的細節!

在Filecoin多年來的發展歷程中,胡安向來都以直率以及理想化而著稱。例如胡安在2019年的深圳IPFS行業發展會上經過視頻講話表示,目前爲止官方在中國沒有與任何我的或者組織合做,不建議購買任何挖礦硬件,官方的挖礦硬件規範還沒有發佈。這至關於直接打擊瞭如火如荼的Filecoin礦機銷售,引發大量Filecoin生態合做方的不滿。

今年4月,胡安還在推特怒懟孫宇晨收購BitTorrent一事,他表示本身承認BitTorrent曾經的技術和團隊,但不承認孫宇晨以及他帶領下的BitTorrent。二人自此結下樑子,以致於在Filecoin後期發展遭遇難題時,孫宇晨總會偶爾「打抱不平」。

在這場巨大的利益博弈中,胡安以如此尖銳直率的姿態發聲,彷佛就不難理解Filecoin爲什麼陷入「分叉門」,Slack社區中又爲什麼會產生各類意見流派。

胡安與他主導的Filecoin正站在理想與現實的十字路口,面對FIL幣價所引起的如何持久激勵老礦工以及如何吸引新礦工入場之間的矛盾,他們會選擇哪一條路、走向怎樣的將來,仍是一個巨大的未知數。

相關文章
相關標籤/搜索