APP下载

轻量级的无线传感器网络选择性转发攻击检测

2022-04-13陈雪雁章志明熊小勇

计算机与生活 2022年4期
关键词:包率数据包选择性

陈雪雁,章志明,杨 伟,李 萍,熊小勇

江西师范大学 软件学院,南昌330022

随着无线传感器网络(wireless sensor networks,WSNs)不断广泛应用于军事、环境监测、交通、农业、医疗和家居等领域,其安全问题一直以来都是研究热点。由于WSNs 是由大量传感器节点以无线、多跳的方式构建而成,并且传感器节点受计算、存储和通信的限制,很容易受到许多内、外部攻击,其中选择性转发攻击是危害最严重的一种内部攻击,并且由于无线信道的不稳定性,网络链路的正常丢包和由选择性转发攻击造成的恶意丢包很难区分,具有很强的隐蔽性。因此,检测、定位和隔离发起选择性转发攻击的恶意节点至关重要。

近年来国内外学者提出了一些有效的选择性转发攻击检测方案。文献[4-8]基于多跳确认提出一组选择性转发攻击检测方案,基于多跳确认的检测方案需要传输大量的确认包,从而会造成很高的通信开销,大大降低网络寿命。文献[9-13]提出了一组基于信任评估检测方案,基于信任评估检测方案能有效检测出网络中一个或多个恶意节点,但是大多数检测方案的信任阈值是静态的,正常节点被误判为恶意节点的误检率较高,并且需要较多的监听节点,大大增加了网络的开销。文献[14-18]基于学习自动机提出了一组恶意节点检测方案,但文献[14-15]对不产生恶意数据包的选择性转发攻击检测效果不佳,为了能有效检测出选择性转发攻击,文献[16-17]提出两种异常节点检测方案,但这两种方案的学习自动机的奖惩参数是人为根据节点邻居投票情况设定的固定值,检测方法灵活性差。为了解决这个问题,文献[18]提出一种可以动态调整学习自动机的奖惩参数的检测方案,提高了检测方法的灵活性和适用性,但该方案需要通过邻居节点回复的确认包的数量来确定环境对学习自动机的反馈,消耗了大量的网络资源。

基于上述考虑,本文提出一种轻量级的无线传感器网络选择性转发攻击检测方案(lightweight selective forwarding attack detection scheme for wireless sensor networks,LSFAD)。LSFAD 方案是基于这样一个重要的观察:当一条路径上存在恶意节点发起选择性转发攻击时,基站(base station,BS)收到源节点通过这条路径转发的数据包个数要远远少于源节点通过正常路径转发的数据包个数。基于这样的观察,基站记录每个源节点发送的数据包总个数以及这些数据包转发的路由路径,并计算路径的平均丢包率和路径的正常丢包率,如果路径的平均丢包率大于路径的正常丢包率,则表示当前路径存在选择性转发攻击。为了定位到路径上发起选择性转发攻击的恶意节点或恶意链路,路径上每个中间转发节点都存储转发源节点发送给基站的数据包的个数,当确定某条路径存在选择性转发攻击,基站将通知路径上的每个节点发送转发了源节点的数据包的个数给基站,然后基站依次从源节点开始根据每个中间转发节点转发的数据包的个数计算每个节点的平均丢包率和正常丢包率,平均丢包率大于正常丢包率的节点和前一个节点组成的链路就是恶意链路。

LSFAD 方案设计简单,不需要任何监听节点,不需要任何复杂的评估模型评估计算节点信任值,计算复杂度低,易于实现,且在正常的数据包收发过程中进行恶意路径的检测,不会影响整个网络的正常工作。LSFAD 方案能抵抗恶意节点发起的被动选择性转发攻击和主动选择性转发攻击。性能分析表明,LSFAD 方案的通信开销远远小于其他方案。实验仿真结果表明,LSFAD 方案即使当链路的正常丢包率为0.125,选择性转发攻击路径都能被检测到,当链路正常丢包率大于0.025,发起选择性转发攻击的恶意节点都能被成功检测定位到,并且网络在检测定位恶意节点的状态下消耗的能量与正常情况下消耗的能量相差不大。

1 相关工作

目前国内外学者提出的选择性转发攻击检测方案大体可分为基于多跳确认模型方案、基于信任评估模型方案和基于学习自动机方案。

