哈尔滨工业大学学报  2021, Vol. 53 Issue (8): 64-71, 131  DOI: 10.11918/202101035
0

引用本文 

滕志军, 杜春秋, 孙汇阳, 李梦, 王艳娇. 融合节点信誉度和路径跳数的WSNs虫洞攻击检测策略[J]. 哈尔滨工业大学学报, 2021, 53(8): 64-71, 131. DOI: 10.11918/202101035.
TENG Zhijun, DU Chunqiu, SUN Huiyang, LI Meng, WANG Yanjiao. A wormhole attack detection strategy integrating node creditworthiness and path hops in WSNs[J]. Journal of Harbin Institute of Technology, 2021, 53(8): 64-71, 131. DOI: 10.11918/202101035.

基金项目

国家自然科学基金青年科学基金(61501107)

作者简介

滕志军(1973—),男,教授, 硕士生导师

通信作者

杜春秋,2912289944@qq.com

文章历史

收稿日期: 2021-01-11
融合节点信誉度和路径跳数的WSNs虫洞攻击检测策略
滕志军1,2, 杜春秋2, 孙汇阳3, 李梦2, 王艳娇1,2    
1. 现代电力系统仿真控制与绿色电能新技术教育部重点实验室(东北电力大学),吉林 吉林 132012;
2. 东北电力大学 电气工程学院, 吉林 吉林 132012;
3. 北京电子科技学院 密码科学与技术系, 北京 100070
摘要: 为抵御无线传感器网络中的虫洞攻击,提高网络性能。本文根据虫洞攻击下节点邻居数目出现的异常情况,对邻居数目超出阈值的可疑节点进行筛选,然后令其专有邻居集中的节点相互通信,记录路径跳数,将跳数超出虫洞阈值的路径标记为待测路径;借助贝叶斯信誉模型计算该待测路径上中间节点的直接信任值,并结合邻居数目、处理延时、节点能量、包转发率等信任因素对节点的间接信任值进行评判,进而获得该节点的综合信任值;通过将路径跳数与中间节点的综合信任相结合,计算待测路径的路径信任评价量,并依据受虫洞攻击节点的路径特性合理设定信任阈值,提出一种融合节点信誉度和路径跳数的虫洞攻击检测策略(wormhole attack detection strategy integrating node creditworthiness and path hops,WADS-NC&PH),以检测无线传感器网络中的虫洞攻击。仿真结果表明,WADS-NC&PH对虫洞攻击的检测具有显著效果,即使面对高攻击度的网络,该策略仍能有效检出虫洞攻击并移除虚假链路,提高无线传感器网络的安全性和可靠性。
关键词: 无线传感器网络    虫洞攻击    路径跳数    虫洞阈值    信誉模型    信任阈值    
A wormhole attack detection strategy integrating node creditworthiness and path hops in WSNs
TENG Zhijun1,2, DU Chunqiu2, SUN Huiyang3, LI Meng2, WANG Yanjiao1,2    
1. Key Laboratory of Modern Power System Simulation and Control & Renewable Energy Technology (Northeast Electric Power University), Ministry of Education, Jilin 132012, Jilin, China;
2. School of Electrical Engineering, Northeast Electric Power University, Jilin 132012, Jilin, China;
3. Department of Cryptography Science and Technology, Beijing Electronic Science and Technology Institute, Beijing 100070, China
Abstract: To resist the wormhole attacks in wireless sensor networks (WSNs) and improve network performance, a wormhole attack detection strategy integrating node creditworthiness and path hops (WADS-NC&PH) was proposed. Based on the abnormal situations of the neighbor number of the nodes under wormhole attacks, the suspicious nodes whose neighbor number exceeded the threshold were screened, and the nodes in their exclusive neighbor set were allowed to communicate with each other. The number of path hops was recorded, and the path whose number of hops exceeded the wormhole threshold was marked as the path to be tested. The Bayesian trust model was utilized to calculate the direct trust value of the intermediate node on the path to be tested, and combined with the trust factors such as the number of neighbors, processing delay, node energy, and packet forwarding rate, the indirect trust value of the node was judged, thereby obtaining the comprehensive trust value of the node. By integrating the number of path hops with the comprehensive trust of intermediate nodes, the path trust evaluation of the path to be tested was calculated. Based on the path characteristics of the nodes attacked by wormholes, the trust threshold was set reasonably, and WADS-NC&PH was proposed to detect wormhole attacks in WSNs. Simulation results show that WADS-NC&PH had a significant effect on the detection of wormhole attacks. Even in the face of highly attacked networks, this strategy could still effectively detect wormhole attacks and remove false links, improving the security and reliability of WSNs.
Keywords: wireless sensor networks (WSNs)    wormhole attack    path hops    wormhole threshold    trust model    trust threshold    

