×
嵌入式开发 > 详情

基于跳数的防御无线传感器网络中虫洞攻击方案

发布时间:2020-07-10 发布时间:
|
引言
无线传感器网络作为一种新型的无线网络形式,有着很好的发展前景。与此同时,由于无线传感器网络自组织、无控制中心和拓扑频繁变化等特点,其安全性也受到了越来越多的关注。无线传感器网络中的虫洞攻击就是一种主要针对网络路由协议的恶意攻击,该攻击通过扰乱网络路由层数据分组的传输,达到攻击整个网络的目的。现有的针对虫洞攻击检测和防御的相关研究中,有的方案引入GPS模块或者有向天线等辅助硬件,还有一些方案依赖于网络节点精确的地理位置信息或者节点之间的时钟同步来对攻击节点进行定位。这些方案对能量资源和处理能力都有限的网络节点来说,是很大的挑战。本文基于无线传感器网络反应式路由协议——AODV路由协议,不需引入辅助硬件,也不要求节点间时钟同步,仅通过对路由协议进行优化,来实现对虫洞攻击的防御。

1 虫洞攻击
虫洞攻击一般由至少两个相距较远的恶意节点合谋发起,合谋节点之间建立一条比正常节点间高效的私有信道。当虫洞攻击发起时,合谋节点之一在网络的一端获取网络中的数据分组,通过私有信道将数据分组传递至另一个合谋节点,然后该合谋节点再把数据分组重放回网络中。数据分组在私有信道的传递过程中被恶意节点实施选择性丢弃或者数据篡改等恶意行为,实现对网络的攻击。虫洞攻击模型如图1所示。


N1和N2是网络中相距较远的两个节点,两节点不在可通信范围之内。正常情况下,两者需要经过多跳路由才能实现互相通信。M1和M2是两个恶意节点,它们之间建立起一条私有信道。M1和M2分别处于N1和N2的通信范围,当N1发送数据时,M1会首先收到该数据,然后M1通过私有信道把该数据传递给其合谋节点M2。M2接收到数据后继续将其转发给N2。这样,N1和N2就会误认为彼此是邻居节点,M1和M2也因此获得路由权。
表面现象让我们觉得,如果虫洞合谋节点是忠实可靠的节点,虫洞私有信道反而形成了一条更加高效的网络链路,提供了一个高效的网络连接服务,有效地减少了数据传输的延时。但实际上,虫洞合谋节点在数据传递的过程中并不忠实于传递所有数据,而是对数据包实施选择性丢弃或者数据篡改等恶意行为。更严重的是,即使网络通信已经采用了加密或认证机制,恶意节点仍然可以发起虫洞攻击。

2 相关工作
参考文献中提出了“数据包限制”机制,并采用一种有效的认证协议TIK来对虫洞节点检测和防御。该机制的主要思想是在数据分组中附加地理限制信息或者时间限制信息来限制分组的最大传输距离。数据分组接收节点依据附加在数据分组中的地理限制信息或者时间限制信息来计算自己到发送节点间的最大传输距离,由此判断数据分组来源的合法性。这种机制需要网络中节点真实的地理信息和精确的时钟同步。
参考文献从数据分组的延时出发提出了虫洞攻击的检测方案:记录从源节点到目的节点之间所有的不相交路径,然后计算出每条路径的长度和延时,进而得到每条路径平均每跳的延时。如果存在一条路径,其平均每跳的延时相比较于其他路径的平均每跳延时异常地大,那么就认为这条路径遭受到虫洞攻击。这种机制同样需要网络中节点的时钟同步。
参考文献基于数据包往返时间(RTT)的方法检测虫洞的存在,因为虫洞节点之间传输数据包的RTT必然大于真实邻居节点之间的RTT。这种方法虽然不需要额外的硬件,但是也需要网络中节点的时钟同步。
参考文献提出使用统计分析的方法进行虫洞检测。在虫洞攻击下,恶意节点所在的路径在路由表中出现的比例将很高。此方案统计出出现比例较高的路径,并使用测试包对其进行测试,由此来确定恶意节点。但是这种方法只适合在多路径协议中使用,对AODV等单播路由协议是失效的。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM入门篇之(一)概念