Balakrishnan 等人基于确认节点提出一种两跳确认检测方案,因为在该方案中,每个节点都是确认节点,节点每收到一个数据包,就向离它两跳的节点发送一个确认包,这会大大增加网络消息的冲突和碰撞。为了解决这个问题,Xiao 等人提出一种多跳确认检测方案,虽然该方案能大大减少网络消息的冲突和碰撞,但如果该方案中存在两个或两个以上的恶意节点被选为确认节点,这些恶意节点合谋,将使得该方案失效。为了解决这个问题,Liu 等人提出一种新的基于多跳确认机制的方案(per-hop acknowledgement-based scheme,PHACK),在PHACK方案中,转发路径上的每个节点除了转发正常数据包外,为了检测定位到恶意节点,还需要为转发的每个数据包产生一个确认数据包,并沿不同路径发送给源节点。为了降低网络开销,并提高多恶意节点检测率,Yin 等人结合多跳确认和信任评估模型,提出了一种选择性转发攻击检测方案,该方案提高了路径上多恶意节点检测率,并有效地节约了网络开销。Shakshuki 等人还提出一种基于无线自组织网络的选择性转发攻击检测方案,该方案采用逐跳确认机制和改进的两跳确认机制来检测选择性转发行为以降低资源开销。在此过程中,确认包通过原来的数据转发路径回传给源节点。

Xiao 等人基于高斯分布提出一种传感器网络信誉模型,虽然该模型只需要确定一个信任阈值,但是该信任阈值是静态的,正常节点被判定为恶意节点的误判率较高。Zhou 等人基于贝叶斯和熵提出一种改进的信任评估模型,该模型在一定程度上克服了主观分配权重带来的局限性,但是静态信誉值的问题并未解决。Cho 等人基于改进的Beta 和熵信任模型提出一种选择性转发攻击检测方案,该方案分成两个阶段,首先通过改进的Beta 分布和熵信任模型检测选择性转发攻击,一旦检测定位到恶意节点,该方案使用两种规避策略把数据包从被丢弃的位置重新发送给基站。Liao 等人提出一种基于混合策略监听-转发博弈检测方案来检测选择性转发攻击,该方案能有效缓解无线传感器网络中的选择性转发攻击,并具有较少的能量消耗。Zhou 等人结合邻居节点监听和看门狗机制提出一种基于分簇的选择性转发攻击检测方案,虽然该方案能够迅速准确定位恶意节点,但监督节点职责过重。

Misra 等人基于学习自动机提出两种无线传感器网络入侵检测方案,由于这两种方案不是检测节点的恶意行为,虽然对恶意数据包的检测非常有效,但对不产生恶意数据包的选择性转发攻击检测效果不佳。为了能有效检测出选择性转发攻击,Fathinavid 等人基于学习自动机提出两种异常节点检测方案(CADLA 和CLAIDS),在这两种检测方案中,可疑节点的阈值是通过转发节点的稳定性和能量水平来确定。虽然这两种方案都能检测出选择性转发攻击,但在初始化学习自动机行动概率时,只考虑了当时节点能量剩余的大小,这可能会导致路由错误,使得数据包无法达到簇头节点;并且学习自动机的奖惩参数是人为设定的一个固定值,检测方法灵活性差。为了解决这些问题,Zhang提出一种基于学习自动机和通信质量的选择性转发攻击检测方案(selective forwarding attack detection method based on adaptive learning automaton and communication quality,DSFLACQ),在DSFLACQ 方案中,学习自动机行动概率初始化考虑了无线信道的正常丢包情况,节点的综合通信质量是采用滑动时间窗口来衡量的,并且学习自动机的奖惩参数可以动态调整,提高了检测方法的灵活性和适用性。

2 系统模型

2.1 网络模型

