基于分布式压缩感知的WSNs异常节点检测

2019-05-16 07:39康海燕
关键词:时隙电量损耗

孙 璇,康海燕

(北京信息科技大学 信息管理学院,北京 100192)

0 引言

无线传感网(wireless sensor networks, WSN)是由大量廉价、低能量传感器节点组成的典型分布式网络,通常部署于大规模区域监测环境和收集相应的信息[1-2]。然而,WSN中的节点一般分布在危险或者环境恶劣等无人值守的区域,易被物理捕获而遭受恶意攻击。WSN面临的威胁不单单是外部攻击者对网络发起的攻击,网络内部也有可能出现妥协节点从而发起内部攻击;另外,节点出于节约自身能源的目的也会产生一系列自私行为[3]。因此,如何去评测、识别并剔除内部异常节点是WSN亟待解决的问题。

针对WSN的协议层,其攻击类型可分为物理层攻击、链路层攻击、网络层攻击、传输层攻击和应用层攻击[4]。不同协议层、不同攻击类型所对应的检测、防御机制不同,但是大部分的WSN攻击都会使网络出现节点资源耗尽的现象。如链路层的能源耗尽攻击,攻击者伪装成网络中的合法节点,不停对目标节点发送数据包,目标节点只能不停地回复清除发送的数据包而不能休眠,最终导致目标节点能源耗尽[5]。除此之外,网络层的虫洞攻击、邻居发现攻击、传输层的ICMP泛洪攻击、Synflood攻击等,都会使得网络出现部分节点能源快速耗尽的问题[6-8]。因此如何能够快速准确识别出WSN中的电量消耗过快的节点,是发现WSN中存在攻击事件并及时作出响应的有效途径。

分布式压缩感知(distributed compressed sensing, DCS)[9]是D. Baron提出的一种利用感知数据之间的相关性,对感知数据进行高效压缩观测、合理稀疏表示的数据融合方法,一经提出就引起极大关注并广泛应用于联合稀疏信号分析处理领域。分布式压缩感知能充分挖掘信号内和信号间的相关性,其压缩采样的核心基础是信号集的联合稀疏。针对分布式压缩感知不同应用场景,D. Baron设计了3种信号联合稀疏模型(joint sparsity model, JSM),即JSM-1、JSM-2和JSM-3。并针对3种模型分别给出了对应的数据重构算法。

本文提出一种基于分布式压缩感知的WSN异常节点检测算法。以WSN中节点在检测周期内多个检测时隙的电量损耗向量集作为采集数据,并根据其在时域中的强相关性建立联合稀疏模型。基于这个联合稀疏模型进行分布式压缩感知。通过分布式压缩感知的数据重构算法,对电量损耗向量集进行联合重构,通过对重构结果进行分析判决从而发现网络中的异常节点。

1 相关工作

1.1 联合稀疏模型

分布式压缩感知的基础是联合稀疏。即深度挖掘多个原始信号之间的相关性,并有效减少整体的采样点数。D. Baron在研究中,提出了3个可用的联合稀疏模型,都是分别针对实际问题中可能会遇到的应用场景总结出来的。

1)第一联合稀疏模型(JSM-1):通用部分+特征部分。在第一联合稀疏模型中,信号集中的每个信号都由通用部分和特征部分2个部分构成。通用部分是指信号集中的每个信号相同(或非常近似)的部分,特征部分是指信号集中每个信号私有的部分,每个信号的特征部分可能都不相同。假设信号的通用部分和特征部分都在同一个稀疏域上具有稀疏特性,理论证明,可以通过基于l-范数优化问题的重构算法对信号集中的每个信号进行联合重构。

按照第一稀疏模型,信号集中每个信号都可以表示为稀疏的通用部分和特征部分的加和,即可以表示为

Xj=ZC+Zjj∈{1,2,…,J}

(1)

式中:Xj为信号集中的信号;Zc为稀疏的通用部分;Zj为信号集中某信号的特征部分。

2)第二联合稀疏模型(JSM-2):通用稀疏基。第二联合稀疏模型假设信号集中的每个信号都在同一组基上具有稀疏性。而且每个信号映射到该组稀疏基之后,非零系数的位置都是一样的,只是非零系数的幅度会有不同。

在第二联合稀疏模型中,信号集中的所有原信号都可以在一个稀疏基下表示:

Xj=ΨΘjj∈{1,2,…,N}

(2)

其中,每个信号的非零系数标号都是一样的,每个原信号Xj的稀疏度都是K。简单地说,本模型构造的原信号都是稀疏基Ψ中的任意K个基向量线性组合,只是每个信号的基向量的系数可以不同。

3)第三联合稀疏模型(JSM-3):非稀疏通用部分+稀疏特征部分。第三联合稀疏模型由非稀疏的通用部分和稀疏的特征部分构成。第三联合稀疏模型可以看作是第一联合稀疏模型的扩展,因为信号集中的信号构成是相同的,只是其通用部分不是稀疏的。第三联合稀疏模型中的信号可以表达为

