首页> 中国专利> 水下传感器网络中多路径路由的污水池攻击入侵检测方法

水下传感器网络中多路径路由的污水池攻击入侵检测方法

摘要

本发明涉及一种水下传感器网络中多路径路由的污水池攻击入侵检测方法,包括三个阶段:(1)可疑节点识别阶段:对于事件节点到达基站的跳数等于三跳的路径,第二跳节点视为可疑节点;对于事件节点到达基站的跳数大于等于四跳的路径,根据任意两条到达基站的路径上基站的前一跳节点是否是邻居节点,判断路径上是否存在可疑节点;(2)污水池节点确定阶段;(3)污水池节点隔离阶段:事件节点向基站报告污水池节点,基站将污水池节点通告全网并且从网络中删除。本发明能有效的检测污水池节点的恶意攻击,保证网络的安全;对节点的硬件条件没有严格的限制,也不受特殊信息或者特定节点等限制,具有良好的扩展性。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-06-22

    授权

    授权

  • 2014-02-05

    实质审查的生效 IPC(主分类):H04W12/12 申请日:20130910

    实质审查的生效

  • 2014-01-01

    公开

    公开

说明书

技术领域

本发明属于水下传感器网络通信安全领域,具体的涉及一种水下传感器网络中多路径路由的污水池攻击入侵检测的方法。

背景技术

水下无线传感器网络(Underwater Wireless Sensor Networks,简称UWSNs)是针对水下环境中的应用提出的。UWSNs是由大量水下传感器节点构成,通过水声无线通信方式形成的一种分布式的自组织的无线通信网。水下传感器节点协作地监测采集数据信息,经过融合处理后,传送给水面基站,然后再通过射频通信或有线通信传送给用户。由于UWSNs具有分布式、低成本等特点,能够为促进海洋环境管理、资源保护、灾害监测预警、海洋工程、海上生产作业和海洋军事活动等提供更好的技术支持和信息平台,因此水下无线传感器网络有着广阔的应用前景。但是在大多数应用环境中用户对水下无线传感器网络的安全能力有很高的要求,因此安全成为制约水下传感器网络广泛应用的关键。

但是,UWSNs与地面传感器网络相比,面临着许多限制,主要表现为以下几个方面:

(1)节点硬件资源的限制。传感器节点本身的硬件条件有限,如存储空间,计算能力等方面,同时传感器节点部署在水下,无法利用现有能源补充能量,而且水声通信较电磁波通信发射功率大,能量消耗更多;

(2)水下节点的安全问题。水下环境复杂多变,如海水盐度、压力等,随时使节点可能面临侵蚀、丢失等危险,更重要的是随时都面临着恶意节点的攻击,入侵等,导致节点被俘虏、失效等;

(3)水下传感器网络节点数目众多,需要感知的数据量也相对庞大,对于一个以数据为中心的网络,水下传感器网络需要对数据进行处理,很难达到端对端的安全;

(4)网络拓扑的未知性、变化性。节点往往被随机地投放到目标区域,由于水流的因素,无缆固定的水下节点具有一定的移动性,导致网络拓扑的变化性,带来安全方面的问题。

(5)        在一些应用场所中,由于无法保证节点的物理安全,如敌方控制的区域,水下传感器网络比传统的网络更容易受到攻击,而且攻击的种类更加多样化。 

  水下传感器网络由于以上的约束条件,而且通常又被布置在无人看护甚至条件恶劣的环境中,所以易受到各种攻击,特别是来自内部节点的攻击如:Sybil攻击、选择性转发攻击、wormhole攻击等,其中最普遍的一种攻击是污水池攻击。其是攻击节点通过引诱其周围大范围的流量,在基站和攻击者之间形成单跳高质量路由,从而弱化了选择性转发,导致来自该区域的任何信息包的丢失或者修改,通常其称能够通过一条单跳高质量的到达基站节点路径,来吸引周围的邻居节点,从而改变网络信号传输的方向,不仅如此,此操作之后该攻击还能将传送到基站节点的数据包转发给攻击者,给网络带来严重的危害。

近年来,抵御污水池攻击的相关的研究文献如下:

E. C. H. Ngai, J. Liu, and M. R. Lyu在2006年《Proceedings of the IEEE International Conference on Communications》发表文章“On the intruder detection for 污水池 attack in wireless sensor networks”,提出了针对污水池攻击检测方法,基站向网络发送包含受到影响的节点ID 的请求信息,受到影响的节点回复包含其ID,其下一跳以及相关代价的信息,然后通过基站的信息构造网络流图确定攻击节点,该方法只适合静态无线传感器网络,而且新增加的节点不能参加之前的检测过程,因此不具有时效性。

Lee Hae Young, Cho Tae Ho在2007年《Proceedings of the 4th International Conference on Ubiquitous Intelligence and Computing: Building Smart worlds in Real and Cyber Spaces. Lecture Notes in Computer Science》发表文章“Fuzzy-based reliable data delivery for countering selective forwarding in sensor networks”,文中提出基于模糊逻辑方法,即模糊逻辑决定传输报文采用的路径数目,同时模糊逻辑考虑了网络的能量和恶意节点的数目,这种方法实际是多路径路由方法的改进,但是传输报文的路径数目随着条件的不同而变化,仍然存在着冗余报文的传递,额外消耗网络紧缺的能量资源。

Edith C.H. Ngai等人在2007年《Computer Communications, Special issue on security on Wireless ad hoc Sensor Networks》发表文章“An efficient intruder detection algorithm against 污水池 attacks in Wireless Sensor Networks”,文中提出一种新颖的检测污水池 attack的方法,首先通过检查数据的一致性,找出可疑节点的列表:基站通过统计数据分析找出攻击者,由于普通的传感器节点在相同的环境中有相似的感应数据, 所以作者将整个网络分成许多子区域,比较它们数据的差异性,通过比较与正常节点数据的不一致性,找出恶意节点;其次通过确定攻击节点过程找出恶意节点的位置:基站利用收到的其他节点的回复包中的信息:自身节点的ID,下一跳节点的ID和路由权重构造网络流量信息树,树根节点就是攻击节点,该方法能有效的检测出攻击节点,但是会耗费一定的能量代价。

周玲玲等人在2008年《计算机工程与应用》上,发表文章“无线传感器网络中的污水池攻击检测”,提出了基于多点监测与回复信息的攻击检测方法:利用基站和节点间数据包的传输与确认,结合邻居节点的监视机制对节点收发的数据包统计分析,检测污水池攻击,这种方法避免了复杂的加密算法与身份认证,与多路径安全机制相比有着更高的可靠性。

Maliheh Bahekmat等人在2012年《International Journal of Computer Theory and Engineering》发表文章“A novel algorithm for detecting 污水池 attacks in WSNs”,提出一种利用能量消耗的方法检测恶意节点:当一个节点将数据发送到基站时,首先直接向基站发送一个控制数据包,然后按照路由逐跳的向基站传送该控制数据包;当基站收到控制数据包后,将控制数据包中控制区域的某控制信息与原来控制数据包中的相对应的控制信息进行比较,如果两个信息不一致,则表明存在恶意节点;之后基站开始检测数据传送的路径,一旦节点在一个数据包中被重复检测出错误,基站核查该节点每次的路径并且比较该节点的新路径,判断该节点是否为恶意节点,但是该方法在检测过程中涉及路由过程,不可避免会产生高的通信开销。

Sina Hamedheidari, Reza Rafeh在2013年《Computers & Security》发表文章“A novel agent-based approach to detect 污水池 attacks in Wireless Sensor Networks”, 该算法主要有两部分构成网络部署阶段即网络的构建阶段和网络的维护阶段即保持网络的安全阶段。网络随机部署阶段完成后the agents 开始执行agent cycling,在发送和接收来自某节点的数据之前,the agent和此节点首先要执行a three-step negotiation,作为判断此节点是否可信;如果邻居节点是可信任的,在邻居节点矩阵列表上将此节点设置为可信任的;当an agent从另一个节点返回时,计算接收到的信号强度,如果这个值小于阈值,将这个邻居节点从邻居列表中删除,重新执行寻找邻居节点过程,重新执行判断算法。然而该方法在检测过程中涉及硬件条件和循环过程,不可避免会需要高的通信开销和硬件成本。

因此,目前针对污水池检测技术还不是一项成熟的技术,普遍存在的问题是:

(1)    基于跳数的检测方案,基于博弈论的检测方案,节点间的密钥技术以及某种针对路由协议的检测方案在存储资源和能量方面开销较大,且时效性低不利于资源受限的传感器网络;