整个传感器网络由基站(base station,BS)、普通节点和恶意节点组成。每个节点在部署之前都被分配一个独一无二的身份标记ID,分配一个与BS共享的对称密钥K。假设在网络被部署到目标区域后,所有节点都不再移动,并且以BS 为根,所有节点形成一棵树形结构,随着网络运行,可能一些节点由于电池耗尽而死亡,从而引起网络路径发生变化,因此每隔一段时间,BS 将及时更新整个网络的拓扑结构。当节点感知到数据后,将通过多跳的方式把数据发送给BS,在数据包从源节点发送给BS 的过程中,每个中间转发节点将记录它转发了源节点发送的数据包个数,BS 将记录每个源节点发送的数据包总个数以及这些数据包转发的路由路径。在数据包的转发路径上,不仅路径上的恶意节点会以一定的概率丢弃它应该转发的数据包,而且因为物理层无线信道的不稳定性和MAC(media access control)层数据包冲突,任意两个中间转发节点的通信链路也可能会正常丢弃数据包。国内外学者对于传感数据的产生、融合已经提出了许多方案,本文在此不作详细描述,本文主要关注如何检测选择性转发攻击路径以及定位发起选择性转发攻击的恶意节点或恶意链路。本文假设基站的计算、存储和通信能力都不受限制,并且假设敌人只能俘获普通传感节点,而不能俘获基站。为了方便阅读和说明,表1 对本文所用到的符号进行了描述。

表1 符号定义表Table 1 Notation definition table

2.2 攻击模型和安全目标

假设在网络中,除了基站外,其他任何节点都可能被敌人捕获,一旦被捕获,这些节点将成为恶意节点,敌人将得到其中的身份、密钥等安全信息,并利用这些节点发起一系列攻击,如注入虚假数据攻击、虫洞攻击、克隆攻击、女巫攻击和选择性转发攻击等,在本文中,只考虑恶意节点发起的选择性转发攻击。选择性转发攻击可分为被动选择性转发攻击和主动选择性转发攻击。被动选择性转发攻击是指恶意节点只以一定的概率丢弃正常的数据包而忽略网络中的选择性转发攻击检测行为。而主动选择性转发攻击不仅以一定的概率丢掉正常的数据包,而且为了躲避被检测而干扰选择性转发攻击检测行为。

本文提出的LSFAD 方案的安全目标是能抵抗恶意节点发起的被动选择性转发攻击和主动选择性转发攻击。

3 轻量级的选择性转发攻击检测方案

本文提出的LSFAD 方案具体分为源节点产生数据包、中间节点转发数据包、基站检测选择性转发攻击路径以及定位恶意节点四个步骤。

3.1 产生数据包

当源节点想要发送传感数据给BS,在生成完数据包后,它将在数据包上创建两个字段分别用于存储数据包源节点的唯一身份标记和当前数据包的序列号。然后,节点把自己的身份标记ID和数据包序列号_Number存入相应的字段,其中数据包的序列号是连续的,最后把数据包发送给下一个中间转发节点。

3.2 转发数据包

所有中间转发节点都维护一张数据包源节点转发表(data forward table,DFT),如表2 所示,其中Source_ID 字段表示源节点身份标识,ForWord_Count字段表示转发源节点的数据包个数。

表2 数据包转发表Table 2 Data forward table

当中间转发节点收到一个数据包后,它首先在自己的数据转发表DFT 中查找是否存在源节点身份标识为.ID的记录,如果没有,则在数据转发表DFT 中创建一条新的记录,使._=.ID,._=1;如果存在,则使对应记录的_字段值加1,使._=._+1,然后把数据包转发给下一个中间转发节点。

3.3 检测选择性转发攻击路径

基站维护一张数据包源节点发送表(data send table,DST),如表3 所示,其中Source_ID 字段表示源节点身份标识,Path_Array 字段存储源节点到基站所经过的中间节点身份标记的数组,Seq_Number 字段表示基站收到源节点发送的最后一个数据包的序列号,Sum_Count字段存储基站收到源节点发送的数据包总个数,Drop_Count 字段存储源节点发送给基站丢失的数据包个数。在基站收集整个网络的拓扑结构后,把所有源节点的身份标识以及该源节点到基站所经过的中间节点身份标记分别依次存入._和._字段,其他字段初始化为空。如果网络的拓扑结构发生改变,如某个节点由于电池耗尽而死亡,则可能使一些源节点到基站的路径发生改变,基站将及时更新网络的拓扑结构,修改数据包发送表DST 的Path_Array 字段。

表3 数据包发送表Table 3 Data send table

