女巫攻击(Sybil Attack)是2002年由John R. Douceur在《the Sybil Attack》文中提出的,它是作用于对等(Peer-to-Peer,简称P2P)网络中的一种攻击形式:攻击者利用单个节点来伪造多个身份存在于P2P网络中,从而达到削弱网络的冗余性,降低网络健壮性,监视或干扰网络正常活动等目的。
在P2P网络中,为了解决来自恶意节点或者节点失效带来的安全威胁,通常会引入冗余备份机制,将运算或存储任务备份到多个节点上,或者将一个完整的任务分割存储在多个节点上。
正常情况下,一个设备实体代表一个节点,一个节点由一个ID来标识身份。然而,在缺少可信赖的节点身份认证机构的P2P网络中,难以保证所备份的多个节点是不同的实体。攻击者可以通过只部署一个实体,向网络中广播多个身份ID,来充当多个不同的节点,这些伪造的身份一般被称为Sybil节点。Sybil节点为攻击者争取了更多的网络控制权,一旦用户查询资源的路径经过这些Sybil节点,攻击者可以干扰查询、返回错误结果,甚至拒绝回复。
应用案例
Sybil Attack的思想被广泛用于对抗P2P僵尸网络。以知名P2P僵尸网络Strom[2]为例,其采用了基于Kademlia的Overnet协议,正常节点的行为:
Sybil节点行为:
如图所示,在僵尸网络中部署一个恶意实体A,同时伪造出多个Sybil节点B、C、D,查询路径经过他们中任意一个,其实都是由恶意实体节点A所控制。Sybil节点应该根据P2P协议的特点进行针对性的部署,以实现最大概率的出现在查询路径中。防御者通过部署Sybil节点不仅可以对P2P僵尸网络的活动进行干扰或阻断,还能实施索引污染、规模测量、活动监视等多种打击策略。
用户评论