(2)    需要全向天线,时钟精确度较高的信号接收器,移动代理等支持的硬件条件,极大的增加了网络的成本和实现的复杂度。

发明内容

为了克服现有技术中存在的不足,本发明提供了一种水下传感器网络中多路径路由的污水池攻击入侵检测方法。 

水下传感器网络中多路径路由的污水池攻击入侵检测方法,包括如下步骤:

(1)识别可疑节点,主要分为两种情况:a、事件节点到达基站的跳数等于三跳的路径,即事件节点经到第二跳节点到达基站的路径;b、事件节点到达基站的跳数大于等于四跳的路径,即事件节点经到第二跳节点再经到第三跳节点、第四跳节点,或者更多跳节点,最后到达基站的路径;

(2)确定污水池节点,同样分为所述步骤(1)中的两种情况;

(3)隔离污水池节点,每当检测出污水池节点,事件节点记录并且向基站报告污水池节点,基站将污水池节点通告全网并且从网络中删除。 

前述的步骤(1)中的识别可疑节点的具体步骤如下:

(1a)在每轮的时钟周期内,事件节点在其一跳通信范围内广播路由查询包;

(1b)接收到事件节点发送的路由查询包的节点,立刻向事件节点回复路由查询包;

(1c)事件节点接收到回复的路由查询包后,统计回复的路由查询包中所记录的路由列表信息;

(1d)事件节点分析路由列表信息,如果所述步骤(1b)中某节点回复的路由查询包中的的路由信息列表中列出只经过自身节点就能到达基站,则为事件节点到达基站的跳数等于三跳的路径的情况,则将此节点即第二跳节点视为可疑节点;

(1e)事件节点分析路由列表信息,如果所述步骤(1b)中某些节点回复的路由查询包中的路由信息列表中列出除了经过自身节点,还需经过第三跳节点、第四跳节点或者更多跳节点才能到达基站,即为事件节点到达基站的跳数大于等于四跳的路径的情况,假设网络中至少存在两条事件节点达到基站的路径,事件节点任意挑选两条这些节点所在的到达基站的路径;

(1f)事件节点在每轮的时钟周期内,沿着所述步骤(1e)所挑选的两个条路径,向两条路径上基站的前一跳节点发送邻居查询包;

(1g)两条路径上基站的前一跳节点收到邻居查询包后,立刻沿着逆路径向事件节点回复邻居查询包;

(1h)事件节点收到回复的邻居查询包后,进行统计和分析,识别可疑节点:

如果两个基站的前一跳节点互相存在对方的邻居列表中,在不存在共谋攻击的情况下,则表示此两条路径上不存在可疑节点;

如果两个基站的前一跳节点互相不存在对方的邻居列表中,则将该两条路径上事件节点和基站之外的节点视为可疑节点;

如果其中一个基站的前一跳节点存在对方的邻居列表中,但是对方节点的邻居列表中没有记录这个基站的前一跳节点,则将对方节点所在路径上事件节点和基站之外的节点视为可疑节点。

前述的步骤(1a)中的路由查询包是指在每轮的时钟周期内,要求接收到路由查询包的节点,回复自身路由列表中记录的下一跳节点和下一跳节点的ID信息。

前述的步骤(1f)中的邻居查询包是指在每轮的时钟周期内,要求接收到邻居查询包的节点,回复自身邻居列表中记录的一跳通信范围内的节点和这些节点的ID信息。

前述的步骤(2)中的确定污水池节点的具体步骤如下:

(2a)在每轮的时钟周期内,事件节点向第二跳节点发送邻居查询包;

(2b)接收到事件节点的邻居查询包的第二跳节点,立刻向事件节点回复邻居查询包;

(2c)事件节点接收到回复的邻居查询包后,进行统计和分析,首先查询自己是否在第二跳节点的邻居列表中,如果不在,则第二跳节点就为污水池节点;如果在第二跳节点的邻居列表中,则继续判断;

(2d)事件节点继续分析第二跳节点回复的邻居列表信息,对于同时存在事件节点和第二跳节点的邻居节点,事件节点直接向该邻居节点发送数据查询包;

(2e)对于只存在第二跳节点的邻居列表中但是不在事件节点的邻居列表中的邻居节点,事件节点向第二跳节点和通过第二跳节点的且只存在第二跳节点的邻居列表中的节点发送数据查询包;