当基站收到一个数据包,将执行算法1 检测选择性转发攻击路径。它首先在数据包发送表DST中查找到源节点身份标识为.ID的记录,如果Seq_Number 字段为空,表示是第一次收到该源节点发送的数据包,它将使._=._Number,._=1,._=0,如果Seq_Number 字段不为空,则比较上一次收到的数据包序列号与当前收到的数据包序列号是否连续,如果连续,则表示没有丢包,它将更新._和._字段的值,使._=._Number,._=._+1;如果数据包序列号不连续,则表示有丢包,它将使._=._Number,._=._+1,._=._+(._Number-._-1),其 中,._Number-._-1 表示丢失的数据包个数,然后基站按式(1)计算当前路径的平均丢包率,按式(2)计算当前路径的正常丢包率。如果平均丢包率大于正常丢包率,则表示当前路径上存在选择性转发攻击,基站将执行3.4 节的算法2 来定位恶意节点。其中,式(1)中的._+._表示源节点发送的总数据包个数,._表示当前路径总的丢包个数,式(2)中的表示一个节点与前一个节点之间链路的正常丢包率,表示源节点到基站的路径长度。

选择性转发攻击路径检测

输入:数据包,数据包发送表DST,节点之间链路的正常丢包率。

输出:选择性转发攻击路径。

3.4 定位恶意节点

当基站发现路径._Array存在选择性转发攻击,假设路径._Array从源节点到BS 共有跳,用(,,…,n,BS)表示,其中表示数据包源节点,其余节点表示路径上的中间转发节点。基站首先通知路径上的每个节点从源节点开始依次沿路径按式(3)的数据格式把数据转发表DFT 中转发了源节点的数据包个数发送给基站。式(3)中的ID表示节点n的身份标识,n.._表示节点n转发了源节点的数据包个数,p表示前一跳节点n发送的数据包,表示时间戳,||表示连接操作。

基站收到应答数据包p后,它将执行算法2 定位恶意节点。它首先从后往前,依次用与节点共享的对称密钥K解密p取出节点转发了源节点的数据包总数n.._,然后从转发源节点数据包的第一个节点开始分别根据式(4)和式(5)计算每个节点的平均丢包率和正常丢包率,平均丢包率大于正常丢包率的节点和前一个节点组成的链路就是恶意链路,基站将把这条链路从网络中隔离,并通知其他节点。式(4)中的._+._表示源节点发送的总数据包个数,._+._-n.._表示当前节点n的丢包个数,式(5)中的表示一个节点与前一个节点之间链路的正常丢包率,-1 表示源节点到节点n的路径长度。

恶意节点定位

输入:._,BS 收到的应答数据包p,数据包发送表DST,节点之间链路的正常丢包率。

输出:发起选择性转发攻击的恶意节点或恶意链路。

4 安全性分析

在本文提出的LSFAD 方案中,恶意节点发起的选择性转发攻击可以是被动选择性转发攻击或主动性选择性转发攻击。被动选择性转发攻击只以一定的概率丢弃正常的数据包,而主动选择性转发攻击不仅以一定的概率丢掉正常的数据包,恶意节点可能通过修改、删除前一个节点发送给BS 的应答数据包p,或不发送自己转发源节点的数据包个数给BS,从而躲避、干扰或破坏BS 执行恶意节点的检测。本章将讨论本文提出的LSFAD 方案如何抵抗恶意节点发起的这两种攻击。

4.1 抗被动选择性转发攻击

如果恶意节点只发起被动选择性转发攻击,当BS 发现有恶意路径时,BS 首先通知路径上的每个节点从源节点开始依次沿路径按式(3)的数据格式把数据转发表DFT 中转发了源节点的数据包个数发送给基站BS,根据恶意节点定位算法2,BS 将能正确定位到恶意节点。

4.2 抗主动选择性转发攻击

为了破坏BS 执行恶意节点的检测,当BS 通知路径上的每个节点依次沿路径按式(3)的数据格式把转发了源节点的数据包个数发送给基站BS 时,恶意节点n可以执行以下操作:(1)试图修改上一个节点发送给它的应答数据包p中的数据信息,但数据包p是用节点n与BS 共享的对称密钥对时间戳、p和节点n的身份标识及转发了源节点的数据包个数等信息进行加密而形成的密钥链,即p=E(ID||n.._||p||),因为恶意节点n没有节点n与BS 共享的对称密钥K,所以它修改不了上一个节点发送给它的应答数据包p中的信息。(2)试图删除上一个节点发送给它的应答数据包p中的数据信息,同样因为恶意节点n没有节点n与BS 共享的对称密钥K,所以它删除不了上一个节点发送给它的应答数据包p中的数据信息。(3)试图不发送自己转发源节点的数据包个数给BS,即直接把收到的上一个节点的应答数据包p转发给它的下一个节点n,在这种情况下,根据算法2,当BS 用与恶意节点n共享的对称密钥K试图解密应答数据包p时,由于恶意节点没有发送应答数据包,不能正确解密出应答数据包p,因此可以确定节点n就是恶意节点。(4)试图发送一个虚假的数据给BS,试图干扰恶意节点的检测。比如,恶意节点发送一个远远小于实际转发了源节点数据包个数的值给BS,根据恶意节点定位算法2,BS 能正确定位到恶意节点和它前一个节点组成的恶意链路;同样,恶意节点也可以发送一个远远大于实际转发了源节点数据包个数的值给BS,根据恶意节点定位算法2,BS 能正确定位到恶意节点和它后一个节点组成的恶意链路。