Xj=ΨΘjj∈{1,2,…,J}

(3)

由于通用部分不一定是稀疏的,所以对第三联合稀疏模型而言,不能分别对原信号的通用部分和特征部分进行重构,而只能利用联合重构的算法。

1.2 分布式压缩感知

研究表明,在WSN中应用压缩感知或分布式压缩感知技术能有效降低网络中的数据传输能耗、延长网络的工作寿命。然而,现有的研究成果主要基于CS/DCS实现WSN中簇内成员的数据采集。文献[10]面向分簇WSN,提出层次化分布式压缩感知,利用簇内联合稀疏模型描述簇内成员采集数据的时间相关性与空间相关性,利用簇间联合稀疏模型描述同一检测区域内各簇采集数据的空间相关性;文献[11]研究CS与分簇算法的融合,在分簇算法的基础上应用CS技术压缩簇内成员采集的数据,减少网络中的数据传输量。

WSN遭受到各种网络攻击时,根据节点在检测周期中多个检测时隙的电量损耗向量数据在时域具备强相关性的特征,建立联合稀疏模型进行分布式压缩感知,能够合并多个时隙的感知结果,从而实现联合重构。

本文将分布式压缩感知应用于解决WSN的能耗异常节点发现问题。将时间轴分为连续的检测周期,每个检测周期又划分为多个检测时隙。在每个时隙内,都采用压缩感知方式对节点能耗进行感知。在每个检测周期结束时刻,合并多个时隙的感知结果,采用分布式压缩感知的恢复方法——DCS-SOMP对每个检测时隙的采样数据进行恢复,并作出合理判决。

2 检测算法

本节首先给出遭受网络攻击的WSN网络模型,然后对WSN检测周期中的电量损耗向量集进行联合稀疏性分析。从而基于电量损耗向量集进行分布式压缩感知,最后通过DCS-SOMP对每个检测时隙的采样数据进行恢复,并作出合理判决。

2.1 网络模型

遭受攻击的WSN网络模型如图1所示。

图1 遭受攻击的WSN网络模型

假设WSN的监测范围是一个N×N的方形区域,此区域被均匀分成了N2块大小相等的子区域,传感器节点随机分布在这些子区域内,每个子区域最多存在1个传感器节点。用方阵G(N×N)记录每个子区域传感器节点在前一检测时隙的电量损耗,如果某子区域不存在传感器节点,则对应元素标记为0。

监测区域中因为可能遭受各种协议层攻击,所以网络中有异常节点存在。本算法关注电量损耗过快的异常节点,如图1中标示的星型节点。方阵G(N×N)中,电量损耗的异常节点相应位置元素的值会明显大于正常节点。本文将方阵转化成向量的形式来表示整个区域中传感器节点的电量损耗,即:

VN2×1=(g11,…,g1N,…,gN1,…,gNN)T

(4)

2.2 系统模型

图2为异常节点检测的一个检测周期i的模型。

图2 异常节点检测周期

假设在检测周期i中,包含J个检测时隙,且WSN遭受攻击时,传感器节点的变化是慢变,因此在每个检测周期中,节点遭受攻击影响所引起的电量损耗变化即为慢变。J个时隙的节点电量损耗向量都是强相关的,且J个时隙的节点电量损耗向量共享同一组稀疏基,只是由于不同的随机因素影响,不同的时隙的节点电量损耗向量的幅值可能有所不同。因此,可以采用JSM-2模型的分布式压缩感知算法来实现对检测周期i中J个时隙的电量损耗向量集进行联合重构。

2.3 分布式压缩感知过程

图3为某检测周期中2个检测时隙的电量损耗数据集。

图3 电量损耗数据集

从图中可以看出,受某种WSN网络攻击影响,网络中被影响的节点的电量损耗明显大于其它正常状态传感器节点。同一检测周期中,因为时间很短,节点状态属于慢变。在连续的2个检测时隙中,电量损耗异常的节点位置不会发生改变,只是幅度会有所不同。因此这2个检测时隙的节点电量损耗向量之间共享同一组稀疏基,具有联合稀疏特性,符合JSM-2模型的描述,可以采用JSM-2模型的分布式压缩感知算法来对检测周期i中J个检测时隙的节点电量损耗向量集进行联合重构。

假设在检测时隙j的节点电量损耗向量为xj,有:

xj=Ψθj

(5)

其中θj仅在公共稀疏集Ω⊂{1,2,…,N},|Ω|=K上面非零。Ψ是稀疏转换矩阵,因为电量损耗向量在时域稀疏,因此Ψ=I。

2.4 信号重构

在每个检测时隙对电量损耗向量进行压缩感知方式压缩采样,在第j个检测时隙的采样结果为

yj=Φjxj=ΦjΨθj

(6)

式中Φj为对第j个检测时隙的测量矩阵。

