Sybil 攻击
Sybil攻击就是指一个恶意的设备或结点违法地以多个身份出现,我们通常把这个设备或节点的这些多余的身份称为Sybil设备或结点。
Sybil攻击主要分为以下几种形式:
直接通信
进行sybil攻击的一种形式是sybil结点直接与合法结点进行通信。当合法结点发送一个无线消息给sybil结点时,sybil结点中的一个会监听这个消息。同样地,从所有sybil结点发送出的消息事实上也是从同一个恶意设备发出的。
间接通信
在这个版本的攻击中,没有一个合法的结点能够直接与sybil结点进行通信。相反,一个或多个恶意的结点宣称他们能够到达sybil结点。因此,发送给sybil结点的消息都是通过其中的一个恶意结点进行路由转发的,这个恶意结点假装把这个消息发送给sybil结点,而事实上就是这个恶意结点自己接收或者拦截了这个消息。
伪造身份
在某些情况下,一个攻击者可以产生任意的sybil身份。比如说如果一个结点的身份是一个32-位的整数,那么攻击者完全可以直接为每一个sybil结点分配一个32-位的值作为它的身份。
盗用身份
如果给定一种机制来识别结点的身份,那么攻击者就不能伪造身份了。举个例子来说,命名空间,由于命名空间本身就是有限的,根本不允许插入一个新的身份。在这种情况下,攻击者需要分配一个合法的身份给sybil结点。这种身份盗用在攻击者把原有结点摧毁或者使之失效的情况下是不好检测的。
同时攻击
攻击者将其所有的sybil身份一次性的同时参与到一次网络通信中。如果规定一个结点只能使用它的身份一次,那么这个恶意结点就可以循环的使用它的多个sybil身份让人看起来是多个结点。这就是同时性。
非同时攻击
如果攻击者只在一个特定的时间周期里使用一部分sybil身份,而在另外一个时间段里是这些身份消失而以另外的sybil身份出现,这看起来就像网络中正常的结点撤销和加入。