综上所述,本文提出的LSFAD 方案能抵抗恶意节点发起的被动选择性转发攻击和主动选择性转发攻击。

5 性能分析

本文将从通信开销和存储开销等方面对本文提出的LSFAD方案与文献[6,17-18]提出的方案进行分析比较,并对选择性转发攻击路径检测概率进行分析。由于本文方案假设基站的计算、存储和通信能力都不受限制,在此不讨论基站的通信开销和存储开销。

5.1 通信开销

本文分析由恶意节点检测造成的通信开销,并把每个节点需要转发或发送的数据包数量作为衡量通信开销的指标。文献[6]提出的PHACK 方案是基于多跳确认的检测方法,转发路径上的每个节点除了转发正常数据包外,为了检测定位到恶意节点,还需要为转发的每个数据包产生一个确认数据包,并沿不同路径发回给源节点,假设一个源节点一次发送个数据包,在PHACK 方案中,每个节点的通信开销为2。在文献[17]提出的CLAIDS 方案中,假设每个节点有个邻居节点,一个节点给它的每个邻居节点发送个数据包,则它的每个邻居节点需要返回个确认包,因此,在CLAIDS 方案中,每个节点的通信开销为2×。而在文献[18]提出的DSFLACQ 方案中,假设每个节点有个邻居节点,一个节点给它的每个邻居节点发送个数据包,则它的每个邻居节点只需要返回1 个确认包,因此,在DSFLACQ 方案中,每个节点的通信开销为(+1)×。本文提出的LSFAD 方案既不需要邻居节点监听,也不需要发送确认数据包给源节点,攻击路径的检测是由基站完成的,假设基站收到源节点发送的个数据包后检测到攻击路径,路径上的每个节点将依次从源节点开始沿转发路径发送一个统计数据包给基站进行恶意节点定位,因此,在本文提出的LSFAD 方案中,每个节点的通信开销为+1。表4描述了本文提出的LSFAD 方案与CLAIDS 方案、DSFLACQ 方案和PHACK 方案的每个节点需要的具体通信开销。从表4 中可以看出,本文提出的LSFAD方案的通信开销要远远小于其他方案的通信开销。

表4 通信开销比较Table 4 Comparison of communication overhead

5.2 存储开销

在文献[17]提出的CLAIDS 方案中,每个节点需要为它的所有邻居节点维护一张表,包括5 个字段,其中,能量大小字段占4 Byte,转发包的数量字段占2 Byte,接收到的确认包数量字段占2 Byte,通信质量字段占4 Byte,检测阈值字段占4 Byte,因此,CLAIDS方案的每个节点存储开销为16,表示邻居节点个数。文献[18]提出的DSFLACQ 方案在CLAIDS 方案的存储需求基础上增加两个字段,其中,正常丢包率字段占4 Byte,滑动时间窗口存储的通信质量字段占4,表示滑动时间窗口的长度,因此,DSFLACQ方案的每个节点存储开销为(20+4)×。在本文提出的LSFAD 方案中,路径上的所有中间转发节点都需要维护一张数据包源节点转发表(DFT),如表2所示。DFT 表有两个字段,假设Source_ID 字段占2 Byte,ForWord_Count 字段也占2 Byte,假设网络中总共有个节点,每个中间转发节点最多情况下可以转发-1 源节点的数据包,因此在LSFAD 方案中,每个节点的最大存储开销为4×(-1)。表5 描述了本文提出的LSFAD 方案与CLAIDS 方案、DSFLACQ 方案的每个节点需要的具体存储开销。从表5 中可以看出,本文提出的LSFAD 方案的每个节点的最大存储开销要大于其他方案的存储开销,因为LSFAD 方案的每个节点最多情况下可以转发-1 源节点的数据包,所以最大情况下需要维护-1 个节点的一张表,而CLAIDS 方案和DSFLACQ 方案只需要维护它的所有邻居节点的一张表。

