APP下载

融合节点信誉度和路径跳数的WSNs虫洞攻击检测策略

2021-08-11滕志军杜春秋孙汇阳王艳娇

哈尔滨工业大学学报 2021年8期
关键词:数目链路阈值

滕志军,杜春秋,孙汇阳,李 梦,王艳娇

(1.现代电力系统仿真控制与绿色电能新技术教育部重点实验室(东北电力大学),吉林 吉林 132012;2.东北电力大学 电气工程学院,吉林 吉林 132012;3.北京电子科技学院 密码科学与技术系,北京 100070)

近年来,随着无线传感器网络(wireless sensor networks,WSNs)的飞速发展,其在军事领域和民用领域都得到了广泛的应用[1],因此保证网络的安全运行具有重要意义。由于传感器节点通常部署在无人监管的区域,各节点随机分布,且能量有限,因此很容易受到各种恶意攻击[2-4]。其中,虫洞攻击就是一种常见的恶意攻击形式,其由至少两个相距较远的虫洞节点合谋发起,通过私有信道互相发送信息,从而破坏路由的建立、更新与维护过程[5-7],对WSNs的安全产生严重威胁。

为有效检测虫洞攻击,降低其对网络的影响,国内外专家学者们相继展开研究。董晓梅等[8]提出了一种WSNs中针对虫洞攻击的SMRSA检测算法。该算法主要根据受攻击节点间通信路径明显变短来定位感染节点所在的可疑路径,然后对可疑路径上的节点进行邻居数目的检查,将邻居数目出现异常的节点视为受攻击节点。Hayajneh等[9]提出了SECUND算法,主要通过检查互斥邻居之间的跳数是否超过预定义的阈值来检测虫洞攻击。Luo等[10]提出一种CREDND检测算法。将虫洞攻击分为外部攻击和内部攻击两种,针对外部攻击利用节点邻居数目和路径跳数进行检测,针对内部攻击则利用邻居监测的方式进行检验。Amish等[11]基于RTT机制和虫洞攻击的数据传输特征,将AOMDV路由协议融入了这些方法中,通过比较端到端的时延,筛选出虫洞攻击节点。胡蓉华等[12]提出了一种SenLeash虫洞攻击检测机制,主要依据节点的消息传输距离受限特性来检测虫洞攻击。韩挺等[13]提出了一种基于多属性决策的MANET路由动态信任模型来判断节点性质。该模型通过引入推荐信任度和推荐节点搜索算法检测网络中的恶意节点。周治平等[14]提出一种改进的贝叶斯信誉模型,根据节点的信任值来检测恶意攻击。另外,针对虫洞攻击对DV-HOP定位过程的影响,许多改进的虫洞攻击检测算法相继被提出来[15-16],这些算法能有效识别虫洞攻击,降低其对定位过程的影响。

上述检测方案为虫洞攻击的研究提供了扎实的理论基础,但仍存在以下几点问题:1)在利用节点间距离进行攻击检测时,需要用到GPS等硬件设施,这使得检测过程更加复杂,网络成本较高;2)在根据节点路径跳数进行检测时,未对虫洞链路进行避让,使得检测效率大大降低;3)如果仅利用信誉模型进行攻击检测,则很容易出现虫洞节点漏检的情况;4)若利用传输时延来检测,则节点间需要精准的时钟同步,不仅能耗高且数据的可用性无法得到保证。针对上述问题,本文提出一种融合节点信誉度和路径跳数的虫洞攻击检测策略(WADS-NC&PH)。该策略主要基于网络受攻击后节点邻居数目及路径跳数的变化特点,结合信誉模型,计算可疑节点的路径信任评价量,以判定网络中是否存在虫洞攻击。

1 系统模型

1.1 网络模型

本文假设WSNs中节点数目为N,各节点近似均匀地分布在面积为S的整个网络中,每个节点的通信半径为r,传感器节点的分布密度如下:

(1)

节点平均邻居数目n′的计算方式见式(2)。

(2)

1.2 虫洞攻击模型

