虫洞(Wormholes)很难被检测,因为敌手通过使用单跳带外信道,将数据包发送到一个距离收到该包的端点远的端点。网络无法监听这种信道。此外,数据包真正的备份到达接收重放备份端点的时间要晚于重放备份到达该点。因此,重放的备份要比真正的备份更新鲜。抵抗虫洞攻击的检测机制可以基于对数据包的时间和空间分析。在Hu等(2003)文献中介绍的地理和时间上的数据包绑定遵循了这种方法。地理位置绑定(Geographical Leash)方案假设各个节点松散同步,同时是地理位置感知的(Location Aware)。源节点S将自身的地理位置信息lS和数据包传输时间信息tS作为地理信息绑定到它发送到目的节点D的数据包PS中。
网络中的节点时钟同步误差在±Δ范围内。两节点之间的距离上限是db,同时是基于两节点的传输距离而定的。节点定位的误差上限是δ。同样的,传输信号v的速率上限也是已知的。之后每个位于位置li并在ti时刻接收数据包进行转发的节点i可以检查以下条件:
如果条件不成立,就表明由节点i所接收的数据包比预期的早到达,网络可能遭受了虫洞攻击。当节点之间的平均距离不够长,并且正常路径中的跳数不够高时,这种技术也许无法检测出虫洞攻击。
时间绑定(Temporal Leashes)的方式只使用数据包的发送和接收时间来检测虫洞。当节点A发送或转发某个数据包给节点B时,数据包PA中也将包含传输时间tA。
(www.xing528.com)
节点B将检查数据包的发送时间tA和接收时间tB之间的差值dAB,如果dAB小于给定的门限值θ,就表明遭到了虫洞攻击。时间绑定方式需要严格的时钟同步。
当定向天线在节点中可用时,它也可以被用于检测虫洞(Hu and Ev-ans,2003),如图12-1所示,这里由节点a所传输的数据包被恶意节点w1所接收,并通过虫洞传输给了另一个恶意节点w2,并且被节点w2进行了重放。重放数据包被节点f接收。因此,节点a和f相信它们互为邻居节点。
我们假设节点a和f都装备了拥有六个扇区的定向天线,同时两个节点的扇区是对齐的,例如节点a的1号扇区和节点f的1号扇区在同一个方向上。因此,由节点a的4号扇区所发送的数据包应该在节点f的1号扇区进行接收。然而,由虫洞所重放的数据包是由节点f的2号扇区接收的。若数据包也包含传送它们的扇区的数据信息,这就表明产生了虫洞攻击,同时可以被节点f检测出。
图12-1 检测虫洞攻击的定向天线
攻击者可以通过在相同的接收扇区进行重放数据包来适应定向天线。然而,即使是使用这种最简单的方式,攻击者的能力也被削减了。更多的基于这一思想的更复杂的方案在Hu和Evans(2003)文献中给出了介绍。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。