高朝营
(枣庄科技职业学院 信息处,山东 枣庄 277599)
随着WSN(无线传感网络)应用范围的拓展和应用场景的增多[1-2],网络中的数据传输类型呈现出多样化的发展趋势。在WSN 组网过程中,由于传感器节点等物理元器件的结构差异,以及网络工作环境、节点负荷要求的不同,导致网络节点及网络拓扑结构的异构化[3-4]。在实际应用中,HWSN(异构无线传感网络)的运用更为普遍[5]。HWSN的异构性主要表现在网络的拓扑结构异构性、节点类型异构性和节点功能的异构性。
HWSN 的多层次复杂结构在给使用者带来诸多便利的同时,也给网络带来了更大的安全隐患,即HWSN 网络更容易成为被攻击的对象[6-7]。对HWSN 实施动态化入侵检测,是确保网络安全的最有效措施之一。通过研究现有无线传感领域内的研究成果可知,针对HWSN 网络异常识别与入侵检测的方法主要是以人工智能和机器学习算法为主,如决策树、朴素贝叶斯、BP 神经网络等[8-11],但上述方法主要针对静态化的数据检测,在网络结构更为复杂及网络攻击类别更多样的HWSN 网络中,检测率、误检率等基础指标难以满足要求。因此,本文在机器学习算法的基础上提出一种经过改进和优化的主动学习算法,在异构网络环境下达到精确检测的目的。
HWSN 入侵检测的过程,主要通过实时监控HWSN 中传输数据状态来实现。主动学习算法的优势在于从主动安全预警和主动防护的角度跟踪和监控网络中的异常数据,并保护每台系统主机不遭受来自网络的恶意攻击。一般情况下,基于分类器的样本训练包含一部分冗余集合,只有通过对样本数据的合理引导和筛选,才能更好地发挥出分类器的最优分类性能。基于主动学习器模型的入侵数据检测与分类过程描述如图1所示。
图1 基于主动学习模式的HWSN入侵检测流程
异构网络环境下的数据格式包括文本、音频文件、视频文件、网页等。在传统静态网络检测模式下,算法的泛化能力较弱,无法应对复杂数据集的分析与检测,而在主动模型的监控下可以通过对整个学习过程的监督与反馈,有目的地采集到学习过程中最有用的样本资源,改善样本分类器的性能。本文在经典主动学习算法的基础上,基于SVM(支持向量机)工具,改进主动学习算法的泛化能力,进一步提高样本的分类性能。HWSN 网络主动学习算法模型η可以用一个五元组模型来表示:
式中,ς表示模型的主动分类器;F为查询功能函数;τ为分类中没有被标注的用户;s为已经被标注的样本集合;sx为未被标注的样本集合。
在初始化的学习阶段,从集合sx中选取少量样本,利用分类在被标注的样本集合s上训练,再利用查询函数确定未被标注的样本集合中是否存在异常的样本。在初始分类阶段,主动分类属于一种弱分类器,这就导致得到的样本规模较大。在循环学习阶段,当分类在样本集合s中更新后,分类器在更新后的样本中重复训练,直到迭代条件满足预设结果。随着样本规模的不断增加,分类器的性能需要随之提高。在经典的主动学习模式条件下,本文选用缩减泛化误差的方式确定有效样本的选择基准。如果用函数f(s)代表样本的真实标注结果,那么经过主动分类器ς判断后,可以获得更好的定位与分类效果。基于主动学习方法的检测过程可以描述为
其中,ρ(s)为样本检测的概率密度函数,通过对真实样本数据的分析,主动分类器能够带来更低的分类误差和更准确的数据分类结果。SVM 是一种高效的数据分类器,可以从平面空间拓展到三维立体空间。本文针对传统主动学习模型在异构网络条件下泛化能力不强的弊端,将SVM 分类算法引入到主动学习模型中以提高模型应对复杂数据集的泛化性能。SVM 分类器的优势在于改变了输入数据和输出数据之间单纯的线性关系。核函数的选择是SVM 分类算法的核心,对于非线性的映射关系问题,利用核函数将低维特征数据映射到高维空间,进而做模型的内积运算。由泛函数特征可知,如果某一种核函数ξ(xi,xj)满足三维空间的对应关系,则有:
在内积定理约束下,核函数ξ(xi,xj)具有空间对称性,即
式中,κ为取值为正的系数。
当待检测样本的维数增加时,计算的复杂度也随之增加,最终的主动学习分类器函数可表示为
SVM 分类器运算中应确定出模型核函数的矩阵,在对主动学习模式的改进和优化中也需要大量的矩阵迭代运算,使得经过SVM 算法改进后的主动学习模型在泛化能力和处理高维数据的能力方面得到改善。
HWSN 网络中的数据集具有复杂性、多源异构性和交叉融合性等特征,KDD 数据集、NSLKDD 数据集和NB15 数据集都是HWSN 系统中常用的数据集,异构无线网络中的待检测数据集通常包括如表1所示的特征。
表1 HWSN网络中异构数据集的特征
异构数据集中包括图片、音频、视频等大量的字符型数据,无法直接用于改进主动学习模型的训练和测试。因此,在针对目标数据集的入侵检测前,先对原始数据做无量纲化处理和归一化处理,步骤如下:
Step1:将特征数据集中的二进制记录、十六进制记录全部转换为十进制的数据,再将字符型数据转为数值型数据。
Step2:原始数据集记录中包括大约80%以上的冗余特征,会对后续的主动标签制定、特征分类等构成不利影响,增加了运算量,故应选择合适的属性特征基数作为阶梯自编码的特征输入标准,剔除冗余数据的干扰。
Step3:数据的归一化处理过程先将HWSN 中的剔除冗余的全部异构数据属性特征映射到固定的高维区间,以加快数据特征提取和模型运算的时间。
归一化的主要目的是消除异构数据属性特征值之间的过大差距,便于改进主动学习模型的分类检测。归一化处理后样本的量值特征分布区间为(0,1):
式中,f(x)的值表示数据集属性特征值x在分布区间的均值标注结果;min(x)和max(x)分别为属性特征值的最小值和最大值。
属性特征值识别是基于改进主动学习的异构网络入侵检测的关键环节,只有保持系统模型的低冗余度特征,才能更进一步地提高系统分类器的基础性能。完备度高的数据属性特征能够揭示出更多任务统计量之间的内在关系,数据的分类检测在低冗余度的条件下能够获得更精确的检测效果。
HWSN 网络中的多维度、多结构的特征数据存在密切的相关性,如果数据的冗余度过高,会过多地占用系统的内存资源,影响改进主动学习模型的数据处理时间与分类学习效率。因此,数据集经过预处理后还要将高维做降维处理以改善模型的学习性能。将待检测的数据集分为平衡测试数据集和训练集,基于改进的主动学习算法提取测试数据集的特征并标注,重新进行特征筛选。检测开始后先对数据集整体做预处理,并划分为训练集D1和测试集D2,在异构数据训练中保持数据全部被转换为数值型数据。重置特征权重至零,从D1中随机选取样本R,并在相同的训练集中选取k个临近的样本Hj,对重置后的样本特征属性重新赋权,对比数据集特征的特征序列号及特征函数,用于对待检测数据集的入侵特征进行检测,总体的检测过程如图2所示。
图2 基于主动学习算法的入侵检测流程
选择合适的特征值采样方法能够从一定程度上改善测试数据集中的不平衡现象,有助于数据分类效果的改善。在入侵数据特征提取中,利用主成分分析法构建网络模型,模型的神经元结构数量逐层减少,因此能利用改进主动编解码的特性,达到对原始数据结构非线性降维的目的。主成分分析法是一种主动式、无监督的复杂数据特征提取方法。主成分分析通过对入侵数据的正交变换检测,将复杂的非线性数据转换为线性无关向量,转换后的数据不仅维度降低,还保留了原有的数据特征,促使不同类别数据之间的差异更加明显。将待检测的数据集用矩阵X表示,集合中数据总数量为n,维度为d,变换向量为β,则数据最大区分度条件下最优的变换向量表示为
其中,为数据集矩阵X行向量的均值,用主成分分析法描述各数据特征的均值和方差,通过特征分析得到首个主成分,通过对ζ的特征分解,以此类推得到d空间的主成分向量{β1,β2,…,βd},将向量纵向排列构成变换后的转置矩阵,即可得到降维后的数据样本,正常数据与异常入侵数据差异特征更明显。
本文设计的仿真实验中选用了更权威、可信度更高的NSL-KDD 数据集。首先,NSL-KDD 数据集的数据总量更大,能够保证获得较好的数据训练效果;其次,鉴于仿真环境下实验条件的限制,使用的数据来源于更权威的数据集,能保证检测结果的多样性;另外,NSL-KDD 数据集包括复杂的多元异构数据,有助于区分不同检测算法的检测性能。训练集和测试集入侵数据的类别及数量,分别如表2和表3所示。
表2 训练集的数据类别和数量
表3 测试集的数据类别和数量
获取数据集后,按照上面的步骤使用Python库工具读取文件格式,并对数据集做预处理和数据特征值的数值型转化。最后对训练集和测试集做特征的归一化处理,消除量纲的影响。仿真实验中使用到的Python库工具类型如表4所示。
表4 仿真实验中Python库的类型
HWSN 网络入侵检测仿真实验的软、硬件环境设置如表5所示。
表5 仿真实验的软硬件环境设置
评价HWSN 网络入侵检测数据识别效果的主要指标包括检测率、召回率、分类正确率、误报率、漏报率等。考虑到HWSN 的多源异构特性,本文主要选择的衡量指标为检测率和召回率,指标评价的矩阵标签的定义如表6所示。
表6 矩阵标签的定义
按照矩阵标签的定义规则,检测率和召回率指标的定义规则如下:
在测试集环境下,验证本文提出的基于改进主动学习方法的检测率指标变化水平和召回率指标变化水平,同时引入3 种传统异构网络入侵检测方法参与对比,统计结果如图3和图4所示。
图3 多攻击类型下入侵检测数据集检测率水平对比
图4 多攻击类型下入侵检测数据集召回率水平对比
统计指标结果显示,无论是检测准确率还是召回率,主动学习入侵检测的效果都要显著优于传统方法。其中,4 种攻击类型的检测率指标达到98.82%,召回率指标达到99.13%,远高于传统的3种入侵检测方法。检测结果证明,在HWSN 的网络环境下,多元异构数据、复杂的节点拓扑结构等因素都会导致检测算法的性能下降。但是,基于动态标签的定位和检测方法的分类效果更好,尤其是将SVM 算法与主动标签定位的结果,将分类性能拓展到三维空间,避免了由于待检测数据维度升高而带来计算复杂度的提高的情况出现。
入侵检测的训练时间也是衡量检测算法性能的重要指标之一,如果HWSN 网络的规模较大,或数据复杂程度较高,算法的训练效率也会影响到最终的入侵检测结果。分别以表2和表3中的入侵检测训练集和测试集为研究样本,分析不同训练数据量完成比例条件下各算法的训练耗时和检测耗时,测试结果如图5和图6所示。
图5 训练集入侵检测训练时间对比
图6 测试集入侵检测测试时间对比
从训练集的训练时间来看,当训练数据规模从20%增加到100%时,文中提出的改进主动学习入侵检测算法的训练时间增长最慢,这主要是由于主动分类器的标签定位效率更高,且引入SVM 算法后强化了主动学习算法数据分类性能,获得了更高的分类效率;而3 种传统算法的训练耗时在相同的完成比例条件下,都要高于改进主动学习算法,其中神经网络算法的性能表现最差。从HWSN 网络入侵检测集的检测时间变化趋势来看,由于测试集的规模较小,各算法的总体耗时都有所减少,但改进主动学习算法在测试时间控制上仍具有一定的优势。
HWSN 在网络拓扑结构、数据类型和数据结构复杂程度等方面都要高于传统无线传感网络。为了改善传统检测方法动态检测性能弱,检测耗时和训练耗时过长的问题,本文提出一种改进的主动学习检测算法。经过SVM 算法的优化,入侵检测性能会得到进一步的改善,仿真实验结果也验证了该改进算法的有效性和适用性。