表5 存储开销比较Table 5 Comparison of storage overhead

5.3 选择性转发攻击路径检测概率分析

在不考虑链路正常丢包的情况下,假设恶意节点丢弃数据包的概率为,源节点发送次数据后,基站能够检测到路径上存在恶意节点丢包行为的概率为:

设为恶意节点丢弃数据包后被基站检测到的次数,显然服从参数为,的二项分布,即-(,),的分布律为:

因此基站能够检测到路径上存在恶意节点丢包行为的概率为:

即式(6)得证。

6 仿真实验

本文从恶意路径检测概率、恶意节点定位概率和能量消耗等方面对LSFAD 方案的性能进行仿真评估。仿真实验环境在OMNeT++平台上进行,100 个节点随机分布在500 m×500 m 的正方形区域内,每个节点都被分配一个唯一身份ID,每个节点的通信范围为90 m,节点部署之后将不再移动,基站部署在区域的中心位置。随机选取网络的一些节点作为数据源节点和恶意节点,其他节点作为中间转发节点。数据源节点每隔1 s 通过多跳的方式向基站发送一次数据,每个数据包的长度为256 Byte。每个节点的初始能量为1 J,发送和接收能耗为50 nJ/bit。当恶意节点成为中间转发节点后,它将以0.2~0.8的概率故意丢弃它要转发的数据包。对于每个设置的参数,取仿真100次得到的平均值。实验仿真的参数设置如表6。

表6 实验仿真参数Table 6 Experimental simulation parameters

当基站收到源节点发送的数据包,它将执行算法1 检测选择性转发攻击路径,它按式(1)计算当前路径的平均丢包率,按式(2)计算当前路径的正常丢包率,如果路径的平均丢包率大于路径的正常丢包率,则表示当前路径上存在选择性转发攻击。图1描述了链路正常丢包率分别为0.005、0.025、0.045、0.065、0.085 和0.105,恶意节点丢包率分别为0.2、0.4、0.6 和0.8,路径中只有一个恶意节点时,路径的正常丢包率和平均丢包率的情况。从图1 中可以看出,当链路正常丢包率小于0.1 时,路径的平均丢包率都在路径的正常丢包率上方,表示路径的平均丢包率大于路径的正常丢包率,也即表示当链路正常丢包率小于0.1 时,路径上的恶意节点分别以丢包率等于0.2、0.4、0.6 和0.8 发起的选择性转发攻击路径都能被检测到。从图1 中可以看出,检测出选择性转发攻击路径的概率与链路正常丢包率和恶意节点的丢包率有关。链路正常丢包率越低,选择性转发攻击路径检验成功的概率越高;恶意节点的丢包率越高,选择性转发攻击路径检验成功的概率相对越高。

图1 只有一个恶意节点的路径正常和平均丢包率Fig.1 Normal packet loss rate and average packet loss rate of path with only one malicious node

图2 描述了在不同链路正常丢包率的情况下,路径中有多个恶意节点的路径正常丢包率和路径平均丢包率的情况。图2(a)、图2(b)和图2(c)分别表示链路正常丢包率分别为0.005、0.045 和0.085,路径中的恶意节点个数分别为1、2、3、4,恶意节点丢包率分别为0.2、0.4、0.6 和0.8 时,路径的正常丢包率和路径的平均丢包率的情况。从图2(a)、图2(b)和图2(c)可以看出,在链路的正常丢包率分别为0.005、0.045 和0.085 的情况下,路径的平均丢包率都大于路径的正常丢包率,也即表示在链路的正常丢包率分别为0.005、0.045 和0.085 的情况下,路径上的多个恶意节点分别以丢包率等于0.2、0.4、0.6 和0.8 发起的选择性转发攻击路径都能被检测到,并且随着路径上恶意节点个数的增加,路径的平均丢包率都大于路径的正常丢包率。图2(d)表示在链路正常丢包率为0.125 的情况下,路径中有多个恶意节点的路径正常丢包率和路径平均丢包率的情况。从图2(d)可以看出,即使当链路的正常丢包率为0.125,路径上的多个恶意节点以大于0.21 的概率发起的选择性转发攻击路径都能被检测到。从图2 可以看出,随着路径中的恶意节点个数的增加或恶意节点丢包率的增大,选择性转发攻击路径检测成功的概率越高。

