基于多轮询的WSN节点捕获检测方法

2021-05-31 08:19徐嘉慧
电视技术 2021年4期
关键词:误报率轮询漏报

徐嘉慧

(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)

0 引 言

得益于集成感测、信息处理以及无线通信技术的快速发展和日趋成熟[1],无线传感器网络(Wireless Sensor Network,WSN)渐渐成为信息物理融合系统(Cyber Physical Systems)中的研究热点。传感器节点的部署通常具有无人值守的特性,低成本要求使得其部署环境和通信过程缺少安全保护,因此物理节点容易受到攻击和干扰[2]。随着人们对WSN功能的需求越来越多样化,需要在指定区域内部署大量节点以实现需求,因此近年来针对WSN节点的安全检测方案不断涌现。

WSN入侵攻击包括外部和内部两种方式,其中内部攻击更加难以检测和处理。内部攻击包括节点捕获、重新部署及发起攻击3个阶段[3]。历年来,对内部攻击的研究着重于对第2个阶段和第3个阶段的检测。Song提出一种对节点重新部署后物理位置是否发生变化的检测方法[4],Ioannis[5]和Ren等人[6]分别提出了一种选择性转发攻击的检测方法。Song通过丢包率超过阈值时生成的警报消息数量比例来判断节点状态;Ioannis和Ren根据数据包丢失与预期的差值来判断节点状态,并且推导最优阈值。Dong提出了一种新颖的WSN分布式低存储克隆检测协议(LSCD)[7],规定任何两条检测路径之间的距离必须小于见证者路径长度,以此确保了检测路径必须遇到见证者路径。

将节点(被捕获节点或克隆节点)重新部署到WSN中并通过该节点发起攻击会带来很大的危害与损失。对第1阶段即节点捕获阶段的攻击检测能够尽可能早地发现节点危险状态,从而降低对后续阶段的安全威胁,保证WSN的安全运行。因此,优化WSN内部攻击第1阶段的检测方案对于WSN的信息和网络安全至关重要。

如果节点只根据自身信息来判断是否被捕获,系统会出现很高的误报率,因此很多典型的节点捕获检测方案都根据邻居节点的反馈[8]来进行综合判断。例如,Lin提出一种CAT(Couple-based node compromise detection)检测方案[9],通过邻居节点之间建立耦合来交互信标(Beacon)消息,从而确认彼此是否处于被捕获的危险状态。然而,CAT只能互相监控,当局部区域内大量节点被捕获时,WSN无法检测到危险。Ding等人通过一种简单有效的FSD(First Stage Detection)[10]协议来检测节点,如果节点未接收到邻居节点预期数量的连续问候消息则怀疑邻居节点已被捕获。在这些方法中,为了保证能够时刻交互消息,节点需要一直处于工作状态,因此能耗过高。Ding进一步提出了一种通过节点定期广播hello消息来证明自己未被捕获的LDCFSD(Low Duty Cycle FSD)[11]检测方案,方案加入了休眠机制,但是需要额外的同步机制使全部节点同步休眠。Mohamed提出一种基于重叠组的受损节点检测方案[12],通过在局部区域中的邻居节点之间建立链式Group,从而形成重叠的Group以检测攻击威胁。

1 整体架构和网络模型

方案针对WSN内部攻击中第1个阶段中分布式节点被捕获的问题进行检测。假设在一个固定区域内均匀部署静态传感器节点N={N1,N2,N3,…,Nn},并且在部署阶段,所有节点都处于安全状态。WSN中每个节点的通信都是双向的,即在该区域内,任意两个节点可以相互通信,且节点之间消息通信过程所用时间忽略不计。该方案将WSN中的节点N分为底层节点(Bottom Node,BN)、监控节点(Monitoring Node,MN)及决策节点(Decision Node,DN)3类。1个BN、2个MN及1个DN共同构成三级体系(Three Hierarchy System,THS)。1个通信结构至少包含2个不相邻的THS,因此一个完整的通信结构至少由7个节点构成。

