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.mzph.cn/news/376221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP基础10--web(2)

因输出值转义不完全引发的安全漏洞 实施 Web 应用的安全对策可大致分为以下两部分。 客户端的验证Web 应用端(服务器端)的验证: 输入值验证 / 输出值转义客户端允许篡改数据或关闭 JavaScript,不适合将 JavaScript 验证作为安全的防范对策。保…

单一课和综合课的划分依据_武夷岩茶产地如何划分?

产地是指某种物品的生产、出产或加工制造的地点,日常含义是指某种物品的主要生产地。本文探讨的武夷岩茶种植产地,也就是当地茶人俗称的“山场”。武夷岩茶“山场”的俗称可能缘起于宋代的茶政。宋代官府设置“榷(qu)茶场”&#…

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更是被认为可以“仿真任何系统”。…

boost 变量类型转换

如果vs版本比较低,会不支持一些std类型转换函数(vs2008就不支持),比如: std::to_string \\数字转字符串 std::stoll \\字符串转数字而且项目碰巧用boost库,可以考虑用下面的的方法来进行类型转换…

android 系统源码调试 局部变量值_如何方便快速的整编Android 9.0系统源码?

点击上方“刘望舒”,选择“星标”多点在看,就是真爱!作者 : 刘望舒 | 来源 :刘望舒的博客地址:http://liuwangshu.cn/framework/aosp/3-compiling-aosp.html前言在上一篇文章是时候下载Android 9.0系统源码了中&…

让“是男人就下到100层”在Android平台上跑起来

原工程:https://github.com/jeekun/DownFloors 移植后的代码:HelloCpp.zip 移植后的APK:HelloCpp.apk 说明:(cocos2d-x版本是“ 2.2) 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 边框圆角处理

平时的边框是平角的: 如果需要圆角的话,就要加stylesheet加上这个: border-radius:3px;比如: QPushButton{ border-radius:3px; }就变成圆角了: px前面的数字越大就越圆,比如5px比3px圆 假如只需要某一…

3级调度 fpga_Vivado HLS学习笔记——1.了解FPGA架构

本篇文章为本人学习Xilinx的Vivado HLS教程记录的学习笔记,仅供学习参考。Vivado HLS官方视频教程:优酷视频​v.youku.com目录: Vivado HLS课程简介FPGA与CPU、GPU、DSP的区别FPGA的优势Xilinx FPGA架构:逻辑单元、算术逻辑单元、存储单元使用…

BZOJ2435 [Noi2011]道路修建

这是NOI11年题,你在逗我? 直接dfs就可以了,Linux下貌似不会爆栈。。。 1 /**************************************************************2 Problem: 24353 User: rausen4 Language: C5 Result: Accepted6 Time:5184 …

Qt异常结束程序无法重新运行

有时候代码有问题会导致qt异常结束 修改完后重新运行又会出现 查看任务管理器又没有这个进程 可以使用资源管理器打开看看 也可以考虑使用process explorer查看 发现程序挂起来,结束掉它就可以重新运行了

Qt新添加的类无法链接

通过这个方法给工程添加了个类: 编译的时候就出现了这个问题: 执行一下qmake 然后再重新构建项目就可以了

按钮图片拉伸_图片墙有多香?高手都在用的PPT封面制作技巧!

大家好,我是李导~这次,冬天是真的来了,不知道大家有没有感觉,每次冷空气真正袭来之前我们都会以为今年是个暖冬,结果突然有一天气温从20度直降到个位数,我们都会认为今年比以往的冬天都冷。但是&#xff0c…

POJ 1745 Divisibility【DP】

题意:给出n,k,n个数,在这n个数之间任意放置,-号,称得到的等式的值能够整除k则为可划分的,否则为不可划分的。 自己想的是枚举,将所有得到的等式的和算出来,再判断它是否能够整除k,可是有10000个…

spring-session之一:简介、使用及实现原理

一、背景 http session(企业)一直都是我们做集群时需要解决的一个难题,我们知道HttpSession是通过Servlet容器创建和管理的,像Tomcat/Jetty都是保存在内存中的。而如果我们把web服务器搭建成分布式的集群,然后利用LVS或…

cad2017怎么改变选择方式_家用胎心仪怎么使用?建议孕妈妈选择数胎动的方式...

一般胎心仪都有说明书,孕妈妈可以根据说明书上的方法去做。 下面介绍比较通用的方法。时间:早中晚餐后的30-60分钟内 环境:周围没有电磁或辐射等干扰 辅助:耦合剂 步骤: 1、平躺,寻找适合胎心位置 在听胎心…

c#endread怎么打印出来_打印机打印出来是白板是怎么回事

引起针式打印纸空白的原因大多是由于色带油墨干涸、色带拉断、打印头损坏等,应及时更换色带或维修打印头。故障现象:针式打印机有打印声但打印空白。维修方法:具体解决方法如下:1) 检查打印机色带盒是否正确安装,如果安装不正确,重新安装色带…

使用dnspod遭遇的奇特问题以及背后的原因与临时解决方法

由于园子里有不少用户在使用dnspod,我们觉得有必要将这两天blogjava.net域名在dsnpod遇到的奇特问题分享一下,以免再有人踩着这个坑。 12月11日,我们登录到dnspod的后台时,大吃一惊,blogjava.net这个域名竟然消失了。 …

lgg6可以root的版本_Kali Linux 2020.1版本变更内容

kali2020.1于2020年1月28日发布,为2020年的第一个版本,由于此版本相较以前有较大变化,故专篇记录一下。根据官方说明,主要改变如下:默认用户改为非root用户针对不同需求出了单独的镜像文件nethunter改为非root用户改进…