eclipse沒有日志_強化公共DHT以抵抗eclipse攻擊,ipfs官方還說了什么?

f26fcf2f59f8424b981566dd8c4a5180.gif

近日,IPFS官方發布博客,就如何強化公共DHT以抵抗eclipse攻擊進行詳細介紹,星球君幫大家翻譯了一下,讓我們來看看官方都說了什么吧:

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

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

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

49dc2a48dc2d8b299099d65c1a0dc1aa.png

?減輕攻擊?

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 的詳細更改。

8f3f98c9abbb8b2eaa19fbd72bbddedd.png

除了 go-ipfs 0.5 中的變化之外,我們還解決了幾個進一步增加攻擊難度和成本的問題。這次攻擊成功的部分原因是,一個 Sybil 節點通過濫用對作為中繼的節點的評分的缺陷來欺騙有價值連接的信譽系統。該缺陷可能允許一個 Sybil 節點作為后續 Sybil 節點的中繼,這將繼續提高中繼的分數。這可以通過使用嵌套 Sybils 為單個對等點完成,從而迅速獲得大量不可靠的聲譽。

為了解決這個問題,我們對繼電器應用了一個不變的分數,這允許我們仍然重視他們,但避免他們能夠夸大他們的聲譽。通過提高內部信譽系統的完整性,我們已經降低了西比爾攻擊的效力。

為了增加這類攻擊的成本,我們所做的另一個重大改變是在路由表中引入 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 更新指南,了解如何更新的細節!

聲明:本文文字圖片來源于網絡,僅供交流學習,如有侵權,請聯系刪除。

12245ada35b50500b898ae66b41de59e.png

569d6043b12fbe45d580dc0b50f09aaf.gif

【Filestar專題】你應該知道的Filestar

Filecoin會漲到100美金嗎

?改造世界,物聯網為什么需要IPFS/Filecoin

為什么我們要參與Filecoin數據存儲生機勃勃,IPFS分布式存儲迎來時代風口IPFS背后的故事是什么讓Filecoin如此不同?Filecoin的證明系統第一任央行數字貨幣研究所所長談IPFS/FIL,是未來重要發展方向

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376221.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376221.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376221.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mongoDB簡明教程-python(轉)

MongoDB是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。他支持的數據結構非常松散,是類似 json的bjson格式,因此可以存儲比較復雜的數據類型。官方網站:http://www.mo…

HTTP基礎10--web(2)

因輸出值轉義不完全引發的安全漏洞 實施 Web 應用的安全對策可大致分為以下兩部分。 客戶端的驗證Web 應用端(服務器端)的驗證: 輸入值驗證 / 輸出值轉義客戶端允許篡改數據或關閉 JavaScript,不適合將 JavaScript 驗證作為安全的防范對策。保…

單一課和綜合課的劃分依據_武夷巖茶產地如何劃分?

產地是指某種物品的生產、出產或加工制造的地點,日常含義是指某種物品的主要生產地。本文探討的武夷巖茶種植產地,也就是當地茶人俗稱的“山場”。武夷巖茶“山場”的俗稱可能緣起于宋代的茶政。宋代官府設置“榷(qu)茶場”&#…

windows文件路徑大于MAX_PATH

如果文件路徑大于MAX_PATH,是無法直接用CreatFile、fopen等方法來打開文件 但是可以通過在路徑前面加上“\\?\”來獲取文件 比如想要打開下面的文件123.txt,但是文件路徑是很長的(假設…是200個字符): C:\123...\1…

C# 枚舉 字符串 轉換