通过多轮询机制[13],BN会周期性地向其任意一个MN发送自身状态消息,当出现异常现象时,MN向BN发送询问消息。MN与BN交互信息后判断BN当前安全是否受到威胁,若MN判断BN处于危险状态时向其他MN发送自身状态消息,各个MN节点根据询问信息将判断结果发送给决策节点DN。当DN收到安全信息时保持正常工作,当DN收到非安全信息时,与判断同一个BN安全状态的其他DN交互信息,协同决策该BN的状态是否已被捕获,并将状态信息和节点唯一ID上报基站(Base Station,BS),由BS处理该被捕获节点。

2 多轮询节点捕获检测方案

2.1 方案概述与假设

WSN节点捕获检测方案最难以解决的问题是误报和漏报导致的检测准确度降低。该方案采用多轮询的通信方式,以BN、MN及DN组成的多个THS共同构成蛛网结构(Cobweb),在节点安全状态被威胁时,能够完成多次协同决策,有效降低了误报情况的发生。

节点同步休眠时,每个节点都始终处于唤醒状态,因此节点能够捕捉到每一个信息交互时间点,但是需要占用并且消耗更多的资源,在应用上会有一定的限制。

异步休眠机制中,节点不需要同步唤醒和休眠,因此不需要同步机制,但BN与MN之间需要通过hello(问候)消息和heart(心跳)消息来确定BN的安全状态,之后由MN上报DN,由属于同一个BN的DN交互信息,共同决定是否上报BS。

假设Cobweb的通信周期为C,每个节点的工作周期为T,通信周期由3个T构成。在一个T中,工作时间为Tw,休眠时间为Ts,令Tw取值大于Ts,保证节点工作效率;假设每个节点被捕获的时间为Tc,令Tc取值小于T,使得如果BN在任意一个T内被捕获,那么MN都无法接收到BN发送的消息,MN会发送给BN询问消息并将信息发送给DN,由DN之间协同决策后上报给BS。

2.2 多轮询机制与Cobweb结构

CAT[9]检测方案通过节点两两结对的方式相互通信,两个节点互为彼此的BN与MN,且每个节点都能成为DN,通信模型如图1(a)所示。因为此方案中的DN无法协同决策,所以随着被捕获节点数量的增加,相互监控的两个节点同时被捕获的概率增大,DN角色缺失,误报率随之增加。

图1 通信模型

Group检测方案[12]通过节点与邻居节点建立链式Group。Group之间通过一个关键节点连接,最终形成链式结构的通信模型,如图1(b)所示。链式结构中,两个Group互为彼此的BN与MN。当Group中任意一个节点被捕获,该Group通信结构被破坏,此时链式结构中与其相邻的Group充当DN的角色。由于链式结构中的关键节点被捕获时,此方案无法判断被捕获的节点处于哪一个相邻Group,因此误报率将大大提升。

本文提出的方案采用多轮询的通信方式,其基本通信单元是由1个BN、2个MN和1个DN共同组成的THS,通信模型如图1(c)所示。由于各个THS的BN可以为同一节点,因此BN、MN及DN之间的通信形成了类似蛛网的结构(即Cobweb)。当Cobweb由6个THS构成时,其通信模型如图2所示。

1个Cobweb可分解为6个THS,THS={THS1,THS2,THS3,…,THS6},其 中THS1={BNa,MNb,MNc,…,DNb}。当MNb或MNc在T内没有收到由BNa发送的hello消息时,该节点会在下一个通信周期向BNa发送heart消息来询问BNa是否存活,确认后MNb将结果发送给DNm和DNh,MNc将结果发送给DNh与DNi,在该结构中消息传输时间忽略不计。若MNb与MNc中有1个或2个认为BNa处于危险状态,则BNa向其他MN发送hello消息。当在THS1中DNh无法根据MNb和MNc发送的信息来判断BNa是否处于安全状态时,DNh将会向其他DN进行问询。MNb和MNc中有一个向DNh发送BNa危险信息时,DNh则判断BNa处于待定状态;MNb和MNc中有两个向DNh发送BNa危险信息时,DNh则判断BNa处于危险状态。当全部DN都处于待定状态或一半与一半以上DN都判断BN处于危险状态时,DNh认为BNa已经被捕获并报告给BS。

