你知道女巫攻击吗?

概述

女巫攻击(Sybil Attack)是2002年由John R. Douceur在《the Sybil Attack》[1]文中提出的,它是作用于对等(Peer-to-Peer,简称P2P)网络中的一种攻击形式:攻击者利用单个节点来伪造多个身份存在于P2P网络中,从而达到削弱网络的冗余性,降低网络健壮性,监视或干扰网络正常活动等目的。
在P2P网络中,为了解决来自恶意节点或者节点失效带来的安全威胁,通常会引入冗余备份机制,将运算或存储任务备份到多个节点上,或者将一个完整的任务分割存储在多个节点上。正常情况下,一个设备实体代表一个节点,一个节点由一个ID来标识身份。然而,在缺少可信赖的节点身份认证机构的P2P网络中,难以保证所备份的多个节点是不同的实体。攻击者可以通过只部署一个实体,向网络中广播多个身份ID,来充当多个不同的节点,这些伪造的身份一般被称为Sybil节点[2,3]。Sybil节点为攻击者争取了更多的网络控制权,一旦用户查询资源的路径经过这些Sybil节点,攻击者可以干扰查询、返回错误结果,甚至拒绝回复。

应用案例

Sybil Attack的思想被广泛用于对抗P2P僵尸网络。以知名P2P僵尸网络Strom[2]为例,其采用了基于Kademlia的Overnet协议,正常节点的行为:
1、每个加入网络中的节点会生成一个ID号用以标识自身;
2、节点通过预设的算法每天生成32个不同key来查询控制命令;
3、控制者会提前在网络中发布这32个key对应的命令<key,command>以供节点查询;
4、根据Overnet协议,<key,command>会存放在K个与该key相邻ID的节点中,并通过递归的方式进行查询。
Sybil节点行为:
1、根据待攻击的key空间生成相应的ID(接近key的哈希值),使得查询请求能有较高概率被路由到Sybil节点;
2、主动向网络中的其他节点广播自己的ID,使其出现在其他节点的路由表中;
3、当查询key的路径经过Sybil节点时,Sybil节点返回错误信息,或者重路由到其他Sybil节点,使得正常节点无法进行C&C通信获取控制命令。

怎么解决女巫攻击?

一种方法是工作量证明机制,即证明你是一个节点,别只说不练,而是要用计算能力证明,这样极大地增加了攻击的成本。
另一种方法是身份认证(相对于PoW协议,女巫攻击是基于BFT拜占庭使用容错协议的Blockchain需要考虑的问题,需要采用相应的身份认证机制)。
认证机制分为二类:
1)基于第三方的身份认证
每加入一个新的节点都需要与某一个可靠的第三方节点进行身份验证。
2)纯分布式的身份认证
每加入一个新的节点都需要获得当前网络中所有可靠节点的认证,这种方法采用了随机密钥分发验证的公钥体制的认证方式,需要获得网络中大多数节点的认证才能加入该网络。

大话女巫攻击

女巫攻击:分身诈骗术
应对方法:
1.干活 你即便分身千千万,唯有真心能干活。分心是虚幻的,没有力气,pow证明。
2.发身份证 可靠第三方公安局给你发身份证,没有身份证都是分身妖怪。
3.熟人社会 你迁户口到一个新的村子里,必须得到村子里,大部分人的认证,这就是中国传统社会的身份认证方法。群众的眼睛就是火眼金睛,照出一切妖魔鬼怪。

-------------本文结束感谢您的阅读-------------