WSNs中的虫洞攻击通常由两个恶意节点合谋发起,二者分别位于网络两端,一般相距较远,节点的配置信息不会出现在路由表中,在网络中处于一种“隐身”的状态。进行数据转发时,一端的虫洞节点将收到的信息通过私有链路传递给位于网络另一端的合谋节点,该合谋节点再将收到的信息以广播的方式发送给周围邻居节点,从而扰乱数据的正常传输,影响网络性能。

本文假设虫洞链路的长度远大于正常节点的通信半径。图1为两个虫洞节点M1、M2协同发动虫洞攻击的示意图。其中,源节点O到达目的节点D的原始路径有两条,路径跳数最少是6跳。然而,当网络受到虫洞攻击时,源节点O发送的消息会通过虫洞链路直接传送至目的节点D,该条路径的跳数仅为1跳。此时,节点O、D会将彼此误认为邻居节点,严重影响网络的正常通信和数据传输。

图1 虫洞攻击模型Fig.1 Wormhole attack model

2 虫洞攻击检测

由于虫洞节点的转发特性,导致原本不属于彼此通信范围内的节点间建立连接,使得被攻击节点的邻居数目大量增多。本文根据虫洞攻击这一特性对网络中的可疑节点进行筛选,这样既可以避免针对所有节点启动检测的能量消耗,又可以高效率、有针对性地检测出虫洞攻击。

首先,网络中各节点更新邻居列表,并统计邻节点数目,将各节点的邻居数目记为Gi,然后将Gi与节点平均邻居数目n′相比,设定邻居阈值比为W,若Gi/n′≥W,说明该节点的邻居数目超出阈值,可能受到虫洞攻击,那么将该节点列入可疑节点名单,准备进行下一阶段的检测。邻居阈值比W的大小由后文仿真进行确定。

2.1 路径跳数的计算

如图2所示,节点A、B为被筛选出的可疑节点,M1、M2为一对虫洞攻击节点,二者通过私有链路相互连接。节点M1将收到的数据包经由虫洞链路直接传递给节点M2,然后M2广播相同的数据包,使得其覆盖区域中的每个节点都能接收到该包。假设将节点A的1跳邻居集表示为NA,节点B的1跳邻居集表示为NB,虫洞节点M1,M2的1跳邻居集分别表示为NM1,NM2。那么在虫洞攻击影响下,节点A的原始邻居集{C,D,E,P,Q}中添加了NM2中的所有节点,此时,A的邻居集合可表示为NA={P,Q,C,D,E,R,S,I,J,K,B}。同理,节点B的邻居集NB={R,S,L,N,O,P,Q,F,G,H,A}。

图2 虫洞攻击检测模型Fig.2 Wormhole attack detection model

将公有邻居集定义为节点A、B邻居集中相同节点所组成的集合。将A(B)的专有邻居集定义为只包含在节点A(B)邻居集内而不在节点B(A)邻居集内的节点所组成的集合。用Ncom表示节点A、B的公有邻居集,NA′、NB′分别表示A、B的专有邻居集,则有Ncom=NA∩NB={P,Q,R,S},NA′=NA-Ncom-{B}={C,D,E,I,J,K},NB′=NB-Ncom-{A}={L,N,O,F,G,H}。对于节点A、B而言,A的专有邻节点C、D、E与B的专有邻节点L、N、O相距很远,实际跳数比在虫洞攻击下的跳数高得多。

为了更加准确的检测出虫洞攻击,首先要避开虫洞路径。在计算专有邻居节点间的路径跳数时,本文选择不在节点A、B及虫洞节点M1、M2通信范围内的其他节点作为中间节点,将选定的路径标记为参考路径,并将路径跳数与虫洞阈值相比,判断当前路径类型。参考路径的选取步骤如下。

Step1节点C广播一个HELLO消息,根据收到消息的回复情况建立其邻居集合NC;

Step2节点C检测其邻居集NC中是否含有与节点A、B邻居集NA、NB中相同的节点,若有,则从其邻居集中删除这些节点,从而获得新的纯净邻居集NC′,否则更新集合NC为NC′,转到Step3;