图2 蛛网结构

在该方案中,BNa不再按照传统的多轮询方式向MNb、MNc、MNd、MNe、MNf及MNg以一定周期依次发送消息,而是在第一个T内同时向相邻的MNb和MNc发送消息。若BNa处于待定或者危险状态,则BNa在第2个T内向相其他MN发送消息,从而保证了该通信模型的周期在一个C内。此外,该方案提出的Cobweb通信模型通过两次协同决策来降低通信模型的误报率,提升了检测率的准确度。

2.3 异步休眠机制

在异步休眠机制中,当节点处于休眠状态时,该节点将无法发送、接收到任何消息,使得MN、DN错过若干hello和heart消息,DN做出错误决策,最终导致大量误报和漏报现象。因此,该方案针对WSN节点捕获问题对异步休眠机制做出了相应的改进,保证节点在保留异步休眠机制的同时在Tw不会错过邻居节点传达的信息。

在随机抓取的同一个时间T内,节点间工作时间Tw与休眠时间Ts是异步的,即在同一T内Tw、Ts分配在不同的时间段。该方案将全部异步休眠节点分为N1,N2,N3,…,N6共计6类异步休眠节点,Cobweb中的BN和MN可能不属于同一类异步休眠节点。

BN在节点由休眠状态转为工作状态后的第一时刻向其全部MN发送第1次hello消息,在Tw进行一半时向其全部MN发送第2次hello消息,在Tw即将结束的最后一刻向其全部MN发送第3次hello消息。无论当前MN属于哪一类异步休眠节点,保证在其Tw中都能接收到至少1次hello消息。

如果在一个工作周期T中,MN没有接收到任何BN发送的hello消息,那么当下一个Tw开始时,在与BN向MN发送hello消息相同的时刻,MN向BN发送3次heart消息来确认MN当前的安全状态。该方案保证在BN的Tw中,BN可以接收到至少1次heart消息。

以BN为N1的情况为例,分析当对应的MN分别为N1,N2,N3,…,N6时,BN与MN之间hello消息的3次通信情况,如图3所示。

图3 节点异步休眠

在一个固定区域中,若干静态传感器节点共同组成Cobweb。Cobweb可拆分为若干个THS。在1个THS中,有且只有1个BN,若干MN,有且只有1个 DN。其中MN={MN1,MN2,MN3,…,MNn}。

当MN1与BN同属于异步休眠节点类型N1时,如图3(a)所示,在此特殊情况下可将MN1与BN看作同步休眠周期节点,BN向MN1发送的3次hello消息皆可在MN1的Tw内,即MN1能够成功接收到BN全部的hello消息。与此相对应,当MN1在1个工作周期T中没有接收到任何hello消息时,BN疑似被捕获,MN1在当前Ts结束后立即向BN发送3次heart消息。如果BN未被捕获,BN将成功接收3次heart消息并回应,从而证明该BN节点并未被捕获,仍然处于安全状态。

当MN2属于异步休眠节点类型N2时,如图3(b)所示,BN向MN2发送的3次hello消息中有1次在MN1的Tw内,有2次hello消息在MN2的Ts内,即MN2能够成功接收到BN1次hello消息。同上,当MN2没有接收到hello消息时,向BN发送的3次heart消息中有1次在BN的Tw内。

当MN3属于异步休眠节点类型N3时,如图3(c)所示,MN3能够成功接收到BN2次hello消息,MN3没有接收到hello消息时,BN成功接收2次MN3的heart消息。

当MN4属于异步休眠节点类型N4时,如图3(d)所示,MN4能够成功接收到BN2次hello消息,MN4没有接收到hello消息时,BN成功接收2次MN4的heart消息。

当MN5属于异步休眠节点类型N5时,如图3(e)所示,MN5能够成功接收到BN一次hello消息,MN5没有接收到hello消息时,BN成功接收1次MN5的heart消息。

当MN6属于异步休眠节点类型N6时,如图3(f)所示,MN6能够成功接收到BN2次hello消息,MN6没有接收到hello消息时,BN成功接收1次MN6的heart消息。

2.4 具体方案流程