(2f)所述步骤(2e)中的邻居节点,在每轮的时钟周期内,向事件节点回复数据查询包;

(2g)事件节点接收到回复的数据查询包后,分析并统计第二跳节点的邻居节点所记录的其与第二跳节点交互的数据包次数和第二跳节点回复的ACK总数目,将此两个值与第二跳节点记录的其与邻居节点交互的数据包次数和回复的ACK总数目进行比较,如果数据不一致,则表明第二跳节点是污水池节点,事件节点将记录污水池节点;如果数据一致,则表明第二跳节点是安全节点;

(2h)对于事件节点到达基站跳数大于等于四跳的情况,将确定是安全节点的第二跳节点称为事件节点,将要检测的第三跳节点称为事件节点之后的第二跳节点,重复步骤(2a)~(2g),判断第三跳节点是安全节点还是污水池节点;

(2i)依次判断第四跳节点、第五跳节点,直至判断出最后节点是安全节点还是污水池节点。

前述的步骤(2d)中的数据查询包是指在每轮的时钟周期内,要求回复接收到数据查询包的节点与其邻居节点交互的数据包次数,以及接收到数据查询包的节点和其邻居节点收到的ACK的总数目。

与现有的污水池攻击的检测方法相比,本发明所具有的积极效果是:

(1)    能有效的检测污水池节点的恶意攻击,保证网络的安全。

(2)    对节点以及网络的硬件条件没有严格的限制,也不受特殊信息或者特定节点等限制,具有良好的扩展性。

附图说明

图1是污水池节点攻击行为特征的示意图;

图2是本发明可疑节点识别过程流程图;

图3是本发明污水池节点确定过程流程图;

具体的实施方式

为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明详细说明如后。

根据水下传感器网络中多路径路由的污水池节点呈现的攻击方式,本发明总结了污水池节点的典型恶意行为,逐步鉴别污水池节点,包括三个阶段:

(1)可疑节点识别阶段:分为两种情况:

a、事件节点到达基站的跳数等于三跳的路径,第二跳节点视为可疑节点;

b、事件节点到达基站的跳数大于等于四跳的路径,根据任意两条到达基站的路径上基站的前一跳节点是否是邻居节点,判断路径上是否存在可疑节点;

其中,事件节点即网络中发起的路由查询请求的节点;事件节点到达基站的跳数等于三跳的路径是指事件节点经到第二跳节点到达基站的路径;事件节点到达基站的跳数大于等于四跳的路径是指事件节点经到第二跳节点再经到第三跳节点、第四跳节点或者更多跳节点最后到达基站的路径。

(2)污水池节点确定阶段:同样分为上述两种情况。

a、事件节点到达基站跳数等于三跳的路径。判断事件节点是否在第二跳节点的邻居列表中,以及比较第二跳节点所记录的与邻居节点交互的数据包次数和ACK数目与第二跳节点的邻居节点所记录的与第二跳节点交互的数据包次数和ACK数目是否一致,判断可疑节点是否为污水池节点;

b、事件节点到达基站的跳数大于等于四跳的路径。第二跳节点的判别方法与a中所述的方法相同;当判断出第二跳节点是安全节点的时候,将第二跳节点设置为事件节点,将要检测的第三跳节点称为即将要检测的第二跳节点,按照a所述的方法判断第三跳节点是否为污水池节点,以此类推判断第四跳节点、第五跳节点等是否为污水池节点; 

(3)污水池节点隔离阶段:每当检测出污水池节点,事件节点向基站报告污水池节点,基站将污水池节点通告全网并且从网络中删除。 

下面结合附图对本发明作进一步的描述。

如图1所示的污水池攻击模型,其攻击实施过程如下:

事件节点如A向在其一跳通信范围内的邻居节点广播到达基站的路由查询包,恶意节点如C通过夸大自身的某种性能,如包含最少的到达基站的跳数,以及最优路径代价等,或者声称在基站和自身节点之间可以形成少跳甚至单跳的高质量路由,然后向事件节点回复路由查询包。

污水池节点利用此种方式引诱周围的事件节点,声称在基站和自身节点之间可以形成少跳甚至单跳的高质量路由,从而弱化了其他节点的选择性转发功能,然后对得到的数据包进行修改或者丢弃,从而在恶意节点周围区域形成空洞,给网络带来严重的危害。

如图2所示的可疑节点的识别阶段的流程图的具体步骤如下:

(a)在每轮的时钟周期内,事件节点在其一跳通信范围内广播路由查询包,路由查询包是指在每轮的时钟周期内,要求接收到路由查询包的节点,回复其自身路由列表所记录的下一跳节点和下一跳节点的ID信息;

(b)接收到事件节点发送的路由查询包的节点,立刻向事件节点回复路由查询包;

(c)事件节点接收到回复的路由查询包后,统计回复的路由查询包中所记录的路由列表信息;

(d)事件节点分析路由列表信息,对于步骤(b)中的某节点回复的路由信息列表中列出只经过自身节点就能到达基站,则将此节点即第二跳节点视为可疑节点;

(e)事件节点分析路由列表信息,对于步骤(b)中某些节点回复的路由信息列表中列出除了经过自身节点,还需经过第三跳节点、第四跳节点或者更多跳节点才能到达基站,假设网络中至少存在两条事件节点达到基站的路径,事件节点任意挑选两条这些节点所在的到达基站的路径;

(f)事件节点在每轮的时钟周期内,沿着步骤(e)中所选的两个条路径,向两条路径上基站的前一跳节点发送邻居查询包,邻居查询包是指在每轮的时钟周期内,要求接收到邻居查询包的节点,回复其自身邻居列表所记录的一跳通信范围内的节点和这些节点的ID信息;

(g)两条路径上基站的前一跳节点收到邻居查询包后,立刻沿着逆路径向事件节点回复邻居查询包;

(h)事件节点收到回复的邻居查询包后,统计并分析,识别可疑节点:

如果两个基站的前一跳节点互相存在对方的邻居列表中,在不存在共谋攻击的情况下,则表示此两条路径上不存在可疑节点;

如果两个基站的前一跳节点互相不存在对方的邻居列表中,则将该两条路径上事件节点和基站之外的其他节点视为可疑节点;

如果其中一个基站的前一跳节点存在在对方的邻居列表中,但是对方节点的邻居列表中没有记录这个节点,则将对方节点所在路径上,事件节点和基站之外的其他节点视为可疑节点。

如图3所示的污水池节点的确定阶段的流程图的具体步骤如下:

(a)在每轮的时钟周期内,事件节点向第二跳节点发送邻居查询包;

(b)接收到事件节点的邻居查询包的第二跳节点,立刻向事件节点回复邻居查询包;

(c)事件节点接收到回复的路由查询包后,进行统计并分析,首先查询自己是否在第二跳节点的邻居列表中,如果不在,则第二跳节点就为污水池节点;如果在第二跳节点的邻居节点列表中,则继续判断;

(d)事件节点继续分析第二跳节点回复的邻居列表信息,对于同时存在事件节点和第二跳节点的邻居节点,事件节点直接向这些邻居节点发送数据查询包,数据查询包是指在每轮的时钟周期内,要求回复接收到数据查询包的节点和其邻居节点交互的数据包次数,以及接收到数据查询包的节点和其邻居节点收到的ACK总数目;

(e)对于只存在第二跳节点的邻居列表中但是不在事件节点的邻居列表中的邻居节点,事件节点向第二跳节点和通过第二跳节点的且只存在第二跳节点的邻居列表中的节点发送数据查询包;

(f)步骤(e)中的邻居节点,在每轮的时钟周期内,立刻向事件节点回复数据查询包;

(g)事件节点接收到回复的数据查询包后,分析并统计第二跳节点的邻居节点所记录的其与第二跳节点交互的数据包次数和第二跳节点回复的ACK总数目,将此两个值与第二跳节点记录的其与邻居节点交互的数据包次数和回复的ACK总数目进行比较,如果数据不一致,则表明第二跳节点是污水池节点,事件节点将记录污水池节点;如果数据一致,则表明第二跳节点是安全节点;

(h)对于事件节点到达基站跳数大于等于四跳的情况,将上一轮的检测出是安全节点的第二跳节点称为事件节点,将要检测的第三跳节点视为即将要检测的第二跳节点,重复步骤(a)~ (g),判断第三跳节点是安全节点还是污水池节点;

(i)按照上述步骤依次判断第四跳节点、第五跳节点等是安全节点还是污水池节点。

最后所应说明的是,以上所述仅是本发明的实施方式,尽管参照较佳实施例对本发明进行了详细的说明,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些改进也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号