近年来,随着无线传感器网络(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,传感器节点的分布密度如下:

$ \rho=\frac{N}{S} $ (1)

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

$ n^{\prime}=\rho {\rm{ \mathsf{ π} }} r^{2}=\frac{N {\rm{ \mathsf{ π} }} r^{2}}{S} $ (2)
1.2 虫洞攻击模型

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

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

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

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

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

2.1 路径跳数的计算

图 2所示,节点AB为被筛选出的可疑节点,M1M2为一对虫洞攻击节点,二者通过私有链路相互连接。节点M1将收到的数据包经由虫洞链路直接传递给节点M2,然后M2广播相同的数据包,使得其覆盖区域中的每个节点都能接收到该包。假设将节点A的1跳邻居集表示为NA,节点B的1跳邻居集表示为NB,虫洞节点M1M2的1跳邻居集分别表示为NM1NM2。那么在虫洞攻击影响下,节点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

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

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

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

Step2    节点C检测其邻居集NC中是否含有与节点AB邻居集NANB中相同的节点,若有,则从其邻居集中删除这些节点,从而获得新的纯净邻居集NC',否则更新集合NCNC',转到Step3;

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

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

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

2.2 虫洞阈值的选取

图 3(a)所示,节点AB为真实邻居,二者通信范围内不存在虫洞攻击节点,通信距离dr。令节点A专有邻居集中的某节点与节点B专有邻居集中的所有节点进行通信,那么距离最远的两个节点的位置如图中CG所示。节点C发送一个数据包,目标为网络中的节点G(选取不在NANB中的节点作为中间节点),极限情况下的最短路径为图中C-D-E-F-G,此时CG间的通信路径长度为d1+d2+d3+d4(diri= 1,2,3,4),路径跳数l=(d1+d2+d3+d4)/r≤4。当节点AB间的通信距离达到最大通信半径r时,如图 3(b)所示,节点CG间最短通信路径长度为4r,此时路径跳数l=4r/r=4。

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

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

2.3 信任模型

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

2.3.1 直接信任

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

$ D_{i j}(t)=\frac{\alpha_{i j}+1}{\alpha_{i j}+p_{\text {acf }} \times \beta_{i j}+2} \times r_{\text {wwf }} $ (3)

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

$ p_{\mathrm{acf}}=\frac{\sum\limits_{t=1}^{T} E_{t}}{\sum\limits_{t=1}^{T} R_{t}} $ (4)
$ r_{\mathrm{wwf}}=1-\frac{\alpha_{i j}}{\sum\limits_{t=1}^{T} W_{t}} $ (5)

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

2.3.2 间接信任

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

$ I_{i j}(t)=\left(1-\frac{N_{\mathrm{fail}}}{N_{\mathrm{tol}}}\right) \frac{\sum\limits_{k=1}^{k^{\prime}} B_{\mathrm{qte}} D_{i k} D_{k j}}{k^{\prime}} $ (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

$ \boldsymbol{R}=\left[\begin{array}{cccc} r_{11} & r_{12} & r_{13} & r_{14} \\ r_{21} & r_{22} & r_{23} & r_{24} \\ r_{31} & r_{32} & r_{33} & r_{34} \\ r_{41} & r_{42} & r_{43} & r_{44} \end{array}\right] $ (7)

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

$ \begin{aligned} \boldsymbol{Y}=A \cdot \boldsymbol{R}=&\left[\begin{array}{llll} a_{1} & a_{2} & a_{3} & a_{4} \end{array}\right] \cdot\left[\begin{array}{cccc} r_{11} & r_{12} & r_{13} & r_{14} \\ r_{21} & r_{22} & r_{23} & r_{24} \\ r_{31} & r_{32} & r_{33} & r_{34} \\ r_{41} & r_{42} & r_{43} & r_{44} \end{array}\right] \\ &=\left[\begin{array}{llll} y_{1} & y_{2} & y_{3} & y_{4} \end{array}\right] \end{aligned} $ (8)

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

$ y_{m}=\min \left(1, \sum\limits_{n=1}^{4} a_{n} r_{n m}\right), m=1,2,3,4 $ (9)

根据各影响因素的等级评价结果,当${y_1}/\sum\limits_{m = 1}^4 {{y_m}} $时,说明该节点评价等级过低,不被接受,在选定的推荐节点集中将该节点删去。否则,选取该节点作为推荐节点,Bqte的表达式如下:

$ B_{\mathrm{qte}}=\frac{y_{2}+y_{3}+y_{4}}{\sum\limits_{m=1}^{4} y_{m}} $ (10)
2.3.3 综合信任

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

$ T_{i j}(t)=\varphi D_{i j}(t)+\mu I_{i j}(t) $ (11)

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

2.4 路径信任评价量

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

$ h= \begin{cases}\frac{H}{2}, & H \text { 为偶数跳 } \\ \operatorname{int}\left(\frac{H}{2}\right)+1, & H \text { 为奇数跳 }\end{cases} $ (12)

式中: h表示路径分组结果,当H为偶数跳时,路径组数为H/2;为奇数跳时,路径组数为H/2的整数部分加1,最后一组的路径信任值按一跳计算。Sztru应满足条件:1)信任区间为[0, 1],且随着跳数的增加信任值逐渐减小;2)各组路径信任为中间节点综合信任的乘积;3)源节点为可信节点且初始信任度为1,包括源节点在内的第一组路径信任无衰减,从第二组开始逐渐衰减。则该路径第x组信任值衰减系数δ的表达式为