普通方法 這種方法盡管很SB但確實可以解決問題 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){string SelPath "";switch (comboBox1.SelectedIndex){case 0: SelPath System.Environment.GetFolderPath(System.Environment.SpecialFo…

arduino 機器視覺編程_萬物皆可仿真的MATLAB/Simulink神奇在哪?解析如何將其應用于一整套機器人設計開發流程...

MATLAB/Simulink:萬物皆可仿真 MATLAB是由美國MathWorks公司出品的一款商業數學軟件。它是一個多功能的科學計算平臺,將算法開發、數據分析、矩陣計算等諸多強大功能集成在一個易于操作的視窗環境中。MATLAB下的Simulink更是被認為可以“仿真任何系統”。…

排序算法(1) 快速排序 C++實現

快速排序基本特性 時間復雜度:O(n*lgn)最壞:O(n^2)空間復雜度:最好情況下:O(lgn),最壞情況:O(n),平均情況:O(l…

boost 變量類型轉換

如果vs版本比較低,會不支持一些std類型轉換函數(vs2008就不支持),比如: std::to_string \\數字轉字符串 std::stoll \\字符串轉數字而且項目碰巧用boost庫,可以考慮用下面的的方法來進行類型轉換…

PB增刪改

新建一個數據窗口----選擇需要更新的表,或者直接寫sql也可以如下圖已經建立好的數據窗口,根據要求將需要更新的列、unigue key 還有需要更新的表設置好,【將需要更新列的taborder設置大于0 這樣維護的時候可以編輯(等于0是不能編輯…

(五十六)iOS多線程之NSOperation

NSOpertation是一套OC的API,是對GCD進行的Cocoa抽象。 NSOperation有兩種不同類型的隊列,主隊列和自定義隊列。 主隊列運行于主線程上,自定義隊列在后臺運行。 【NSBlockOperation】 通過Block創建任務,下面比較主隊列和自定義隊列…

android 系統源碼調試 局部變量值_如何方便快速的整編Android 9.0系統源碼?

點擊上方“劉望舒”,選擇“星標”多點在看,就是真愛!作者 : 劉望舒 | 來源 :劉望舒的博客地址:http://liuwangshu.cn/framework/aosp/3-compiling-aosp.html前言在上一篇文章是時候下載Android 9.0系統源碼了中&…

boost 文件操作

如果要簡單處理文件和文件夾的時候&#xff08;刪除、重命名等&#xff09;&#xff0c;使用Windows的系統函數會十分麻煩&#xff0c;可以嘗試一下使用Boost庫來進行處理 頭文件 #include <boost/filesystem.hpp>如果要獲得每次處理的結果錯誤碼&#xff0c;需要加上頭…

讓“是男人就下到100層”在Android平臺上跑起來

原工程:https://github.com/jeekun/DownFloors 移植后的代碼&#xff1a;HelloCpp.zip 移植后的APK&#xff1a;HelloCpp.apk 說明&#xff1a;&#xff08;cocos2d-x版本是“ 2.2&#xff09; 1.該工程是直接在HelloCpp上修改完成,所以包名也不修改了 2.原工程里面可能是采用g…

Codeforces Round #277 (Div. 2) 題解

Codeforces Round #277 (Div. 2)A. Calculating Functiontime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputFor a positive integer n lets define a function f: f(n)???-?1??2?-?3??..??(?-?1)nn Your …

QT 邊框圓角處理

平時的邊框是平角的&#xff1a; 如果需要圓角的話&#xff0c;就要加stylesheet加上這個&#xff1a; border-radius:3px;比如&#xff1a; QPushButton{ border-radius:3px; }就變成圓角了&#xff1a; px前面的數字越大就越圓&#xff0c;比如5px比3px圓 假如只需要某一…

3級調度 fpga_Vivado HLS學習筆記——1.了解FPGA架構

本篇文章為本人學習Xilinx的Vivado HLS教程記錄的學習筆記&#xff0c;僅供學習參考。Vivado HLS官方視頻教程&#xff1a;優酷視頻?v.youku.com目錄&#xff1a; Vivado HLS課程簡介FPGA與CPU、GPU、DSP的區別FPGA的優勢Xilinx FPGA架構:邏輯單元、算術邏輯單元、存儲單元使用…

[LeetCode]Maximum Depth of Binary Tree

Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. 思考&#xff1a;DFS。 /*** Definition for binary tree* struct TreeNode {* int val;* Tree…

BZOJ2435 [Noi2011]道路修建

這是NOI11年題&#xff0c;你在逗我&#xff1f; 直接dfs就可以了&#xff0c;Linux下貌似不會爆棧。。。 1 /**************************************************************2 Problem: 24353 User: rausen4 Language: C5 Result: Accepted6 Time:5184 …

Qt異常結束程序無法重新運行

有時候代碼有問題會導致qt異常結束 修改完后重新運行又會出現 查看任務管理器又沒有這個進程 可以使用資源管理器打開看看 也可以考慮使用process explorer查看 發現程序掛起來&#xff0c;結束掉它就可以重新運行了

hadooppythonsql_半小時搞定Hadoop+Mysql+Hive+Python

1. 說明搭建過Hadoop集群的小伙伴一定知道&#xff0c;如果不用docker&#xff0c;半小時配好HadoopMysqlHive(后簡稱Hive)肯定是胡吹&#xff0c;有了Docker鏡像&#xff0c;沒有說明文檔&#xff0c;配好了也不一定會用。本文將介紹如何在半小時內&#xff0c;讓Hive在你的Li…