Step3节点C再次发送一个数据包Q,路径目标为网络中的节点X,选择NC′中的某节点Y作为下一跳节点进行数据转发;

Step4节点Y重复Step1~3,以相同的方式选择下一跳节点,并转发该数据包,依此类推,直至数据包到达目的节点X;

Step5搜索出所有从节点C到节点X的路径,选择跳数最少的有效路径作为参考路径。

2.2 虫洞阈值的选取

如图3(a)所示,节点A、B为真实邻居,二者通信范围内不存在虫洞攻击节点,通信距离d

图3 节点通信模型Fig.3 Node communication model

通过上述分析可知,当节点A、B受到虫洞攻击时,按本文参考路径选取方式得到的专有邻居节点间的最小跳数应不低于4跳。因而,本文将虫洞阈值ε设置为:ε=4+τ。若NA′中的节点到NB′中所有节点的路径跳数均低于虫洞阈值,则节点A、B为正常节点,二者通信范围内不存在虫洞攻击;若存在跳数高于虫洞阈值的路径,则节点A、B很可能受到虫洞攻击。考虑到WSNs的数据传输特征,某些路径上的节点剩余能量低,不参与协作或是提前死亡,导致路径跳数的判断存在误差,使得误检率升高。因此,本文为降低这种情况带来的不利影响,将跳数超出阈值的路径标记为待测路径,对其进一步进行路径信任评价量的检测。

2.3 信任模型

信任是衡量节点可靠性的重要依据,本文通过建立信任模型,计算待测路径上中间节点的信任值,然后对该路径的合理性进行评判,从而检测网络中的虫洞攻击。节点信任值的计算方式如下。

2.3.1 直接信任

根据WSNs贝叶斯信任评估模型[17](beta reputation system)对节点的直接信任值进行计算。假设在时间T内节点i与节点j一共完成了(αij+βij)次通信任务,其中通信成功的次数为αij次,通信失败的次数为βij次。直接信任值的计算公式可表示为

(3)

式中:pacf表示异常修正因子,用来削弱由于非入侵因素的存在导致节点交互失败次数增加的影响,rwwf为节点的行为约束函数,主要对通信失败次数增加的节点实施相应处罚。二者表达式为:

(4)

(5)

式中:Rt表示在某一时段T内,网络中检测到的节点通信受影响的总次数,Et表示网络通信异常时,节点由于网络攻击所引起异常行为的次数。Wt表示节点具有影响力的通信总次数,即节点成功转发数据包,且相同数据包只转发一次的通信次数。

2.3.2 间接信任

节点的间接信任可以看作是第三方推荐节点对待评价节点行为做出的评估。假设节点i和节点j拥有的共同邻居数为L个,满足模糊评判条件的节点数为k'。由于信任具有传递性,则间接信任可由源节点i与推荐节点k的直接信任Dik和推荐节点k与目的节点j的直接信任Dkj共同决定,那么节点i,j的间接信任可表示为

(6)

由于推荐节点并非都是可信的,因此对选中的推荐节点进行了相应限制。Nfail表示节点i和节点k的直接信任值Dik低于0.3的节点数目,Ntol表示被选中的推荐节点总数。Bqte表示模糊信任评判结果。

由于网络中节点存在个体化差异,且在负载动态变化时,可能会对节点间的信任造成一定影响。因此本文采用模糊综合评判模型[18]对推荐节点的各信任因素进行分析。考虑到虫洞攻击下的网络通信特性及节点自身物理属性,将推荐节点信任因素指标集定义为{邻居数目,处理延时,节点能量,包转发率},记作X={X1,X2,X3,X4},相应权重集合可表示为A={a1,a2,a3,a4},a1+a2+a3+a4=1。由于各信任因素的性质不同,对评估过程的影响差异较大,因此本文采用层次分析法[19](analytic hierarchy process,AHP)来建立各评价因素的信任模型,通过引用AHP的1-9标度法[19]计算得到信任因素的权重为:a1=0.787,a2=0.172,a3=0.034,a4=0.007。