$ \delta=\exp (-0.5(x-1)) $ (13)

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

$ \boldsymbol{\delta}_{\mathrm{del}}=\left[\begin{array}{c} 1 \\ \mathrm{e}^{-0.5} \\ \mathrm{e}^{-0.5 \times 2} \\ \mathrm{e}^{-0.5(x-1)} \\ \vdots \\ \mathrm{e}^{-0.5(h-1)} \end{array}\right] $ (14)

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

$ \boldsymbol{T}_{\mathrm{tru}}=\left[\begin{array}{ccccccc} T_{\text {tru }}^{11} & T_{\text {tru }}^{12} & T_{\text {tru }}^{13} & \cdots & T_{\text {tru }}^{1 x} & \cdots & T_{\text {tru }}^{1 h} \\ T_{\text {tru }}^{21} & T_{\text {tru }}^{22} & T_{\text {tru }}^{23} & \cdots & T_{\text {tru }}^{2 x} & \cdots & T_{\text {tru }}^{2 h} \\ T_{\text {tru }}^{31} & T_{\text {tru }}^{32} & T_{\text {tru }}^{33} & \cdots & T_{\text {tru }}^{3 x} & \cdots & T_{\text {tru }}^{3 h} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ T_{\text {tru }}^{z1} & T_{\text {tru }}^{z2} & T_{\text {tru }}^{z3} & \cdots & T_{\text {tru }}^{z x} & \cdots & T_{\text {tru }}^{{zh }} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ T_{\text {tru }}^{h 1} & T_{\text {tru }}^{h 1} & T_{\text {tru }}^{h 3} & \cdots & T_{\text {tru }}^{h x} & \cdots & T_{\text {tru }}^{h h} \end{array}\right] $ (15)

将衰减系数与分组路径信任合成得到每条路径的信任评价量Sztru,其展开式如式(16)所示,式中“。”为因素累乘型合成算子。

$ \left[\begin{array}{ccccccc} T_{\text {tru }}^{11} & T_{\text {tru }}^{12} & T_{\text {tru }}^{13} & \cdots & T_{\text {tru }}^{1 x} & \cdots & T_{\text {tru }}^{1 h} \\ T_{\text {tru }}^{21} & T_{\text {tru }}^{22} & T_{\text {tru }}^{23} & \cdots & T_{\text {tru }}^{2 x} & \cdots & T_{\text {tru }}^{2 h} \\ T_{\text {tru }}^{31} & T_{\text {tru }}^{32} & T_{\text {tru }}^{33} & \cdots & T_{\text {tru }}^{3 x} & \cdots & T_{\text {tru }}^{3 h} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ T_{\text {tru }}^{z1} & T_{\text {tru }}^{z2} & T_{\text {tru }}^{z3} & \cdots & T_{\text {tru }}^{z x} & \cdots & T_{\text {tru }}^{{zh }} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ T_{\text {tru }}^{h 1} & T_{\text {tru }}^{h 1} & T_{\text {tru }}^{h 3} & \cdots & T_{\text {tru }}^{h x} & \cdots & T_{\text {tru }}^{h h} \end{array}\right] \circ \left[\begin{array}{c} 1 \\ \mathrm{e}^{-0.5} \\ \mathrm{e}^{-0.5 \times 2} \\ \vdots \\ \mathrm{e}^{-0.5(x-1)} \\ \vdots \\ \mathrm{e}^{-0.5(h-1)} \end{array}\right]=\left[\begin{array}{c} S_{\mathrm{tru}}^{1} \\ S_{\mathrm{tru}}^{2} \\ S_{\mathrm{tru}}^{3} \\ \vdots \\ S_{\mathrm{tru}}^{z} \\ \vdots \\ S_{\mathrm{tru}}^{h} \end{array}\right] $ (16)

