池玉辰,邓 平
(西南交通大学信息编码与传输重点实验室,成都 610031)
一种移动无线传感器网络抵御虫洞攻击MCL算法*
池玉辰,邓 平*
(西南交通大学信息编码与传输重点实验室,成都 610031)
MCL算法作为MWSN的一种经典定位算法,其安全性还欠缺考虑,为了使MCL算法能抵御虫洞攻击,分析了MCL机制及虫洞攻击对MCL性能的影响,在此基础上提出了一种能抵御虫洞攻击的安全MCL算法—DewormMCL。该算法利用节点的移动性有效识别锚节点信息,剔除掉伪锚节点信息,且不需要额外的硬件支持,也不会增加通信开销。仿真结果表明,该安全定位算法对虫洞攻击具有较好的抵御性;随着算法的收敛,遭受虫洞攻击的MCL性能逐渐恢复正常,在文中的仿真条件下,定位误差从0.45r降到0.4r,定位率从80%提升到90%。
MWSN;MCL;虫洞攻击;DewormMCL;移动性
移动无线传感器网络MWSN(Mobile Wireless Sensor Networks)是一种特殊的无线传感器网络,节点的可移动性是其关键特征。目前,MWSN主要应用于监测和定位追踪[1-2]。由于传感器节点资源受限,并且常常被部署于无人看守的环境,有的甚至部署于敌对战场,MWSN相比传统的无线传感器网络更容易受到攻击,MWSN的安全定位已成为一个亟待解决的关键问题。MWSN中可能遇到的典型攻击包括欺骗攻击、虫洞攻击和女巫攻击等,现有MWSN安全定位技术研究主要集中在抵御欺骗攻击方面,对抵御虫洞攻击的研究还未见过相关文献。蒙特卡洛定位[3](Monte Carlo Localization,MCL)法作为MWSN的经典定位算法已得到深入研究,国内外学者在此基础上衍生出很多新的定位算法[4-7],这些算法虽然改善了定位性能,但目前还很少考虑安全定位的问题。为了使MCL算法能有效抵御虫洞攻击,本文开展了具备抵御虫洞攻击能力的MCL算法的研究。
现有文献对MWSN的安全定位问题研究得较少,文献[8-10]提出了抵御欺骗攻击的MWSN定位算法。文献[8]中提出的SecMCL算法首次考虑了MCL的安全性,SecMCL采用消息认证和新的采样方式来抵御欺骗攻击。它包括两个过程:与MCL相同的过程和新的采样过程,在没有攻击的情况下,MCL能得到足够的样本点,因此该算法只会执行MCL,直接跳过第2个过程;当存在欺骗攻击时,在执行完MCL的预测和滤波阶段后可能得不到足够的合法样本,这时就要执行新的采样过程,保留与最多锚节点信息一致的样本,减小攻击对定位的影响。该算法对节点的存储和计算能力要求较高。文献[9-10]提出把梯度下降法运用于MWSN的节点安全定位用来抵御欺骗攻击,该算法首先利用定位节点的位置信息和测量到的信息构造合适的代价函数,采用迭代梯度下降算法最小化代价函数,使节点的位置估计达到LS估计,然后剔除掉有较大残差的“力矢量”,使定位节点的估计位置逐渐逼近真实位置。此算法不需要锚节点参与定位,得到各个节点的相对位置后,通过3个节点的具体位置就可以知道每个节点的绝对位置,算法的计算复杂度较低,但迭代次数较多,网络覆盖范围较小。
近年来,虫洞攻击已成为一个研究热点,常见的检测和抵御方法可以归纳为3类:①基于对数据包时间和空间分析的方法。文献[11]采用RTT来检测两个节点是否为真实邻居,文献[12]采用定向天线来防御虫洞攻击,每个节点通过检查所接收信号的来源方向进行邻居判定,只有双方的方向匹配,才能确定邻居关系;②基于统计分析的方法。主要统计虫洞链路出现的频率和邻居节点个数,由于虫洞链路是一条高质量路由,所以在路由表中出现的比例很大,文献[13]通过统计链路的使用频率来确定是否遭受虫洞攻击,文献[14-15]通过统计邻居节点的个数分布来确定是否遭受虫洞攻击;③基于邻居信任评估的方法。文献[16]通过引入信任模型,收集邻居以往信息作为信任评估的经验,然后根据模型对邻居关系进行可信评估,在选择路由时,选取高可信度的邻居作为下一跳,绕开虫洞链路。这些方法中有的依靠了特殊硬件,有的增加了算法开销,有的对存储和计算能力要求较高,都不适用于MWSN中的虫洞检测与防御。因此,本文在分析虫洞攻击对MCL算法定位性能影响的基础上,提出了一种能抵御虫洞攻击的MCL算法。
Step 1(预测阶段):在已知上一时刻节点的可能位置时,节点在当前时刻所在位置的分布为均匀分布:
(1)
图1中盲节点N1从Pt-1移动到Pt,在时刻t,节点利用t-1时刻的采样集合Lt-1及最大速度vmax产生新的采样集合Lt:新采样点lt在以旧采样点lt-1为圆心,vmax为半径的实线圆盘区域随机选取。
图1 MCL示意图
Step2(滤波阶段):节点根据所侦听到的一阶和二阶锚节点,从Lt中移出所有不可能的位置(使得p(lt|ot)=0的lt)。假设S表示节点侦听到的所有一阶锚节点集合,T表示节点侦听到的所有二阶锚节点集合。样本的滤波条件为:
filter(l)=
(∀s∈S,d(l,s)≤r)∩(∀s∈T,r 图1中,节点在t时刻侦听到一阶锚节点S1,二阶锚节点S2和S3,符合条件的样本落在网格区域内。 Step3(重采样阶段):滤波后,Lt中的采样点可能小于N,随后预测和滤波过程会重复进行,直到采样集合满了或达到最大采样次数。 (2) 虫洞攻击具有隐蔽性大、攻击力强等特点,通常由两个以上的恶意节点共同协作完成攻击,两个处于不同区域的恶意节点会互相将接收到的定位信息,经过私有的通信信道(虫洞链路)传递给另一个恶意节点,然后重放[17]。它分为隐式攻击和显示攻击,文中讨论的是隐式虫洞攻击。 如图2所示,当锚节点S收到定位请求后,S广播自身信标,盲节点N1、N2和N3正常接收,虫洞节点W1接收到后会经过虫洞链路传给虫洞节点W2,随后在另一个区域的W2重放此信标,这时盲节点N4和N5都会收到,它们会误认为S为其一阶锚节点,由于两个区域相距较远,此时收到的不准确锚节点信息会给定位造成严重影响。 图2 虫洞攻击示意图 MCL利用一阶锚节点和二阶锚节点信息进行定位,虫洞攻击对盲节点定位的影响分两类情形:①盲节点周围既存在真实的锚节点,也存在虚假的锚节点—伪锚节点,②盲节点周围只存在伪锚节点。 图3(a)和3(b)是第1类情形,分为两种情况:盲节点分别是虫洞节点的一阶邻居和二阶邻居。图3(a)中盲节点N1是虫洞节点W1的一阶邻居,S1和S2是N1的真实一阶锚节点,S3、S4和S5是真实二阶锚节点,在虫洞攻击的影响下,S6和S7成为N1的伪一阶锚节点,S8和S9成为伪二阶锚节点;图3(b)中N1是W1的二阶邻居,S1和S2是它的真实一阶锚节点,S3、S4和S5是真实二阶锚节点,S6和S7成为N1的伪二阶锚节点。 图4(a)和4(b)是第2类情形,也有上述两种情况。图4(a)中N1是W1的一阶邻居,S1和S2成为N1的伪一阶锚节点,S3和S4成为伪二阶锚节点;图4(b)中N1是W1的二阶邻居,S1和S2成为N1的伪二阶锚节点。 从上述分析可以看出,当盲节点处于虫洞节点两跳范围内时会受到虫洞攻击的影响,因此把这个区域称为虫洞区域,如图5中阴影区域所示,其他区域称为非虫洞区域。 图3 第1类虫洞攻击情形 图4 第2类虫洞攻击情形 图5 虫洞区域示意图 当锚节点密度较大时,第1类情形容易发生,处于虫洞区域的盲节点收集到不一致的锚节点信息,对MCL影响表现为得不到合法的样本,致使原本可以定位的节点无法定位,降低节点定位率;当锚节点密度较小时,第2类情形会发生,处于虫洞区域的盲节点只收集到错误的锚节点信息,对MCL影响表现为使得原本无法定位的节点定位错误,一定程度上会提高定位率。 基于上述分析,当锚节点密度适中时,第1类情形发生概率较大,第2类情形发生概率小,但会发生,因此虫洞攻击对MCL影响表现为降低节点定位率,一定程度上会增大定位误差。 4.1 算法描述 节点在移动过程中不断的在进行定位,当盲节点从非虫洞区域移动到虫洞区域时,保留上一时刻的定位值并且不断更新,利用上一时刻的定位值就可以识别当前时刻的伪锚节点信息。后续讨论中把上一时刻称为t-1时刻,当前时刻称为t时刻。 图6 算法示意图 4.2 两个具体问题 ①t-1时刻定位值的准确性。当锚节点密度较小时,在虫洞区域移动的一些盲节点,在某些时刻仅收集到错误的锚节点信息,这将导致t-1时刻定位错误,在后续时刻盲节点会利用错误的定位值滤除正确的锚节点信息而定位错误。 ②t-1时刻定位值的更新。受到虫洞影响的盲节点由于收集到不一致的锚节点信息而无法正常定位,这将导致t-1时刻定位值更新滞后,如果t-1时刻定位值得不到更新,并且当盲节点逐渐远离这一定位值区域时,在后续时刻盲节点会利用过时的定位值滤除掉所有的锚节点信息而无法定位。 对于问题①,在使用MCL时,如果检测到盲节点能够长时间地在连续时刻定位,说明它很可能处于非虫洞区域,由于节点在不停的移动,在连续时刻定位错误的可能性很小,因此选取能够长时间连续定位时刻的定位值作为t-1时刻的定位值。对于问题②,如果检测到节点长时间地在连续时刻无法定位,就启动MCL,直到能够长时间地在连续时刻定位就更新t-1时刻的定位值,这样既可以让节点重新定位,也能保证t-1时刻定位值的准确性。整个算法的流程如图7所示。 图7 算法流程图 在仿真实验中,所有的节点随机布撒在500m×500m的矩形区域内,节点采用RandomWayPoint移动模型,在该模型中,节点在每个时刻的运动方向和速度都是随机的。两个虫洞节点的坐标参考文献[14]进行设置,具体数值如表1所示,这样虫洞链路刚好处于矩形区域的中心,对系统定位性能影响最大。表1是仿真参数的典型值,后续在研究一些参数对定位性能的影响时,会对其作出相应调整,并把连续能够定位时刻的个数和连续不能定位时刻的个数统称为连续时刻个数n,遭受虫洞攻击的MCL算法称为WormMCL,抵御虫洞攻击的MCL算法称为DewormMCL。定位误差为每个定位时刻能够定位节点定位误差的平均值,定位率为每个定位时刻能够定位节点所占的比例,平均定位误差和平均定位率为算法收敛过程中前100个时刻的平均值,仿真结果均在MATLAB上独立运行10次取平均值。 表1 仿真参数典型值设置 图8 定位误差和定位率对比图 5.1 定位性能随时间的关系 图8(a)和8(b)分别是3种算法定位误差和定位率随时间的关系,从图中看出,受虫洞攻击后,定位误差从0.4r提高到0.45r,定位率从90%降低到80%,在第100个时刻,DewormMCL性能基本收敛到未受攻击时的正常值。从图中也可以看出,n值越大,定位误差越小,但定位率收敛速度越慢。因此在选取n值时,既要考虑算法的收敛时间,又要考虑定位误差不能太大,合适地选取n值很重要,后续参数仿真中取n=5。 5.2 各参数对定位性能的影响 5.2.1 节点移动速度 如图9(a)所示,当vmax=0.4r时,3种算法的定位误差最小,节点移动速度适中时,盲节点在运动过程中会碰到更多的锚节点,当节点移动速度过快时,会导致采样区域过大,采集的样本准确性降低。当vmax≤0.4r时,DewormMCL的定位误差比WormMCL还大,这是由于节点移动速度过慢,n值过小,一些定位错误的盲节点利用错误的定位值滤掉了正确的锚节点信息,在后续时刻也定位错误。从上图9(b)中可以看出,vmax对DewormMCL算法的定位率影响较大,当r≤vmax≤1.4r时,定位率能快速收敛到正常值。综合考虑vmax对定位性能的影响,取vmax=r较为适宜。 图9 节点移动速度vmax对定位性能的影响 5.2.2 锚节点密度 增大锚节点密度Sd会使盲节点周围的一阶锚节点和二阶锚节点增多,盲节点利用这些增多的一阶锚节点和二阶锚节点信息改善定位效果。如图10(a)和10(b)所示,3种算法的定位性能都随Sd的增大而有所改善。从图10(a)看出,当Sd<1.5时,DewormMCL对攻击的改善效果并不明显,这是因为一些遭受虫洞攻击的盲节点只接收到了错误的锚节点信息,导致连续定位错误;当Sd>1.5时,受虫洞攻击的盲节点由于总能收集到不一致的锚节点信息,更多的表现为不能定位,而不是错误定位,所以3种算法的定位误差基本一致,如图10(a)所示,但此时定位率会下降,如图10(b)中WormMCL曲线所示。锚节点数量的增多会相应增大系统代价,综合考虑Sd对定位性能的影响,因此取Sd=2较为适宜。 图10 锚节点密度Sd对定位性能的影响 图11 盲节点密度Nd对定位性能的影响 5.2.3 盲节点密度 增大盲节点密度Nd,会相应增加二阶锚节点的数量。如图11(a)和11(b)所示,Nd对3种算法的定位性能均有影响,它们有一个盲节点密度门限值Nd=10。当Nd<10时,3种算法的定位性能随Nd的增大而有所改善,当Nd增加到一定程度时,二阶锚节点数量趋于饱和,3种算法的定位性能维持不变,因此选取Nd=10比较合适。 5.2.4 通信半径不规则度 如图12(a)所示,当doi<0.1时,3种算法的定位误差基本不变,当doi>0.1时,3种算法的定位误差都随doi的增大而增大。doi越大,越有可能漏掉正常范围内的一阶和二阶锚节点或者使二阶锚节点变成一阶锚节点,两跳范围外的锚节点变成二阶锚节点。 如图12(b)所示,当doi<0.1时,3种算法的定位率基本不变,当doi>0.1时,3种算法的定位率呈下降趋势,这是因为较大的doi使得盲节点获得了更大的锚节点信息空间,增加了一部分两跳范围外的锚节点信息,由于锚节点信息不一致,使得一些盲节点得不到合法样本而无法定位。 图12 通信半径不规则度doi对定位性能的影响 本文首次研究了MWSN中的隐式虫洞攻击,分析了此类虫洞攻击对MCL性能的影响,并提出了利用节点移动特性识别锚节点信息抵御虫洞攻击的MCL算法,算法执行简单,并能有效抵御抵御虫洞攻击,在没有遭受虫洞攻击也能达到MCL算法的性能。 文中讨论的是一对静态的隐式虫洞节点联合进行攻击,在今后的研究中,还需要分别考虑显式虫洞攻击、移动的虫洞攻击、多对虫洞节点联合攻击等情形下对MWSN中定位算法的影响。 [1] 邓晓明.移动无线传感器网络复制节点攻击检测协议的研究[D]. 中国科学技术大学,2011. [2] 王静,邓平. 一种基于边松弛的大规模WSN分簇定位算法[J]. 传感技术学报,2013,26(5):683-688. [3] Hu L,Evant D. Localization for Mobile Sensor Networks[C]//Proceedings of the 10th Annual International Conference on Mobile Computing and Networking,2004:45-47. [4] Baggio A,Langendoen K. Monte-Carlo Localization for Mobile Wireless Sensor Networks[J]. Lecture Notes in Computer Science,2006,4325(11):317-328. [5] Yi J Y,Yang S W,Cha H J. Multi-Hop-Based Monte Carlo Localization for Mobile Sensor Nteworks[C]//Proceedings of the 4th Annual IEEE Communications Society Conference on Sensor,Mesh and Ad Hoc Communications and Networks,2007:163-171. [6] 梅举,陈涤,辛玲. 基于蒙特卡洛方法的移动传感网节点定位优化算法[J]. 传感技术学报,2013,26(5):689-693. [7] 朱海平,于红丞,钟小勇,等. 动态无线传感器网络的改进蒙特卡洛定位算法[J]. 传感技术学报,2012,25(9):1284-1288. [8] Zeng Y P,Cao J N,Hong J,et al. SecMCL:A Secure Monte Carlo Localization Algorithm for Mobile Sensor Networks[C]//IEEE 6th International Conference on Mobile Ad-Hoc and Sensor Systems(MASS),2009:1054-1059. [9] Garg R,Varna A,Wu M. An Efficient Gradient Descent Approach to Secure Localization in Resource Constrained Wireless Sensor Networks[J]. IEEE transactions on Information Forensics and Security,2012,7(2):717-730. [10] Garg R,Varna A,Wu M. A Gradient Descent Based Approach to Secure Localization in Mobile Sensor Networks[C]//IEEE International Conference on Acoustics,Speech and Signal Processing(ICASSP),2012:1869-1872. [11] Zhen J,Srinivas S. Preventing Replay Attacks for Secure Routing in Ad Hoc Networks[C]//Proceedings of the 2nd International Conference on Ad-Hoc Networks and Wireless(ADHOC-NOW),2003:140-150. [12] Hu L,Evans D. Using Directional Antennas to Prevent Wormhole Attacks[C]//Proceedings of the 11th Network and Distributed System Security Symposium(NDSS),2004:131-141. [13] Qian L J,Song N,Li X F. Detecting and Locating Wormhole Attacks in Wireless Ad Hoc Networks through Statistical Analysis of Multi-Path[C]//IEEE Wireless Communications and and Networking Conference(WCNC 2005),2005:2106-2111. [14] Song S J,Wu H J,Choi B Y. Statistical Wormhole Detection for Mobile Sensor Networks[C]//The 4th International Conference on Ubiquitous and Future Networks(ICUFN),2012:322-327. [15] Thi N D P,Chai K Y. Statistical Wormhole Detection and Localization in Delay Tolerant Networks[C]//The 11th Annual IEEE Consumer Communications and Networking Conference(CCNC),2014:380-385. [16] 洪亮,洪帆,彭冰,等. 一种基于邻居信任评估的虫洞防御机制[J]. 计算机科学,2006,33(8):130-133. [17] 邓平,张红江. 一种无线传感器网络抗虫洞攻击DV-Hop定位算法[J]. 西南交通大学学报,2015,50(1):51-57,65. 池玉辰(1989-),男,汉族,硕士研究生,主要从事移动无线传感器网络安全定位技术的研究; 邓 平(1964-),男,汉族,博士,教授。主要研究方向有无线网络定位技术,现代信号处理,无线传感器网络等。 A MCL Algorithm Against Wormhole Attack in MWSN* CHIYuchen,DENGPing* (Key lab of information coding and transmission,Southwest Jiaotong University,Chengdu 610031,China) As a classical localization algorithm in MWSN,MCL algorithm is still lack of consideration of security.In order to defeat wormhole attack in MCL,we firstly analyze MCL mechanism and the impact of wormhole attack on the performance of MCL,and then propose a secure MCL algorithm,named DewormMCL,to defeat wormhole attack in this paper,which takes advantages of nodes’ mobility to identify anchor information effectively and filter out false anchor information.It requires no additional hardware support,and also not increase the communication overhead.Simulation results demonstrate that the secure localization algorithm shows good resistivity to wormhole attack.With the convergence of the algorithm,the performance of MCL suffered from wormhole attack will gradually return to normal.Localization error drops from 0.45rto 0.4rand the percentage of localizable nodes increases from 80% to 90% under the simulation conditions in the paper. MWSN;MCL;wormhole attack;DewormMCL;mobility 项目来源:国家自然科学基金项目(61071107) 2015-01-23 修改日期:2015-02-28 C:7230 10.3969/j.issn.1004-1699.2015.06.017 TP393 A 1004-1699(2015)06-0876-073 虫洞攻击对MCL性能的影响
4 抵御虫洞攻击的MCL算法
5 仿真结果与分析
6 结束语