定义评价集合V={V1,V2,V3,V4},Vm表示评价等级,当m=1,2,3,4时分别表示不可信、低可信、中可信和高可信。对X中每一因素根据评价集中的等级指标进行模糊评判,得到隶属度矩阵R为

(7)

rnm表示各信任因素指标对评价等级的隶属度。接下来将隶属度矩阵R与评价权重集合A做模糊合成运算,得到信任因素集X的评价结果为

(8)

式中“·”为加权平均型模糊合成算子,这种算子的特点是可均衡评价因素间的差异,防止异常因素的干扰。综合程度高,效果显著。依据M=(·,⊕)算子的计算方式,ym的计算公式为

(9)

(10)

2.3.3 综合信任

节点当前的综合信任值可通过直接信任和间接信任加权获得,即

Tij(t)=φDij(t)+μIij(t)

(11)

式中:φ代表直接信任的权重,μ代表间接信任的权重,且φ+μ=1。由于此时对网络的情况不了解,直接信任和间接信任对综合信任的影响视为同等重要,二者权重被均等分配,即φ=μ=0.5。

2.4 路径信任评价量

在对待测路径进行信任评价量的检测时,考虑受攻击节点专有邻居集中的节点相距较远,实际转发跳数很高,因此对每条路径的信任评价量通过分组计算[20],每两跳为一组。将待测路径的总跳数表示为H,分组方式如下

(12)

δ=exp(-0.5(x-1))

(13)

式中衰减系数δ的扩展矩阵δdel可表示为

(14)

分组路径信任的矩阵表达式为

(15)

(16)

(17)

3 仿真分析

假设无线传感器网络尺寸为100 m×100 m的正方形区域,在其中部署100个静态传感器节点,各节点近似均匀分布,通信半径为10 m,均可百分百响应通信请求。仿真参数见表1。

表1 仿真参数Tab.1 Simulation parameters

3.1 WSNs虫洞攻击模型

图5表示WSNs在虫洞攻击下的网络模型,虫洞节点集合分别为{98,97},{40,35,22},{80,82,89,90},{90,1,64,66,3},这些虫洞节点信息不会出现在路由表中,在网络中处于一种“隐身状态”。针对以上网络分别进行仿真分析。P表示虫洞节点数目。

图5 WSNs虫洞攻击模型Fig.5 Wormhole attack model in WSNs

3.2 邻居阈值比的选取

可疑节点覆盖率与邻居阈值比、虫洞节点数目三者的整体关系见图6。从图中可以看出,随着邻居阈值比的增加,可疑节点覆盖率在逐渐减小,这是因为邻居阈值越大,WSNs对处于虫洞攻击下节点的邻居数目要求就越高,满足条件的节点越来越少,存在受虫洞影响节点漏检的情况。只有当邻居阈值相对较小时,对网络中受攻击节点的检测才更加全面,可疑节点覆盖率更高。由于邻居阈值比在1.1~1.5之间的检测率相差很小,考虑到网络能耗,本文邻居阈值比W取1.5。

图6 可疑节点覆盖率与邻居阈值比和虫洞节点数目的关系Fig.6 Relation between suspicious node coverage,neighbor threshold ratio,and number of wormhole nodes

3.3 虫洞阈值的选取

在邻居阈值比为1.5的前提下对网络中的节点进行筛查,并进一步检测可疑节点的通信路径,得到在不同数目虫洞节点攻击下,虚假链路检测率和正常链路误检率随虫洞阈值ε的变化曲线。

从图7可以看出,随着虫洞阈值的增加,虚假链路检测率在逐渐减小。当阈值超过6时,检测率的下降幅度增大,这是因为虫洞阈值越高,WADS-NC&PH越无法检测到路径相对较短的虫洞攻击。

图8为正常链路误检率随虫洞阈值ε的变化曲线。从图中可以看出,随着阈值的增加,误检率在逐渐降低,这是因为在未受攻击时正常邻居节点间的路径跳数都较短。因此,当阈值升高时,正常链路被误检的概率会越来越小。结合图7的仿真结果,在虫洞阈值超过6时,网络中虚假链路的检测率和正常链路的误检率变化幅度都较为明显。