Struz的计算公式如式(17)所示

$ S_{\text {tru }}^{z}=\prod\limits_{x=1}^{h} T_{\text {tru }}^{z x} \mathrm{e}^{(-0.5(x-1))} $ (17)

设定信任阈值为K,当SztruK时,说明节点AB专有邻居节点间不满足实际的通信关系,二者受到虫洞攻击。此时AB向除其专有邻居之外的所有节点广播休眠数据包,使包括虫洞节点在内的部分节点进入休眠状态,不参与网络通信。算法流程见图 4

图 4 算法流程图 Fig. 4 Algorithm flow chart
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越无法检测到路径相对较短的虫洞攻击。

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

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

图 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。

图 1011中可以看出,随着虫洞节点个数的增加,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是一种本地化协议,无需任何特殊的硬件支持,且在检测过程中对虫洞路径进行了规避,通过与节点信任相结合,可提高虫洞攻击的检测效率,降低节点能耗。仿真结果表明,该策略对虫洞攻击的检测及虚假链路的移除具有明显效果,保障了无线传感器网络安全可靠运行。无线传感器网络在虫洞攻击检测方面还有很多问题有待研究和解决,下一阶段将重点研究依据网络节点实际分布的随机性及数据传输情况,自适应调节信任权重以提高算法鲁棒性。