根据分布式压缩感知理论和JSM-2模型,对于一组具有通用稀疏集的J个信号可以使用快速算法对所有信号进行联合恢复。D. Baron等[12]提出了一种适用于分布式压缩感知的数据重构算法,称为DCS-SOMP。算法步骤如图4所示。

图4 DCS-SOMP数据重构

②挑选余量在其上的投影幅度之和最大的字典向量,并将其编号加入到挑选的编号集里面:

(7)

(8)

③正交化。使所选的基向量与已有的所有字典向量正交:

(9)

④迭代。更新所选向量和余量的系数:

(10)

(11)

⑤检验汇聚结果。如果对所有的j都有‖rj,l‖2>ε‖yj‖2,则l+1并返回步骤②;否则,到步骤⑥。参数ε决定算法汇聚的目标误差水平。另外,由于步骤③正交化的原因,算法最多迭代M次。

⑥解正交化。根据Γj=[rj,1,rj,2,…,rj,m]和Φj的关系,对其进行QR分解:

(12)

(13)

(14)

2.5 异常节点判决

在检测周期结束时,根据对检测周期内每个检测时隙的节点电量损耗向量联合重构,利用多个检测时隙的重构结果进行异常节点识别。首先将重构的节点电量损耗数据集合并:

(15)

取η为异常节点能量损耗门限,若D中存在高于门限η的元素,则该元素编号对应的节点为能耗异常节点,应在下一数据收集周期中进行剔除。当节点在某检测周期的电量损耗高于η则认为该节点为异常节点。

3 仿真

对本算法在不同正常节点电量损耗均值和不同随机测量个数的异常节点个数条件下的异常节点检出率变化情况进行仿真,从而验证本算法的性能。仿真工具选用MATLAB 2014b。仿真分为两部分,第一部分为在不同节点电量损耗均值条件下验证算法的检测概率;第二部分为在不同测量个数的条件下验证算法的检测概率。通过仿真验证本算法在不同条件限制下的检测概率变化情况。

假设节点按照网格部署。用方阵G(N×N)记录每个子区域传感器节点在前一检测时隙的电量损耗。

3.1 不同节点电量损耗均值条件下的算法性能

因为正常电量损耗均值会影响被测节点电量损耗向量的稀疏度,因此需要通过仿真观察不同电量损耗均值下的检测概率变化情况。在正常节点电量损耗均值(归一化)从0到1变化时,检测概率性能的变化趋势如图5所示。

图5 不同节点电量损耗均值(归一化)下的检测概率

仿真中假设节点电量损耗向量长度是1024,异常节点个数为5。在仿真中,假设检测周期可分为4个检测时隙,分布式压缩感知对每个检测时隙进行感知,随机测量个数为M=7。从图5中可以看出,本算法检测性能受正常节点电量损耗均值影响,正常节点电量损耗均值越大,正常节点与异常节点的电量损耗越接近,则算法重构越困难。正常节点与异常节点的电量损耗差越大,则算法重构概率越大。出现这种情况的原因在于DCS-SOMP算法受数据集稀疏度影响。当正常节点与异常节点的电量损耗差别不大时,数据集的稀疏度很差,通过DCS-SOMP算法重构困难。

3.2 本算法与传统压缩感知算法性能对比

图6为分布式压缩感知方式和压缩感知方式的性能对比。图中,随机测量数M指在每个检测时隙的随机测量的个数。可以看出,达到同样的检测概率,使用分布式压缩感知方式,可以降低每个检测时隙的采样成本。以检测概率0.9为例,使用分布式压缩感知方式,每个检测时隙仅需要7个随机测量,而传统压缩感知方式则需要接近15个随机测量。因此,利用分布式压缩感知和信号间的联合稀疏性,能够比传统的独立压缩感知进一步降低采样数,同时也能够达到所需的重构概率。

图6 不同测量数M下的检测概率

4 结束语

为研究分布式压缩感知用于解决WSN异常节点检测问题,提出一种基于分布式压缩感知的无线传感网异常节点检测算法。利用节点电量损耗向量集的联合稀疏性,采用压缩感知方式对节点电量损耗向量进行感知并通过DCS-SOMP算法作出联合判决。通过仿真验证了算法的合理性。本算法可以利用信号集间的联合稀疏性进一步降低数据收集的采样点数,节省网络电量消耗和通信资源。在被测数据集符合联合稀疏特性的条件下,能够以较高概率实现节点电量损耗向量的重构,识别出网络中的异常节点,从而保证WSN的稳定性并延长网络生命周期。

猜你喜欢
时隙电量损耗
储存聊天记录用掉两个半三峡水电站电量
基于阵列天线的数据时隙资源比例公平动态分配方案设计
核电厂主泵专用变压器1级能效限值推算
多工况下永磁电机损耗研究分析
三电平ANPC变流器损耗平衡的SVPWM策略
基于时分多址的网络时隙资源分配研究
5G传播损耗及链路预算
Link—16中继时隙自适应调整分配技术研究
一种车载网络中基于簇的时隙碰撞解决方法
节假日来电量预测及来电量波动应对策略