钟敦昊,张冬梅,张玉
(北京邮电大学计算机学院,北京100876)
摘要:由于无线传感器网络的工作环境存在不可靠性,其安全问题越来越被研究者重视。
虽然数据加密和身份认证技术的应用提高了无线传感器网络的安全性,但仍然无法及时有效地检测出已对无线传感器网络造成威胁的恶意入侵行为。为了解决这一问题,文章针对Zigbee无线传感器网络的应用层的感知数据篡改、网络层的RREQ泛洪攻击、链路层碰撞攻击和物理层的信道干扰4种入侵行为,提出了一种基于相似度计算的无线传感器网络实时入侵检测算法。该算法通过马氏距离计算入侵行为和正常行为之间的相似程度,并采用线性拟合算法对可疑行为进行趋势评估,以检测异常入侵行为。最后通过搭建真实的Zigbee网络入侵检测环境验证了该算法的可用性,并能达到预期的效果。
0引言
随着无线传感器网络( Wireless Sensor Network,WSN)的蓬勃发展,这种具有易于部署、低复杂度、高性价比、低功耗等优势的网络技术已在军事、医疗、生活等各个领域中得到了普及和应用,但也暴露出许多安全问题。针对无线传感器网络的入侵行为能够造成网络瘫痪、数据欺骗等安全问题,并能给网络带来巨大破坏。这成为无线传感器网络普及应用的重要障碍,所以无线传感器网络入侵检测问题受到国内外越来越多的研究人员的重视。
在无线传感器网络入侵检测的研究中,基于相似度计算的入侵检测方法已成为近年来研究工作的重点。中BORAH等人对检测数据进行哈希计算,然后应用基于欧式距离的K均值( K-Means)聚类算法进行恶意行为检测。MA等人使用基于欧式距离的K邻近( K-nearest neighbor)聚类算法,通过投票系统来检测恶意行为。YI等人使用核算法(Kernel Function)对支持向量机进行改进,通过每个特征与超平面之间的欧式距离来计算恶意行为的可能性。TAN等人对正常特征和入侵特征进行了比较和分析,利用分析结果对数据进行特征提取,最后基于欧式距离检测入侵行为。SINGH等人采用基于欧式距离的K邻近算法作为分类器,对正常行为和恶意行为进行分类,从而能够检测出入侵行为,该文章提出可以使用其他相似算法代替欧式距离,如马氏距离。CHOU等人使用基于欧式距离的模糊C均值聚类算法对入侵行为进行聚类来判别入侵行为。以上检测方法均采用基于相似度的算法并使用训练数据对检测系统进行训练,通过聚类或分类等算法来分析入侵行为,能够较为准确地检测出入侵行为。但是这些检测方法只通过仿真数据进行了验证,未通过真实环境来验证其可用性,而且检测方法存在两点缺陷:1)检测系统的准确性过于依赖训练数据,且无法适应新数据的变化,容易产生误检;2)采用欧式距离作为相似度的计算方法忽略了不同特征对计算结果的影响程度,将属性不同的特征同等对待,导致数值较大的特征对计算结果的影响较大,无法完全体现整个特征向量的真实属性。
本文针对现有入侵检测系统存在的缺陷,提出了一种基于马氏相似度计算的实时入侵检测方法。该方法使用马氏距离作为衡量特征向量间相似程度的标准,以实时数据作为测量样本,通过协方差矩阵对特征值进行归一化处理,消除不同特征的尺度对计算结果的影响,有效地防止了测量尺度较大的特征对计算结果产生过大影响。此外,提出等级判别标准,将网络行为进行等级区分,并对可疑行为与实时数据进行趋势判别,通过分析可疑行为与实时数据之间的趋势关系来减小检测的误检率和漏检率。最后,通过真实网络环境来验证该算法的可用性。
1入侵检测模型描述
基于相似度计算的入侵检测算法是一种连续、实时的检测算法。该算法通过分析网络环境中的实时行为特征来区分入侵行为和正常行为,弥补了监督学习模式下过于依赖训练库的缺陷,通过对原有的相似度判别模型进行改进,提出一种新型的基于相似度算法的检测方法,使得该检测方法能够更好地适应网络环境的变化。该入侵检测模型示意图如图1所示。该入侵检测模型根据现有的实时数据建立实时特征库,通过比较最新数据与实时特征库之间的相似关系判别入侵行为。此外,该模型加入了行为趋势的判别方法,即考虑整体网络环境的变化趋势,使得算法能够根据真实的网络环境变化智能地动态地调整检测方法,从而提高模型的适应性。其中,实时特征库代表网络在最近时期的正常行为特征和行为趋势,并随着正常行为数据的加入而不断更新,排除了旧数据对检测结果的干扰,从而提高算法的准确性并降低算法的误检率。
该模型共分为数值感知中心和数据检测中心两个部分,其中数值感知中心包括感知层特征提取模块,数据检测中心包括特征库模块,入侵检测模块和入侵行为库模块,体系结构如图2所示。数值感知中心的特征提取模块用于感知层节点对网络环境数值的实时采集并提取特征回传于数据检测中心。数据检测中心的特征库模块负责存储网络正常行为特征,并抽取实时特征库代表网络环境的正常行为基准,用于判别待检测的行为特征是否异常。入侵检测模块包括相似度检测单元和行为趋势检测单元,通过判别待检测特征和实时特征库之间的相似程度和行为趋势来检测入侵行为。入侵行为库用于存放入侵行为特征,避免入侵行为特征对特征库的影响,从而降低入侵检测的误检率。
在入侵检测模块中,对待检测的特征行为进行分级判别,将特征行为的标识分为三个等级,即红色警告行为、黄色警告行为和绿色行为。若待检测特征与实时特征库在相似度检测单元中的检测结果超过红色警告行为阈值,则将该特征值存人人侵行为库中;若待检测特征与实时特征库在相似度检测单元中的检测结果超过黄色警告行为阈值,则待检测特征进入行为趋势检测单元,判别该特征是否符合正常网络的行为趋势变化,若符合趋势变化,则将该特征存入特征库中,即为绿色行为,否则存人入侵行为库中。
2相似度算法
2.1特征的选取
入侵行为特征是无线传感器网络入侵行为的重要标识。为了提高入侵检测的准确度,本文描述的各种攻击特征参数,根据不同协议层的入侵行为,选择尽可能少且最具有代表性的入侵行为特征作为网络不同入侵行为的标识。具体入侵行为特征参见表1。
根据表1可知,应用层的感知数据篡改入侵主要是通过入侵节点侦听感知网络的感知数据包,并对感知数据进行修改后重组虚假数据包发送给入侵检测中心,导致入侵检测中心的感知数据中存在虚假数据。所以该入侵行为的主要行为特征就是感知数据值。本文以环境温度值作为应用层感知数据的主要特征。此外,该数据包由入侵节点冒充感知网络节点发送给入侵检测中心,可知入侵节点和正常网络节点的能量值存在一定的差异和变化,不符合节点能量电压递减的曲线变化趋势,所以节点能量电压也是一个重要的特征值。
网络层的RREQ泛洪入侵主要是通过入侵节点持续地向感知网络节点广播路由请求,消耗感知网络节点的能量,造成感知网络持续消耗不必要的能源,导致其工作时长变短,甚至无法提供正常服务。所以当网络存在RREQ泛洪入侵时,感知网络节点的RREQ接收比例、RREQ发送比例(包括转发次数)和RREQ错误比例将会高于正常比例。所以本文选择RREQ接收比例、RREQ发送比例和RREQ错误比例作为网络层RREQ泛洪入侵的主要特征标识。
链路层的数据包碰撞入侵主要是通过入侵节点实时侦听感知网络的数据包,当发现感知网络在传输数据时,立即发送无效数据包破坏其传输过程,造成感知网络节点发包失败。当感知网络存在链路层碰撞入侵时,节点发包的失败率将会不断升高,导致数据无法按时反馈给入侵检测中心。所以本文选择数据包的延迟时间作为链路层的数据包碰撞入侵的主要特征标识。
物理层的信道干扰主要分为持续性干扰、间歇性干扰和反应式干扰,三者都是发送大量的无效数据包阻塞目标网络工作信道,导致目标网络节点无法正常发包,使得入侵检测中心长时间无法收到感知网络反馈的数据。所以本文选择数据包的延迟时间作为物理层的信道干扰的主要特征标识。
综上所述,本文设定六维特征向量(温度值、延迟时间、能量电压、RREQ发送比例、RREQ接收比例、RREQ错误比例)作为网络行为的特征标识。
2.2马氏距离
令t时刻的特征向量为Xt,n为特征向量的维度,在f至t-ι时刻之间的特征向量构成特征向量矩阵Mι+ιxn=[Xt-ι,Xt-I+1,…,Xt]T,C为矩阵M∈Rι+1xn的协方差矩阵,C-1为矩阵C的逆矩阵,则f时刻的特征向量X与Xi(i∈[t-ι,t-l])之间的马氏距离Dis可以表示为公式(1)。
其中特征向量矩阵Mι+1xn的协方差矩阵为公式(2)。
由于协方差矩阵C存在不可逆的情况,所以采用广义逆矩阵(伪逆)C+代替C1。令C满轶,分解为C-AB,其中A∈Rι+1xr,B∈Rrxn,则C+求解如公式(3)。
2.3行为趋势判别算法
设Dj.g(Xr,Xi)为t时刻的特征向量Xt与Xi∈[t-ι,t-l])之间的相似度。若Dis(Xt,Xi)超出黄色警告行为阈值,需要计算Dis(Xt,Xi)趋势变化;若Dis(Xt,Xi)和时间f成反比,特征Xi符合趋势变化,则将特征Xt标记为绿色行为,即正常行为,否则标记为红色警告行为,即入侵行为。对于趋势的计算方法,本文采用常用的最小二乘法对
Dis(Xt,Xi),Xi(i∈[t,t-1])进行线性拟合。
令拟合后的直线方程为y:kx+6,其中k代表斜率,6代表截距,x代表时间点,y代表Xx与Xx的马氏距离。该拟合算法要求在[t-ι,t-1]时间段中,数据Dis(Xt,Xi)Xi(i∈[t-ι,t-1])与y的差值的加权平方和最小,如公式(4)所示。
对公式(4)中的k和6求偏导,得到方程组(1)。
根据方程组(1)得出k的最佳估计值为公式(5)。
根据拟合后的最佳斜率k来判别Xt是否符合Xi(i∈[t-ι,t-1])的变化趋势,若k>0,则说明Dis(Xt,X/),X(i∈[t-ι,t-1])随着时间的变化在不断增大,Xf违背了Xi(i∈[t-ι,t-l])的变化趋势;相反,若k≤0,则符合Xi(∈[t-ι,t-1])的变化趋势。
3入侵检测算法
基于本文第1部分提出的无线传感器网络入侵检测模型,根据无线传感器网络不同协议层的攻击行为特征,选择合适的网络数据特征和检测方法来检测网络中的入侵行为。基于本文第2部分描述的算法,在特征选择方面,根据攻击特征描述,提出了最具有代表性的六维特征向量X;在入侵检测模块中,采用马氏距离作为相似度检测单元的核心检测算法,采用线性拟合方法作为行为趋势检测单元的核心算法。算法的具体描述如下:
令f为数值感知中心特征反馈的时间点,n为特征向量的维度,即X代表f时刻的特征向量,,代表f时刻临时特征库G的特征数量,则Xt与G之问的马氏距离如公式(6)所示。
δ1,和δ2分别为黄色警告行为阈值和红色警告行为阈值( 0<δ1<δ2),k为dt,j线性拟合后的线性方程的斜率,即代表网络环境的行为趋势,则该入侵检测算法的检测流程如图3所示。
如图3所示,算法在初始化阈值δ1和δ2后,针对待检测的特征向量Xt提取实时特征库G,并计算二者的马氏距离,判别其相似程度。该算法将相似程度分为3个等级,分别为红色警告行为、黄色警告行为和绿色行为,每个等级通过阈值δ1和δ2进行划分。在[t-ι,t-1]时刻若存在时刻i,使得Xt与Xi,(i∈[t-ι,t-1])的相似度大于阈值δ2,说明特征向量Xt与Xi,(i∈[t-ι,t-1])的行为特征差异较大,网络中存在入侵行为,这时将特征向量X,判别为红色警告行为,并存人人侵行为库中。在[t-ι,t-1]时刻内若存在时刻f,使得Xt与Xi,(i∈[t-ι,t-1])的相似度存在一定差异,则有可能存在入侵行为或者代表着网络环境状态的变化趋势,这时需要计算[t-ι,t-1]时刻内实时特征库G的行为趋势,若Xt不符合Xi,(i∈[t-ι,t-1])的趋势变化,需将Xi标记为红色警告行为,存人入侵行为库中;反之标记为绿色行为,即正常行为特征,存入特征库中。在[t-ι,t-1]时刻内,若特征向量X与Xi,Xi,(i∈[t-ι,t-1])的相似度小于阈值δ1,说明X与Xi,(i∈[t-ι,t-1])的行为特征差异较小,属于正常行为特征,存入特征库中。
4算法测试与实验结果
4.1测试环境的搭建
本文实验采用Zigbee通信协议搭建两个网状结构的通信网络,分别为感知网络和入侵网络,其中感知网络包括1个协调器、3个路由节点和2个终端节点,负责感知环境的温度参数;入侵网络包括1个协调器和1个路由节点,负责入侵感知并实行攻击行为。实验环境如图4所示,其图中方框中的节点表示感知网络节点,圆圈中的节点表示攻击网络节点。感知网络和攻击网络的系统配置如表2所示。
4.2测试参数的配置
在入侵检测系统中,令检测阈值δ1为5.0和δ2为6.0,ι=30,感知网络每个节点上报周期T为Ss,上报次数为100次。入侵网络针对Zigbee每一层协议执行一种入侵行为,其分布如表3所示。
在感知网络中,每个节点需要提取数据特征并定期上报给数据检测中心。特征提取核心代码如代码1所示。
代码l
//温度特征提取
temp= Read_SHTIX(3);
temp= Shilx_dataTOTemp(temp);
TxBuf[39]= temp&OxFF;
TxBuf[40]= temp>>8;
∥电压特征提取
adcvalue= (signed short)ADCL;
adcvalue= (signed short)(ADCH<<8);
voltagevalue=《(adcvalue》4)*1.15)/2047);
∥数据包接收比例
RxRate= RxValidPachets/RxValidTotal;
//RREQ发送比率
RREQ_TxRate= RREQ_Send/RxValidTotal;
∥RREQ接收比率
RREQ_RxRate= RREQ_Rx/RxValidTotal;
//RREQ错误比率
RREQ_ErrorRate= RREQ_Error/RxValidTotal;
∥延迟时间特征以数据检测中心收到特征的时间为准。
4.3实验结果
图5所示为检测阈值δ1=5.0和δ2=6.0时,感知网络通信20次的相似度计算记录。从图5中可以发现在Timestep为14时,存在与前20次特征行为的相似度值超出阈值δ2的情况;Time step为5、7和8时,存在与前20次特征行为的相似度值超出阈值δ1的情况。我们选取其中Time step为7时的相似度计算记录进行趋势判别,如图6所示。对Time step为7时的相似度值进行线性拟合,得拟合方程y=-0.0063x+3.9994,可知斜率k=-0.0063x<0,说明Time step为7时的特征行为符合前20次特征行为的趋势,将该特征行为标记为绿色行为。
经过实验统计,使用马氏距离进行相似度计算的实时入侵行为检测结果如表4所示。从检测统计结果中可知,该算法能够根据实时数据很好地检测出入侵行为,有较高的准确率以及较低的错误率和漏检率。
5结束语
本文提出了基于相似度计算的实时入侵检测算法,该算法采用经典的马氏距离计算入侵行为与正常行为之间的相似度,使用线性拟合判别可疑行为以减小错误率和漏检率。该算法在实际环境测试中得到了有效验证,对入侵行为检测有较高的准确率和较低的错误率及漏检率,达到了实际环境的预期要求。