按照受到攻击的结构来看,攻击主要分为两类,第1类攻击是针对路由表控制网络中部分节点;第2类则是恶意消耗占用节点的资源。前者包括日蚀攻击、女巫攻击、流失攻击(Churn attack)和对抗路由攻击。
(1)日蚀攻击
如果一个节点在网络中能够自由选择它的ID,攻击者可以在网络中安放一些恶意节点,使得信息都必须经由恶意节点传递。那么这样一来,恶意节点就能够在网络中将一个或几个节点从网络中隐藏掉。只要恶意节点不能自由选择ID或者很难通过策略修改其他节点的K-Bucket,这一攻击就能避免了。我们从2.1.1节得知,KAD会优先请求K-Bucket中的长时间在线的节点,一旦被攻击节点的K-Bucket是非满的,恶意节点就有机会加入攻击节点的K-Bucket,那么攻击者只要拥有足够长的在线时间就能实现攻击了。
(2)女巫攻击
在开放的对等网络里,攻击者可以假冒多个ID,用少数网络节点控制多个虚假身份。KAD网络难以控制节点的数量,那么攻击者伪造大量虚假节点身份,就能控制部分网络。通常情况下可以通过消耗一定的系统和计算资源提高女巫攻击者的成本。当然,这也只能改善并不能杜绝。
(3)流失攻击
攻击者拥有网络的一些节点,即恶意节点,这可能会在网络中引发大量流量流失,从而导致网络稳定性降低。
(4)对抗路由攻击
恶意节点在收到查询指令后,不是按照KAD的要求返回距离Key最接近的网络节点,而是转移给同伙节点。同伙节点也做同样的操作,而不返回给查询节点所需要的信息,那么这样一来查询就会失效。我们发现,整个过程中必须将查询信息传递给恶意节点,这一攻击才能发动。那么我们可以在查询时,设计算法并行地查询,并且每一条查询路径不相交。这样一来,只要并行查询的路径中有一条不碰到恶意节点,查询就能成功了。
资料来源:《IPFS原理与实践》,文章链接:https://developer.aliyun.com/article/726565
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。