在固定区域中由一个BS与若干节点N={N1,N2,N3,…,Nn}(n≥7)共同组成WSN,每个N都有且只有一个ID,在部署后记录自己相对应的BN、MN、DN,并且在初始化时同步给BS。针对WSN中节点捕获入侵检测问题,该方案将全部N拆解为若干个Cobweb。为了保证两次协同决策正常运行,1个Cobweb必须包含至少2个不相邻的THS,其中至少包含1个BN、4个MN与2个DN。

在检测过程中,MN对BN进行监控并将监控结果发送给对应DN,每个DN根据对应的2个MN发送的信息来做出决策。当得到的信息不足以判断该BN是否被捕获时,DN向其它的DN进行问询,最终做出本地协同决策。当决策结果为该节点已被捕获时,DN通过多跳路由向BS发出信息,由BS通告区域内全部节点,给出对策并采取措施。

在该方案中,假设有n(n≥7)个节点,其中,有h(h≥4)个MN、k(k≥2)个DN与1个BN,设立节点捕获指数Ci代表节点被捕获的可能性,Ci取值范围为[0,1],取值越接近1表示该节点被捕获可能性越大。

具体流程如下:

(1)初始化Cobweb,底层节点BN被唤醒时全部对应的h个MN处于监控状态。BN根据3.2节采用多轮询方式向MNi发送hello消息,此时节点捕获指数Ci为0。

(2)BN与MNi采用3.3节异步休眠机制相互通信,如果在第一个T内MNi收到hello消息,MNi认为BN未被捕获并向对应的DNi发送该消息。如果在第一个T内MNi没有收到hello消息,MNi在第2个周期向BN发送heart消息,若BN回应heart消息,则依旧认为BN未被捕获,若MNi未收到回应,则认为BN已被捕获并向对应的DNi发送该消息。

(3)DNi收到对应的2个MNi所发送的消息,并进行第1次协同决策。如果2个MNi发送的皆为未捕获消息,则重复执行步骤(1),直至DNi收到已捕获消息后广播给其他DN。与此同时,DNi接收其他DN广播的消息并与自身所得到的消息进行验证,进行第2次协同决策后共接收到j(j≤n)个已捕获消息,Ci=Ci+j/n。

(4)计算当前Ci,当Ci≤1/2时认为当前BN并未被捕获,则重复执行步骤(1),直至Ci>1/2时,DNi向BS发送已被捕获节点BN的ID,BS接收到该消息后做出相应处理,当前流程结束。该方案的流程如图4所示。

3 实验方案仿真

在MATLAB仿真环境下,将该检测方案与CAT检测方案和GROUP检测方案分别在误报率、漏报率及检测率3方面进行实验分析。

在100 m×100 m的实验场地中随机均匀部署一个BS与100个静态传感器节点,每个节点此时都处于安全状态且相互正常通信,通信距离为30 m。实验中设定被捕获的节点Nc={N1,N2,N3,…,N30}不会超过节点总量的30%,并以每增加5个被捕获节点时对应的误报率、漏报率及检测率变化得出图像,结果分别如图5、图6及图7所示。

图4 方案流程图

为了保证实验的一般性,设定1 min即60 s为节点被捕获所需时间Tc,每个节点工作周期T为Tc的1/4即15 s,每个周期中工作时间Tw为10 s,休眠时间Ts为5 s。该方案最长使用3T完成检测即45 s,且45 s<Tc,满足节点捕获时间大于节点周期的条件。1个节点以自身作为BN,选取6个周边部署的邻居节点作为MN,选取6个相邻MN节点的6个共同邻居节点为DN。

从图5可以看出,CAT检测方案、GROUP检测方案及本文检测方案的检测率皆随着被捕获Nc的数量增多而下降。其中,CAT检测方案的检测率由100%下降到79.6%,GROUP检测方案的检测率由100%下降到86.7%,本文检测方案的检测率由100%下降到94.6%。

图5 不同方案的检测率