图7 检测率与虫洞阈值的关系Fig.7 Relation between detection rate and wormhole threshold

图8 误检率与虫洞阈值的关系Fig.8 Relation between false detection rate and wormhole threshold

3.4 信任阈值的选取

对跳数高于虫洞阈值的路径进行路径信任评价量的检测,仿真结果见图9。其中P表示虫洞节点数目,b表示网络中的虚假链路总数。从图中可以看出,当信任阈值K由0至0.02变化时网络中虚假链路的数目在逐渐降低,后续随着信任阈值的增长,虚假链路的数目基本保持不变。

图9 虚假链路数目与信任阈值的关系Fig.9 Relation between the number of false links and trust threshold

3.5 性能分析

为验证本文策略的有效性,将WADS-NC&PH与SMRSA[8]、SECUND[9]、CREDND[10]进行实验对比。WADS-NC&PH的邻居阈值比设置为1.5,虫洞阈值设置为6,信任阈值设置为0.02。

从图10、11中可以看出,随着虫洞节点个数的增加,3种方案运行后网络中虚假链路数目及正常链路的误检率均有所升高,但WADS-NC&PH的检测效果优于其他几种算法。对SMRSA而言,由于该算法对网络节点的布置情况进行了较多的规范和限制在面对受攻击度较高的网络时,算法的适应能力较弱,检测效果有所下降。SECUND算法和CREDND算法都利用了路径跳数进行检测,但SECUND算法对链接相对较短的虫洞攻击检测效果不佳。而CREDND算法在路径跳数的统计过程中未对虫洞路径进行避让,导致虚假链路的漏检,虫洞攻击检测率有所下降。WADS-NC&PH在检验节点邻居数目的基础上,对待测节点的通信路径进行了限制,选择未受攻击节点作为中间节点,规避了虫洞链路,并利用路径信任评价量对可疑节点进行最终检验,因此在面对受攻击度较高的网络时,网络性能更加可靠。

图10 不同算法下网络中虚假链路数目比较Fig.10 Comparison of the number of false links in the network under different algorithms

图11 不同算法的误检率比较Fig.11 Comparison of false detection rates of different algorithms

为进一步验证本文算法的可扩展性,在500 m×500 m的网络中随机布置300~800个传感器节点,各节点通信半径设置为30 m,得到不同数目虫洞节点攻击下网络中虚假链路数与节点平均邻居数的关系曲线见图12。从图中可以看出,面对不同节点密度的网络,本文策略对虫洞攻击仍具有较好的检测效果。

图12 节点密度对检测效果的影响Fig.12 Influence of node density on detection effect

4 结 论

分析了无线传感器网络中虫洞攻击的研究现状,并为抵御攻击提出了一种融合节点信誉度和路径跳数的虫洞攻击检测策略。该策略首先对网络中的节点进行邻居数目的筛查,将超出阈值的节点列入可疑节点名单,然后令可疑节点的专有邻居集进行通信,记录每对通信节点间的路径跳数,将跳数超出阈值的路径标记为待测路径,并对该条路径进行路径信任评价量的检验。WADS-NC&PH是一种本地化协议,无需任何特殊的硬件支持,且在检测过程中对虫洞路径进行了规避,通过与节点信任相结合,可提高虫洞攻击的检测效率,降低节点能耗。仿真结果表明,该策略对虫洞攻击的检测及虚假链路的移除具有明显效果,保障了无线传感器网络安全可靠运行。无线传感器网络在虫洞攻击检测方面还有很多问题有待研究和解决,下一阶段将重点研究依据网络节点实际分布的随机性及数据传输情况,自适应调节信任权重以提高算法鲁棒性。

猜你喜欢

数目链路阈值
一种移动感知的混合FSO/RF 下行链路方案*
土石坝坝体失稳破坏降水阈值的确定方法
天空地一体化网络多中继链路自适应调度技术
移火柴
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
浅析民航VHF系统射频链路的调整
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片
牧场里的马
辽宁强对流天气物理量阈值探索统计分析
一种改进的小波阈值降噪方法