图2 有多个恶意节点的路径正常和平均丢包率Fig.2 Normal packet loss rate and average packet loss rate of path with multiple malicious nodes

图3 描述了在不同链路正常丢包率和不同路径长度的情况下,路径中含一个恶意节点的路径正常丢包率和路径平均丢包率的情况。从图3(a)、图3(b)和图3(c)可以看出,在链路正常丢包率分别为0.005、0.045 和0.085,路径中含一个恶意节点的情况下,当恶意节点以不同的丢包率发起选择性转发攻击时,路径的平均丢包率和路径的正常丢包率随路径长度的增加而增加,且路径的平均丢包率都大于路径的正常丢包率,也即表示在链路正常丢包率分别为0.005、0.045 和0.085,路径长度分别为4、8、12、16 的情况下,路径上的恶意节点分别以丢包率等于0.2、0.4、0.6 和0.8 发起的选择性转发攻击路径都能被检测到。从图3(d)可以看出,即使在链路正常丢包率为0.125 的情况下,当路径长度小于12 或恶意节点的丢包率大于0.2,路径的平均丢包率大于路径的正常丢包率,都能成功检测到选择性转发攻击路径。

图3 不同路径长度下的路径正常和平均丢包率Fig.3 Normal packet loss rate and average packet loss rate of path with different path lengths

当基站发现某条路径存在选择性转发攻击,它将执行算法2 定位恶意节点。图4 描述了恶意节点在路径的不同位置的情况下,成功定位到恶意节点的概率的情况。从图4(a)可以看出,当恶意节点位于路径的第3 个位置,即=3,在链路正常丢包率分别为0.005、0.025、0.045、0.065、0.085 和0.105 的情况下,分别以丢包率等于0.2、0.4、0.6 和0.8 发起选择性转发攻击的恶意节点都能被成功检测定位到。从图4(b)、图4(c)和图4(d)可以看出,当恶意节点分别位于路径的第6、9 和12 个位置,链路正常丢包率大于0.025 时,分别以丢包率等于0.2、0.4、0.6 和0.8 发起选择性转发攻击的恶意节点都能被成功检测定位到。

图4 成功定位到恶意节点的概率Fig.4 Probability of successfully locating malicious node

图5 正常模式和检测模式下的能量消耗Fig.5 Energy consumption in normal mode and detection mode

7 总结

本文提出了一种轻量级的无线传感器网络选择性转发攻击检测方案(LSFAD),在LSFAD 方案中,基站记录每个源节点发送的数据包总个数以及这些数据包转发的路由路径,通过计算并比较路径的平均丢包率和路径的正常丢包率来判断当前路径是否存在选择性转发攻击。为了定位到路径上发起选择性转发攻击的恶意节点或恶意链路,基站计算每个节点的平均丢包率和正常丢包率,平均丢包率大于正常丢包率的节点和前一个节点组成的链路就是恶意链路。LSFAD 方案设计简单,不需要任何监听节点,不需要任何复杂的评估模型评估计算节点信任值,易于实现。LSFAD 方案还能抵抗恶意节点发起的被动选择性转发攻击和主动选择性转发攻击。性能分析及实验仿真结果表明,LSFAD 方案的通信开销要远远小于其他方案,LSFAD 方案即使当链路的正常丢包率为0.125,选择性转发攻击路径都能被检测到,当链路正常丢包率大于0.025,发起选择性转发攻击的恶意节点都能被成功检测定位到,并且网络在检测定位恶意节点的状态下消耗的能量与正常情况下消耗的能量相差不大。

猜你喜欢

包率数据包选择性
IP网络传输下的4K超高清视频质量监测分析
支持向量机的船舶网络丢包率预测数学模型
二维隐蔽时间信道构建的研究*
一种基于喷泉码的异构网络发包算法*
基于改进BBR的数据报拥塞控制协议①
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
选择性听力
C#串口高效可靠的接收方案设计
选择性××
选择性Bcl-2抑制剂ABT-199对乳腺癌细胞MDA-MB-231的放疗增敏作用