我们所说的"匿名"是什么意思?
你的匿名级别可以描述为"别人想要了解你不希望他们知道的信息有多困难"——你是谁、你位于何处、你与谁交流,甚至你何时交流。“完美"匿名在这里不是一个有用的概念——软件无法让你与那些不使用计算机或不上网的人无法区分。相反,我们致力于提供足够的匿名性来满足我们所能服务的任何人的真实需求——从那些只是浏览网站的人,到那些交换数据的人,再到那些害怕被强大组织或国家发现的人。
I2P是否为您的特定需求提供足够匿名性这个问题很难回答,但本页面将通过探讨I2P在各种攻击下的运行方式来帮助回答这个问题,以便您决定它是否满足您的需求。
我们欢迎针对I2P抵御下述威胁能力的进一步研究和分析。需要更多对现有文献的回顾(其中大部分集中在Tor上)以及专注于I2P的原创性工作。
网络拓扑概要
I2P 基于许多其他 系统的理念构建,但在查阅相关文献时应牢记几个关键要点:
- I2P 是一个免费的路由混合网络 — 消息创建者明确定义消息发送的路径(outbound tunnel),消息接收者明确定义消息接收的路径(inbound tunnel)。
- I2P 没有官方的入口和出口点 — 所有节点都完全参与混合,没有网络层的入站或出站代理(然而,在应用层,确实存在一些代理)。
- I2P 是完全分布式的 — 没有中央控制或权威机构。可以修改某些 router 来操作混合级联(构建 tunnel 并分发在 tunnel 端点控制转发所需的密钥)或基于目录的分析和选择,所有这些都不会破坏与网络其余部分的兼容性,但这样做当然不是必需的(甚至可能会损害个人的匿名性)。
我们已制定计划来实现非平凡的延迟和批处理策略,这些策略的存在只有接收消息的特定跳点或tunnel网关才知道,这使得大部分低延迟的混合网络能够为更高延迟的通信(例如电子邮件)提供掩护流量。然而,我们意识到需要显著的延迟才能提供有意义的保护,而且实现这种延迟将是一个重大挑战。目前尚不清楚我们是否真的会实现这些延迟功能。
理论上,消息路径上的 router 可以在将消息转发给下一个节点之前注入任意数量的跳数,尽管当前的实现并不这样做。
威胁模型
I2P的设计始于2003年,就在洋葱路由 、Freenet 和Tor 出现后不久。我们的设计很大程度上受益于当时发布的研究成果。I2P使用了几种洋葱路由技术,因此我们继续从学术界对Tor的浓厚兴趣中受益。
借鉴匿名文献 中提出的攻击和分析(主要是流量分析:协议、攻击、设计问题和开放性问题 ),以下简要描述了各种攻击以及I2P的许多防御措施。我们会更新此列表,纳入已识别的新攻击。
其中包括一些可能是I2P特有的攻击。我们并非对所有这些攻击都有完善的应对方案,但我们会继续进行研究并改进我们的防御措施。
此外,由于当前网络规模相对较小,许多此类攻击比理论上应该的难度要容易得多。虽然我们知道有一些局限性需要解决,但I2P的设计目标是支持数十万甚至数百万的参与者。随着我们继续推广并扩大网络规模,这些攻击将变得更加困难。
网络比较 和“garlic"术语 页面可能也有助于查阅。
暴力攻击
全局被动或主动攻击者可以发起暴力破解攻击,监视所有节点之间传递的所有消息,并尝试关联哪条消息遵循哪条路径。对I2P发起这种攻击应该是不容易的,因为网络中的所有对等节点都在频繁发送消息(包括端到端消息和网络维护消息),而且端到端消息在其路径上会改变大小和数据。此外,外部攻击者也无法访问这些消息,因为router间通信既是加密的又是流式的(使得两个1024字节的消息与一个2048字节的消息无法区分)。
然而,强大的攻击者可以使用暴力破解来检测趋势——如果他们能够向I2P目标发送5GB数据并监控每个人的网络连接,他们就可以排除所有没有接收到5GB数据的对等节点。存在击败这种攻击的技术,但可能成本过高(参见:Tarzan 的模仿或恒定速率流量)。大多数用户不担心这种攻击,因为发起攻击的成本极高(通常需要非法活动)。然而,这种攻击仍然是可能的,例如由大型ISP或互联网交换点的观察者发起。那些想要防御此类攻击的人需要采取适当的对策,比如设置低带宽限制,以及为I2P站点使用未公开或加密的leaseSet。其他对策,如非平凡的延迟和受限路由,目前尚未实现。
作为对单个 router 或一组 router 试图路由网络所有流量的部分防御措施,router 包含限制通过单个对等节点可以路由多少条 tunnel 的机制。随着网络的增长,这些限制可能会进一步调整。其他用于对等节点评级、选择和规避的机制在对等节点选择页面中讨论。
时序攻击
I2P的消息是单向的,不一定意味着会发送回复。然而,在I2P之上的应用程序很可能在其消息频率方面具有可识别的模式——例如,HTTP请求将是一个小消息,后跟包含HTTP响应的大量回复消息序列。利用这些数据以及对网络拓扑的广泛了解,攻击者可能能够排除一些链路,认为它们太慢而无法传递消息。
这种攻击很强大,但其在I2P中的适用性并不明显,因为由于队列、消息处理和限流导致的消息延迟变化,通常会达到或超过消息沿单一链路传递的时间——即使攻击者知道收到消息后会立即发送回复。不过有一些场景会暴露相当自动化的回复——流库会这样做(使用SYN+ACK),保证交付的消息模式也会这样做(使用DataMessage+DeliveryStatusMessage)。
如果没有协议清理或更高的延迟,全球主动攻击者可以获得大量信息。因此,担心这些攻击的用户可以增加延迟(使用非平凡延迟或批处理策略)、包含协议清理或其他高级tunnel路由技术,但这些功能在I2P中尚未实现。
参考文献:Low-Resource Routing Attacks Against Anonymous Systems
交集攻击
针对低延迟系统的交集攻击极其强大——定期与目标建立联系并跟踪网络上的节点。随着时间推移,当节点流失发生时,攻击者通过简单地对消息成功传输时在线的节点集合进行交集运算,就能获得关于目标的重要信息。这种攻击的成本随着网络增长而显著增加,但在某些场景下可能是可行的。
总之,如果攻击者同时控制你的tunnel两端,他可能会成功。I2P对于低延迟通信没有针对这种情况的完全防御。这是低延迟洋葱路由的固有弱点。Tor也提供了类似的免责声明 。
I2P中已实现的部分防护措施:
- 对等节点的严格排序
- 对等节点分析和从缓慢变化的小组中选择
- 限制通过单个对等节点路由的 tunnel 数量
- 防止来自同一 /16 IP 范围的对等节点成为单个 tunnel 的成员
- 对于 I2P Sites 或其他托管服务,我们支持在多个 router 上同时托管,或多宿主
即使将这些防御措施全部加起来,也不是一个完整的解决方案。此外,我们做出的一些设计选择可能会显著增加我们的脆弱性:
- 我们不使用低带宽的"guard节点”
- 我们使用由多个tunnel组成的tunnel池,流量可以在tunnel之间切换。
- Tunnel不是长期存在的;每10分钟会构建新的tunnel。
- Tunnel长度是可配置的。虽然推荐使用3跳tunnel来获得完全保护,但一些应用程序和服务默认使用2跳tunnel。
未来,对于能够承受显著延迟的对等节点来说,这可能是可行的(通过非平凡的延迟和批处理策略)。此外,这只对其他人知道的目标地址相关——一个只有受信任对等节点知道其目标地址的私有组不必担心,因为攻击者无法"ping"它们来发起攻击。
拒绝服务攻击
针对I2P存在大量的拒绝服务攻击方式,每种都有不同的成本和后果:
贪婪用户攻击: 这是指人们试图消耗远超其愿意贡献的资源。针对这种攻击的防御措施是:
- 设置默认值,让大多数用户为网络提供资源。在 I2P 中,用户默认路由流量。与其他网络 形成鲜明对比的是,超过 95% 的 I2P 用户为他人中继流量。
- 提供简单的配置选项,让用户可以增加他们对网络的贡献(共享百分比)。显示易于理解的指标,如"共享比率”,让用户可以看到他们的贡献。
- 通过博客、论坛、IRC 和其他沟通方式维护强大的社区。
饥饿攻击: 恶意用户可能试图通过在网络中创建大量不被识别为受同一实体控制的对等节点(与Sybil攻击类似)来损害网络。这些节点然后决定不向网络提供任何资源,导致现有对等节点需要搜索更大的网络数据库或请求比应有数量更多的tunnel。或者,这些节点可能通过定期丢弃选定的流量或拒绝与某些对等节点的连接来提供间歇性服务。这种行为可能与重负载或故障节点的行为无法区分。I2P通过维护对等节点的配置文件来解决这些问题,尝试识别性能不佳的节点并简单地忽略它们,或很少使用它们。我们已经显著增强了识别和避免问题节点的能力;然而在这个领域仍然需要大量努力。
洪水攻击: 恶意用户可能尝试对网络、对等节点、目标或tunnel进行洪水攻击。网络和对等节点洪水攻击是可能的,I2P对防止标准IP层洪水攻击无能为力。通过向目标的各种入站tunnel网关发送大量消息来对目标进行洪水攻击是可能的,但目标会通过消息内容以及tunnel测试失败来识别这种攻击。对单个tunnel进行洪水攻击也是如此。I2P对网络洪水攻击没有防御措施。对于目标和tunnel洪水攻击,目标会识别哪些tunnel无响应并构建新的tunnel。如果客户端希望处理更大的负载,还可以编写新代码来添加更多tunnel。另一方面,如果负载超过客户端的处理能力,他们可以指示tunnel限制应传递的消息数量或字节数(一旦实现高级tunnel操作)。
CPU负载攻击: 目前存在一些方法允许他人远程请求peer执行某些计算成本昂贵的密码学操作,恶意攻击者可能利用这些方法向目标peer发送大量此类请求,试图使CPU过载。采用良好的工程实践以及可能需要为这些昂贵请求附加重要的证书(如HashCash)都应该能缓解这个问题,不过攻击者仍可能利用实现中的各种漏洞进行攻击。
Floodfill DOS 攻击: 恶意用户可能通过成为 floodfill router 来试图危害网络。目前针对不可靠、间歇性或恶意 floodfill router 的防御措施还很薄弱。floodfill router 可能对查询提供错误响应或不响应,还可能干扰 floodfill 之间的通信。虽然已实现了一些防御措施和节点评估功能,但仍有大量工作要做。更多信息请参见网络数据库页面 。
标签攻击
标记攻击——修改消息以便稍后在路径的进一步位置识别它——在I2P中本身是不可能的,因为通过tunnel传递的消息都是经过签名的。然而,如果攻击者既是入站tunnel gateway,又是该tunnel中进一步位置的参与者,通过串通他们可以识别出他们在同一个tunnel中的事实(在添加唯一跳跃ID和其他更新之前,同一tunnel内的串通节点可以毫不费力地识别这一事实)。然而,出站tunnel中的攻击者和入站tunnel任何部分的攻击者无法串通,因为tunnel加密会分别为入站和出站tunnel填充和修改数据。外部攻击者无法做任何事情,因为链接是加密的且消息是签名的。
分割攻击
分区攻击——找到在网络中隔离(技术上或分析上)节点的方法——在面对强大对手时需要重点考虑,因为网络规模在决定你的匿名性方面起着关键作用。通过切断节点间连接来创建分片网络的技术分区攻击,由I2P内置的netDb(网络数据库)来解决,它维护各种节点的统计信息,以便利用任何现有的到其他分片部分的连接来修复网络。然而,如果攻击者确实断开了所有到不受控制节点的连接,基本上隔离了目标,那么再多的netDb修复也无法解决。在这种情况下,router唯一能做的就是注意到大量先前可靠的节点变得不可用,并提醒客户端它暂时断开连接(这个检测代码目前还没有实现)。
通过分析网络中router和目标的行为差异并据此进行分组,从而对网络进行分析性划分,也是一种非常强大的攻击方式。例如,攻击者在收集 网络数据库时,会知道某个特定目标在其leaseSet中有5条入站tunnel,而其他目标只有2或3条,这使得对手能够根据所选择的tunnel数量对客户端进行潜在的划分。在处理非平凡延迟和批处理策略时,另一种划分也是可能的,因为tunnel网关和具有非零延迟的特定跳数可能会突出显示。然而,这些数据只暴露给这些特定的跳数,因此要在这个问题上进行有效划分,攻击者需要控制网络的很大一部分(即便如此,这也只是一种概率性划分,因为他们不知道哪些其他tunnel或消息具有这些延迟)。
在网络数据库页面 也有讨论(引导攻击)。
前驱攻击
前驱攻击是被动收集统计数据,试图通过参与目标的tunnel并跟踪前一跳或下一跳(分别对应出站或入站tunnel)来查看哪些对等节点与目的地"接近"。随着时间推移,使用完全随机的对等节点样本和随机排序,攻击者将能够看到哪个对等节点在统计上比其他节点显示为"更接近",而该对等节点反过来就是目标所在的位置。
I2P通过四种方式避免了这个问题:首先,选择参与tunnel的peer不是在整个网络中随机采样的——它们来自peer选择算法,该算法将它们分为不同层级。其次,通过tunnel中peer的严格排序 ,peer出现频率更高的事实并不意味着它们是源头。第三,通过排列tunnel长度(默认未启用),即使是0跳tunnel也可以提供合理推诿性,因为网关的偶尔变化看起来像正常的tunnel。第四,通过受限路由(未实现),只有与目标有受限连接的peer才会联系目标,而攻击者只会遇到该网关。
当前的tunnel构建方法专门设计用于对抗前任攻击。另请参阅交集攻击 。
参考文献:Wright et al. 2008 ,这是对2004年前身攻击论文 的更新。
收集攻击
“收集"是指编制运行I2P用户的列表。它可以用于合法攻击,也可以通过简单地运行一个对等节点、查看它连接到谁,以及收集它能找到的其他对等节点的任何引用来帮助其他攻击。
I2P 本身并未设计有效防御此类攻击的机制,因为分布式网络数据库正好包含了这些信息。以下因素在实践中使攻击变得更加困难:
- 网络增长将使获得网络中特定比例变得更加困难
- Floodfill router实施查询限制作为DOS保护
- “隐藏模式"可防止router将其信息发布到netDb(但也阻止其中继数据),目前使用不广泛,但可能会被使用。
在未来的实现中,基本和全面的限制路由将减少这种攻击的威力,因为"隐藏"的节点不会在netDb中发布其联系地址——只发布可以到达它们的tunnel(以及它们的公钥等)。
未来,router 可以使用 GeoIP 来识别它们是否位于特定国家,在这些国家被识别为 I2P 节点可能存在风险。在这种情况下,router 可以自动启用隐藏模式,或采用其他受限的路由方法。
通过流量分析进行身份识别
通过检查进出 router 的流量,恶意的 ISP 或国家级防火墙可以识别出某台计算机正在运行 I2P。如上文 所讨论的,I2P 并非专门设计用来隐藏计算机正在运行 I2P 的事实。然而,在传输层和协议设计中做出的几个设计决策使得识别 I2P 流量变得相当困难:
- 随机端口选择
- 所有流量的点对点加密
- DH 密钥交换,无协议字节或其他未加密的常量字段
- 同时使用 TCP 和 UDP 传输。UDP 可能使某些深度数据包检测 (DPI) 设备更难追踪。
在不久的将来,我们计划通过进一步混淆 I2P 传输协议来直接解决流量分析问题,可能包括:
- 在传输层进行随机长度的填充,特别是在连接握手期间
- 研究数据包大小分布特征,并根据需要进行额外填充
- 开发模拟SSL或其他常见协议的额外传输方法
- 审查更高层的填充策略,了解它们如何影响传输层的数据包大小
- 审查各种国家级防火墙阻止Tor的实施方法
- 直接与DPI(深度包检测)和混淆专家合作
参考文献:Breaking and Improving Protocol Obfuscation
女巫攻击
Sybil 描述了一类攻击,攻击者创建任意大量的串通节点,并利用增加的数量来帮助实施其他攻击。例如,如果攻击者在一个随机选择对等节点的网络中,他们想要 80% 的机会成为这些节点之一,他们只需创建五倍于网络中现有节点数量的节点并掷骰子。当身份是免费的时候,Sybil 对于强大的攻击者来说可能是一种非常有效的技术。解决这个问题的主要技术就是让身份变得"不免费”——Tarzan (以及其他系统)利用 IP 地址有限的事实,而 IIP 使用 HashCash 来为创建新身份"收费”。我们目前尚未实现任何特定的技术来解决 Sybil 攻击,但在 router 和 destination 的数据结构中包含了占位符证书,在必要时可以包含适当价值的 HashCash 证书(或其他证明稀缺性的证书)。
在各种地方要求HashCash证书存在两个主要问题:
- 保持向后兼容性
- 经典的 HashCash 问题——选择在高端机器上具有意义的工作量证明的 HashCash 值,同时在低端机器(如移动设备)上仍然可行。
在给定IP范围内对router数量的各种限制减少了攻击者的脆弱性,这些攻击者无法在多个IP块中部署机器。然而,这对于强大的对手来说并不是有效的防御。
有关更多 Sybil 攻击的讨论,请参见网络数据库页面 。
伙伴耗尽攻击
(参考文献:In Search of an Anonymous and Secure Lookup 第5.2节)
通过拒绝接受或转发 tunnel 建立请求(除非是向串通的对等节点),router 可以确保 tunnel 完全由其串通的 router 集合组成。如果存在大量串通的 router,即Sybil攻击 ,成功的机会会增加。我们用于监控对等节点性能的对等节点分析方法在一定程度上缓解了这个问题。然而,当 router 数量接近 f = 0.2,即论文中指定的20%恶意节点时,这是一种强有力的攻击。恶意 router 还可以与目标 router 保持连接,并为通过这些连接的流量提供出色的转发带宽,试图操纵目标管理的分析结果并显得有吸引力。可能需要进一步的研究和防御措施。
密码学攻击
我们使用具有长密钥的强加密技术,并假设I2P中使用的行业标准密码学原语的安全性。安全特性包括立即检测路径上被篡改的消息、无法解密非发送给您的消息,以及防御中间人攻击。2003年选择的密钥长度在当时是相当保守的,并且仍然比其他匿名网络 中使用的密钥更长。我们认为当前的密钥长度并不是我们最大的弱点,特别是对于传统的、非国家级对手;漏洞和网络的小规模更令人担忧。当然,由于更快处理器的出现、密码学研究以及彩虹表、游戏硬件集群等方法的进步,所有密码学算法最终都会变得过时。不幸的是,I2P在设计时没有提供简单的机制来延长密钥或更改共享秘密值,同时保持向后兼容性。
升级各种数据结构和协议以支持更长的密钥最终必须解决,这将是一项重大工程,就像其他项目 面临的情况一样。希望通过仔细规划,我们能够最大限度地减少干扰,并实现机制以便于未来的过渡。
在未来,多个 I2P 协议和数据结构将支持安全地将消息填充到任意大小,因此消息可以做成恒定大小,或者 garlic 消息可以被随机修改,使得一些 cloves 看起来包含比实际更多的 subcloves。但是,目前 garlic、tunnel 和端到端消息只包含简单的随机填充。
Floodfill 匿名性攻击
除了上述描述 的 floodfill DOS 攻击之外,floodfill router 由于其在 netDb 中的作用以及与网络参与者的高频率通信,处于独特的位置来了解网络参与者的信息。这种威胁在一定程度上得到了缓解,因为 floodfill router 只管理总密钥空间的一部分,并且密钥空间每天轮换,正如网络数据库页面 中所解释的。router 与 floodfill 通信的具体机制已经经过仔细设计。然而,这些威胁应该得到进一步研究。具体的潜在威胁和相应的防御措施是未来研究的主题。
其他网络数据库攻击
恶意用户可能会试图通过创建一个或多个floodfill router并将其设计为提供错误、缓慢或无响应来损害网络。网络数据库页面 讨论了几种场景。
中央资源攻击
存在一些集中化或有限的资源(有些在I2P内部,有些不在)可能会遭受攻击或被用作攻击媒介。2007年11月jrandom的离开,随后2008年1月i2p.net托管服务的中断,凸显了I2P网络开发和运营中存在的众多集中化资源问题,其中大部分现在已经分散化。对外部可访问资源的攻击主要影响新用户找到我们的能力,而不是网络本身的运营。
- 网站已镜像并使用 DNS 轮询进行外部公共访问。
- Router 现在支持多个外部 reseed 位置 ,但可能需要更多的 reseed 主机,并且对不可靠或恶意 reseed 主机的处理可能需要改进。
- Router 现在支持多个更新文件位置。恶意更新主机可能提供巨大文件;需要限制大小。
- Router 现在支持多个默认可信更新签名者。
- Router 现在能更好地处理多个不可靠的 floodfill 节点。恶意 floodfill 需要更多研究。
- 代码现在存储在分布式源代码控制系统中。
- Router 依赖单个新闻主机,但有一个硬编码的备份 URL 指向不同的主机。恶意新闻主机可能提供巨大文件;需要限制大小。
- 命名系统服务 ,包括地址簿订阅提供者、添加主机服务和跳转服务,可能是恶意的。在 0.6.1.31 版本中为订阅实施了实质性保护,在后续版本中进行了额外增强。然而,所有命名服务都需要某种程度的信任;详情请参阅命名页面 。
- 我们仍然依赖 i2p2.de 的 DNS 服务;失去这个服务将对我们吸引新用户的能力造成重大影响,并会缩减网络规模(短期到中期),正如失去 i2p.net 时一样。
开发攻击
这些攻击并不直接针对网络本身,而是针对其开发团队,要么对任何为软件开发做贡献的人设置法律障碍,要么使用任何可用手段让开发者破坏软件。传统的技术措施无法击败这些攻击,如果有人威胁开发者的生命或生计(甚至只是在监禁威胁下发出法庭命令和禁言令),我们就会面临大问题。
然而,有两种技术有助于防御这些攻击:
- 网络的所有组件都必须是开源的,以便进行检查、验证、修改和改进。如果某个开发者被攻破,一旦发现,社区应当要求其提供解释并停止接受该开发者的工作。我们分布式源代码控制系统的所有提交都经过加密签名,发布打包者使用信任列表系统来限制修改仅限于先前批准的人员。
- 通过网络本身进行开发,允许开发者保持匿名但仍能确保开发过程的安全性。所有I2P开发都可以通过I2P进行 — 使用分布式源代码控制系统、IRC聊天、公共web服务器、讨论论坛(forum.i2p)和软件分发站点,这些都可在I2P内部获得。
我们还与提供法律建议的各种组织保持联系,以备必要时提供辩护。
实现攻击(漏洞)
尽管我们努力避免,但大多数重要应用程序在设计或实现中都会包含错误,I2P也不例外。可能存在一些漏洞,这些漏洞可能被利用来以意想不到的方式攻击在I2P上运行的通信的匿名性或安全性。为了帮助抵御针对所使用的设计或协议的攻击,我们公布所有设计和文档,并征求审查和批评,希望众多关注能够改善系统。我们不相信通过保密来实现安全。
此外,代码也被以同样的方式对待,对于重新设计或淘汰不能满足软件系统需求的部分(包括修改的便利性)几乎没有抗拒。网络和软件组件的设计和实现文档是安全性的重要组成部分,因为没有这些文档,开发者不太可能愿意花时间深入学习软件以识别缺陷和漏洞。
我们的软件很可能包含特定的漏洞,特别是与内存不足错误(OOM)导致的拒绝服务相关的错误、router 控制台中的跨站脚本攻击(XSS)问题,以及通过各种协议处理非标准输入时的其他漏洞。
I2P仍然是一个小型网络,开发社区规模较小,几乎没有得到学术或研究团体的关注。因此,我们缺乏其他匿名网络 可能已经获得的分析。我们将继续招募人员参与其中 并提供帮助。
其他防护措施
黑名单
在某种程度上,I2P可以得到增强,以避免与列在黑名单中的IP地址上运行的节点进行连接。有几种常用的标准格式黑名单可供使用,其中列出了反P2P组织、潜在的国家级对手以及其他威胁实体。
在活跃节点确实出现在实际封禁列表中的情况下,仅由部分节点进行封禁往往会导致网络分割,加剧连接性问题,并降低整体可靠性。因此,我们希望就特定的封禁列表达成一致,并将其设为默认启用。
黑名单只是防御恶意行为的一系列防护措施中的一部分(可能是很小的一部分)。在很大程度上,分析系统在测量 router 行为方面表现良好,这样我们就不需要信任 netDb 中的任何内容。然而,我们还能做得更多。对于上述列表中的每个领域,我们都可以在检测恶意行为方面进行改进。
如果拦截名单托管在具有自动更新功能的中央位置,网络就容易受到中央资源攻击 。自动订阅名单会给名单提供者关闭整个 I2P 网络的权力。完全关闭。
目前,我们的软件自带一个默认阻止列表,其中只列出了过去DOS攻击源的IP地址。该列表没有自动更新机制。如果某个特定IP范围对I2P网络实施严重攻击,我们将不得不通过论坛、博客等带外机制要求用户手动更新其阻止列表。