参考文献
[1]
王硕鹏. 基于数据挖掘系统网络安全模型预测分析[J]. 东北电力大学学报, 2019, 39(6): 92.
WANG Shuopeng. Prediction and analysis of systemic network security model based on data mining[J]. Journal of Northeast Electric Power University, 2019, 39(6): 92. DOI:10.19718/j.issn.1005-2992.2019-06-0091-03
[2]
PADMANABHAN J, MANICKAVASAGAM V. Scalable and distributed detection analysis on wormhole links in wireless sensor networks for networked systems[J]. IEEE Access, 2018, 6: 1755. DOI:10.1109/ACCESS.2017.2780188
[3]
滕志军, 许媛媛, 庞宝贺, 等. 合作博弈下无线传感器网络功率控制策略[J]. 哈尔滨工业大学学报, 2019, 51(11): 90.
TENG Zhijun, XU Yuanyuan, PANG Baohe, et al. Power control strategy of wireless sensor network under cooperative game[J]. Journal of Harbin Institute of Technology, 2019, 51(11): 90. DOI:10.11918/j.issn.0367-6234.201905173
[4]
叶波. 基于负载均衡度的云计算任务调度算法[J]. 东北电力大学学报, 2019, 39(1): 94.
YE Bo. Task scheduling algorithm for cloud computing based on load balance degree[J]. Journal of Northeast Electric Power University, 2019, 39(1): 94. DOI:10.19718/j.issn.1005-2992.2019-01-0088-08
[5]
ANWAR R W, ZAINAL A, OUTAY F, et al. BTEM: belief based trust evaluation mechanism for wireless sensor networks[J]. Future Generation Computer Systems, 2019, 96(7): 607. DOI:10.1016/j.future.2019.02.004
[6]
ELSHRKAWEY M, ELSHERIF S, WAHED M. An enhancement approach for reducing the energy consumption in wireless sensor networks[J]. Journal of King Saud University-Computer and Information Sciences, 2018, 30(2): 261. DOI:10.1016/j.jksuci.2017.04.002
[7]
SAHOO R, RAY S, SARKAR S, et al. Guard against trust management vulnerabilities in Wireless Sensor Network[J]. Arabian Journal for Science & Engineering, 2018, 43(12): 231. DOI:10.1007/s13369-017-3052-7
[8]
董晓梅, 杨洁. 一种无线传感器网络中的虫洞攻击检测算法[J]. 东北大学学报(自然科学版), 2012, 33(9): 1253.
DONG Xiaomei, YANG Jie. A wormhole attack detection algorithm in wireless sensor networks[J]. Journal of Northeastern University (Natural Science Edition), 2012, 33(9): 1253.
[9]
HAYAJNEH T, KRISHNAMURTHY P, TIPPER D, et al. Secure neighborhood creation in wireless ad hoc networks using hop count discrepancies[J]. Mobile Networks & Applications, 2012, 17(3): 415. DOI:10.1007/s11036-011-0334-2
[10]
LUO Xiao, CHEN Yanru, LI Miao, et al. CREDND: a novel secure neighbor discovery algorithm for wormhole attack[J]. IEEE Access, 2019, 7: 18194. DOI:10.1109/ACCESS.2019.2894637
[11]
AMISH P, VAGHELA V B. Detection and prevention of wormhole attack in wireless sensor network using AOMDV protocol[J]. Procedia Computer Science, 2016, 79: 700. DOI:10.1016/j.procs.2016.03.092
[12]
胡蓉华, 董晓梅, 王大玲. SenLeash: 一种无线传感器网络虫洞攻击约束防御机制[J]. 通信学报, 2013, 34(10): 65.
HU Ronghua, DONG Xiaomei, WANG Daling. SenLeash: a restricted defense mechanism against wormhole attacks in wireless sensor network[J]. Journal on Communications, 2013, 34(10): 65. DOI:10.3969/j.issn.1000-436x.2013.10.008
[13]
韩挺, 罗守山, 辛阳, 等. 面向MANET路由的多属性动态信任模型[J]. 北京邮电大学学报, 2013, 36(5): 86.
HAN Ting, LUO Shoushan, XIN Yang, et al. Dynamic trust model with multiple decision factors in MANET[J]. Journal of Beijing University of Posts and Telecommunications, 2013, 36(5): 86. DOI:10.13190/j.jbupt.2013.05.018
[14]
周治平, 邵楠楠. 基于贝叶斯的改进WSNs信任评估模型[J]. 传感技术学报, 2016, 29(6): 927.
ZHOU Zhiping, SHAO Nannan. An improved trust evaluation model based on Bayesian for WSNs[J]. Chinese Journal of Sensors and Actuators, 2016, 29(6): 927. DOI:10.3969/j.issn.1004-1699.2016.06.023
[15]
LI Jianpo, WANG Dong. The security DV-Hop algorithm against multiple-wormhole-node-link in WSNs[J]. KSⅡ Transactions on Internet and Information Systems, 2019, 13(4): 2223. DOI:10.3837/tiis.2019.04.027
[16]
CHEN Honglong, LOU Wei, WANG Zhi, et al. Securing DV-Hop localization against wormhole attacks in wireless sensor networks[J]. Pervasive and Mobile Computing, 2015(16): 22. DOI:10.1016/j.pmcj.2014.01.007
[17]
杨光, 印桂生, 杨武, 等. 无线传感器网络基于节点行为的信誉评测模型[J]. 通信学报, 2009, 30(12): 20.
YANG Guang, YIN Guisheng, YANG Wu, et al. Reputation model based on behaviors of sensor nodes in WSN[J]. Journal on Communications, 2009, 30(12): 20. DOI:10.3321/j.issn:1000-436X.2009.12.003
[18]
姚雷, 王东豪, 梁璇, 等. 无线传感器网络多层次模糊信任模型研究[J]. 仪器仪表学报, 2014, 35(7): 1608.
YAO Lei, WANG Donghao, LIANG Xuan, et al. Research on multi-level fuzzy trust model for wireless sensor networks[J]. Chinese Journal of Scientific Instrument, 2014, 35(7): 1608. DOI:10.3969/j.issn.0254-3087.2014.07.022
[19]
秦丹阳, 贾爽. 基于信任感知的无线传感器网络安全路由机制研究[J]. 通信学报, 2017, 38(10): 63.
QIN Danyang, JIA Shuang. Research on trust sensing based secure routing mechanism for wireless sensor network[J]. Journal on Communications, 2017, 38(10): 63. DOI:10.11959/j.issn.1000-436x.2017198
[20]
SUN Y L, YU Wei, HAN Zhu, et al. Information theoretic framework of trust modeling and evaluation for ad hoc networks[J]. IEEE Journal on Selected Area in Communications, 2006, 24(2): 307. DOI:10.1109/JSAC.2005.861389