由于本文方案将节点组成THS与Cobweb结构,并采用多轮询的通信方式来完成协同决策,节点异步休眠机制的引入保证了信息的通信畅通,因此即使Nc的数量逐渐增多,该方案依然能够保证检测率平缓下降。GROUP检测方案在链式检测的体系下,随着Nc数量的增多,链状结构关键节点全部被捕获的概率增大,且并未考虑休眠机制,消息丢失与误报的概率增大。CAT检测方案在结对互相检测的体系下,当两个节点同时被捕获,两个节点被捕获的消息将无法传达给基站,且与GROUP检测方案一样并未考虑休眠机制。因此随着Nc数量的增多,结对的节点同时被捕获的可能性也更大,检测率下降的也更加明显。

从图6可以看出,CAT检测方案、GROUP检测方案及本文检测方案的误报率皆随着被捕获Nc的数量增多而上升。其中,GROUP检测方案的检测率由15.8%上升到36.2%,CAT检测方案的检测率由12.5%上升到24.9%,该检测方案的检测率由0.8%上升到6.4%。

由于本文方案采用THS与Cobweb结构来保证协同决策的稳定性和准确性,因此该方案误报率上升趋势更为平缓。由于没有考虑休眠机制,尽管CAT检测方案在结对互相检测的体系下需要监控的节点比GROUP检测方案少,但是仍会存在将处在Ts时的节点误报为Nc的情况,因此CAT检测方案误报率上升得比本文方案更加明显。GROUP检测方案需要监控的节点更多,也会有更多将Ts时的节点误报为Nc的情况,因此误报率上升最为明显。

图6 不同方案的误报率

从图7可以看出,CAT检测方案、GROUP检测方案及本文检测方案的漏报率皆随着被捕获Nc的数量增多而上升。其中,CAT检测方案的漏报率由0%上升到16.4%,GROUP检测方案的漏报率由0%上升到8.6%,本文检测方案的漏报率由0%上升到4.2%。

图7 不同方案的漏报率

3种方案由于一些边缘的孤儿节点无法支撑检测的体系,皆会造成漏报的情况。由于本文方案的检测体系种各个节点分工明确,包容性更强,孤儿节点出现的更少,因此该方案的漏报率上升得更为平缓。GROUP检测方案在一组链式结构节点间隔被捕获时,无法判断处在间隔中的节点是否被捕获,因此随着Nc数量的增多,漏报率也会有一些提升。在CAT检测方案中,若是两个结对的节点同时被捕获则会造成漏报情况,同时也会影响检测率,因此随着Nc数量的增多,漏报率明显上升。

4 结 语

为了降低异步休眠框架中WSN节点捕获检测方案的误报率与漏报率,本文提出了一种融合多轮询机制与节点协同决策的检测方案。将目标检测区域节点分为BN、MN及DN共3种,每1个BN、1个DN及2个MN组成一个THS,由节点分布密度决定由n(n≥2)个THS构成一个Cobweb结构,节点之间采用多轮询机制通信。若一个Cobweb结构里没有节点被捕获,则随机的THS始终在第1个周期里工作,节点之间协同决策来降低误报率;与此同时,本文改善了异步休眠机制来应对节点异步休眠方式中信息丢失的问题,无论节点的工作时间Tw与休眠时间Ts在一个周期T中如何分布,都能够保证消息正常地发送与接收,从而降低了方案的误报率。仿真实验结果表明,本文所提出的检测方案通过降低误报率与漏报率,很好地提升了检测率的准确度。然而,由于本文检测方案需要精细的Cobweb结构支持,因此在目标区域节点密度过小时无法完成检测,下一步的研究方向是如何在低节点密度的情况下优化检测方案。

猜你喜欢
误报率轮询漏报
原始数据动态观察窗法在火灾特征信号融合提取中的应用研究
家用燃气报警器误报原因及降低误报率的方法
钻杆管体超声波探伤误报分析及措施
基于等概率的ASON业务授权设计∗
各类气体报警器防误报漏报管理系统的应用
依托站点状态的两级轮询控制系统时延特性分析
利用时间轮询方式操作DDR3实现多模式下数据重排
神经网络技术在网络入侵检测模型及系统中的应用
传染病漏报原因分析及对策
日本厂商在美漏报事故千余起被指管理疏漏