第一作者:刘明峰(1976—),男,山东临沂人,高级工程师,硕士. 研究方向为网络安全.email:zbseee@163.com.
为解决大多数Wi-Fi网络入侵检测方法实时性差、误报率高等问题,提出一种基于在线序列极限学习机(OS-ELM)的实时Wi-Fi网络入侵检测系统模型.首先,考虑到实验样本数据中正常与异常数据极不平衡的问题,采用SMOTE算法对数据样本中的异常数据和正常数据进行平衡处理操作,使分类器的分类效果不受样本数据集中多数类样本的影响.然后使用栈式降噪自编码网络(SDAE)对平衡后的数据进行降维,消除无关或冗余特征降低检测建模规模,避免维度灾难.最后,在AWID数据集进行处理并输入到OS-ELM分类器中,结果表明:与其他基于浅层学习算法的检测方法相比,所提方法可有效地精简数据特征,降低了检测时间,同时在检测精度和误报率方面也体现出了更优性能.
In order to solve the problem of poor real-time and high false alarm rate in Wi-Fi network intrusion detection, a real-time intrusion detection method based on Online Sequential Extreme Learning Machine (OS-ELM) is proposed. Considering the problem that the number of normal data and abnormal data in the experimental dataset is extremely unbalanced, the SMOTE technique is used to balance the sample dataset before classification using the classifier, so that the classification results of the classifier are not affected by the majority of the sample dataset. In order to eliminate the problem of strong correlation and high dimensionality between the data features, Stacked Denosining Auto Encoder(SDAE) network is used to reduce the dimension of the feature vectors. At last, the experimental data is processed on the AWID dataset and input to OS-ELM classifier. The experimental results show that comparing with other shallow learning algorithms, the proposed method can effectively simplify data features, and reduce detection time and false alarm rate which shows a better performance in detection accuracy.
随着无线局域网(WLAN)的广泛使用及Wi-Fi技术在硬件设备中的普及, 基于IEEE 802.11协议的短距离传输无线网络成为市场主流, 但其自身安全认证机制存在较大的安全隐患[1], 任何未知或非法用户都可通过无线接入点访问局域网, 同时, Wi-Fi网络传输速度快, 因此网络内要及时快速地对当入侵行为发出预警[2].因此, 提出一种实时的Wi-Fi网络的入侵检测方法以最大限度地检测出网络异常成为亟待解决的问题[3, 4, 5].
国内外学者提出了多种基于数据挖掘的入侵检测系统, 文献[6]提出一种基于关联规则挖掘Apriori算法的无线网络入侵检测系统ADAM.文献[7]将聚类划分思想融入到Apriori算法中, 以提高规则挖掘的效率.为了降低入侵检测算法的误报率.文献[8]提出一种基于稀疏自编码的非监督式入侵检测方法.针对特殊的攻击方式.文献[9]提出一种基于活跃熵的网络异常流量检测方法.虽然上述方法取得了良好的检测效果, 但其检测过程都是离线的, 因此无法将网络异常危害风险降至最低.此外, 现存方法的检测效果过强依赖训练数据, 这大大增加了检测系统的运行时间.文献[10]通过分析数据包包头结构生成特征数据, 并训练分类器对网络流量进行检测, 但没有考虑数据包载荷部分内容, 因此该系统无法检测出提权攻击或越权访问攻击, 同时训练分类器也增加了检测过程的时间开销.
在Wi-Fi入侵检测中, 常用的测试数据集有KddCUP99[11]和AWID[12], 两种数据集具有维数高, 数据关联性强的特点, 为了降低检测模型的复杂度, 可利用线性和非线性方法对数据进行约简, 线性方法有主成分分析(PCA)和线性判别分析等.文献[13]将PCA用于电网虚假数据注入攻击数据样本的降维.文献[14]采用CT-PAC约简人体活动识别样本数据, 两种方法均取得了良好的效果.但是, 若数据呈非线性, 上述方法则难以发现表示数据集的主要特征, 从而无法对数据进行有效约简.因此非线性约简方法成了研究热点, 并得到了较为广泛的应用.
本文作者提出一种基于在线序列极限学习机(Online Sequential ELM, OS-ELM)的Wi-Fi入侵检测方法.采用AWID数据集进行测试, 该数据集包含了主动攻击、被动攻击、中间人攻击等常见攻击, 但所含的攻击数据与正常数据数量相差很大.为处理数据不平衡现象, 在数据预处理阶段, 首先对数据样本进行归一化, 继而采用SMOTE算法进行数据平衡化.在训练分类器之前, 使用栈式降噪自编码网络(Stacked Denoising Autoencoder, SDAE)约简特征数据, 以降低建模复杂度.
本文所提的基于OS-ELM的Wi-Fi入侵检测模型实现过程如下:
1)为了方便计算, 将测试数据集和训练数据集进行归一化处理.
2)使用SMOTE算法平衡数据集, 生成正常数据与异常数据数量基本一致的数据集.
3)使用SDAE来对样本数据集中特征向量进行降维处理.
4)用处理后的数据集训练OS-ELM分类器, 并采用训练得到的分类器对网络入侵进行检测, OS-ELM训练过程可细分为如下步骤.①对OS-ELM隐含层节点随机分配权重和偏执.② 计算隐含层输出矩阵和输出权重, 进入在线学习阶段.③计算特定长度数据块对应隐含层的输出矩阵.④根据以上结果更新数据权重.
整个检测方法实现流程如图1所示 .
由于AWID数据集具有定性和定量两种类型的数据, 因此, 需先对数据集进行标准化处理.该过程中主要包括2个步骤:将符号值属性映射到数值, 即将符号属性映射到大于1的整数值.一些具有十六进制数据类型的属性也要提前转换为整数值.此外, 一些属性保留了连续数据类型, 数据集中还包括不可用标记(如“ ?” ), 这类标记在标准化处理中被置为0.将所有属性值转换为整数值之后, 还需对每个属性值都进行线性归一化, 将属性最终映射到0到1之间.则经过归一化的值为
真实Wi-Fi环境中正常数据包数和攻击数据包数比例极不平衡, 而不平衡的数据用于分类时会影响分类器的效果.因此, 本文采用SMOTE算法对标准化数据进行平衡处理[15].该方法可通过构造“ 人造” 的样本, 来减少多数类和少数类的不平衡现象, 其步骤如下:
1)从每个攻击样本的最邻近的
2)按照式(2), 将选取的
式中:
3)将通过式(2)计算得到的新样例加入到原始数据集中, 从而得到新的数据集.
自编码器(Autoencoder, AE)[16]结构分为输入层, 输出层及隐含层.隐含层神经元数量较少, 其中输入层和隐含层构成编码网络部分, AE在编码网络部分压缩数据.隐含层和输出层构成解码网络部分, AE在解码网络部分重构数据.其编码和解码过程如图2所示,
经过编码,
构建SDAE降维模型需要逐层贪婪训练及微调, 贪婪过程通过最小化原始输入数据与重构编码的差异训练权重, 得到初始参数.微调过程通过BP算法调整初始参数的交叉熵以保证重构误差最小, 从而获得最优重构效果.第1个DAE通过微调得到相应参数, 将该DAE的隐含层输出作为第2个DAE的输入, 训练并微调得到第2个DAE的参数, 依次下去, 可得到SDAE降维模型, 在训练下一个DAE时要保证上一个DAE的参数不变, 其过程如图3所示, 当输出样本维度小于输入样本维度时, 便达到了特征约简的目的.
极限学习机(Extreme Learning Machine, ELM)是一种单隐层前馈神经网络(SLFNs)学习算法[18].相较于BP神经算法, ELM具有收敛速度快, 可在较短时间内达到局部最优的特点.ELM无需更新隐含层节点个数, 通过一次学习便可得到唯一的最优值.同时, ELM在入侵检测研究中表现除了误报率低、检测速度快的优点.ELM网络的本质是随机初始化参数, 通过计算生成输出权重的过程, ELM网络如图4所示.
对于一个单隐层前馈神经网络(SLFNs), 假设
式中:
用
由于ELM在训练前可随机生成权重和偏执, 因此只需了解ELM隐含层节点个数及使用的激活函数, 便可计算出输出
式中:
当
求解得
式中:
式中:
本文使用AWID数据集评估所提方法的性能[12].该数据集包括了大量真实Wi-Fi网络流量, 使用AWID-CLSR-Trn和AWID-CLSR-tst作为训练和测试集[20].训练集中包含1 795 575个实例, 其中正常流量1 633 190条, 攻击流量162 385条.测试集包含575 643个实例, 其中正常流量530 785条, 攻击流量44 858条.表1为训练和测试集中不同种类攻击的分布情况.
| 表1 攻击分布 Tab.1 Distribution of attacks |
从表1可以看出数据集中正常流量远多于攻击流量.训练集和测试集数据很不均衡, 正常和攻击流量之间的比例约为10:1.这会导致训练模型有所偏倚, 进而降低分类准确度.为避免这个问题, 在数据归一化后, 本文采用SMOTE算法对数据集进行平衡处理.经过平衡处理后的训练和测试数据集, 正常和攻击流量的比例升至为1:1.训练集中正常流量随机缩减为162 119条, 测试集则缩减为51 078条.本文使用均衡数据集训练OS-ELM分类器, 并使用不均衡数据集进行训练模型的验证.
验证SDAE用于数据降维的可行性, 实质是验证约简得到的编码能否代表原有指标所包含的信息, 即验证重构后的数据与原数据之间的差异.实验中选取均方误差(Mean Squared Error, MSE)作为衡量训练过程中重构误差的评价标准.MSE的定义如下
式中:
从图5中可以看出, 当训练次数达到5次时, 各层DAE的MSE已经小于0.009, 基本达到稳定状态, 即当训练次数设置为大于等于5时, 可得到各层的初始参数.本文将训练10次得到的各层DAE的参数作为SDAE模型各层DAE的初始参数.并使用该模型验证栈式降噪自编码网络在Wi-Fi入侵检测中的可行性.在SDAE训练10次的过程中, 得到的重构误差的变化曲线如图6所示.
从图6中可以看出, 经过10次训练后, MSE误差已小于0.002 4, 基本达到稳定, 根据Matlab实验结果可知, 样本数据达到的最小重构误差为0.002 26.即5维的编码能以极小的重构误差映射原始137维的原始数据特征, 证明了SDAE用于本文检测问题中的适用性.
为了验证SDAE在Wi-Fi入侵检测中特征数据约简的高效性, 本实验将对比基于SDAE的分类模型与其他分类模型的检测效果.采用正确率(Accuracy)为评价标准, 即正确分类的测试样本个数占测试样本总数的比例, 计算公式如下
式中:
为了评估单独使用SMOTE算法处理数据、单独使用SDAE算法处理数据以及同时使用这两种算法对分类结果的影响.本文构建了OS-ELM, SMOTE+OS-ELM, SDAE+OS-ELM, SMOTE+SDAE+OS-ELM, SDAE+SMOTE+OS-ELM五种分类方法.实验中, 算法的先后顺序表示分类方法中的执行顺序.
OS-ELM的参数和网络结构相同, 设置SMOTE算法的邻居数为5,
SMOTE+OS-ELM算法的分类性能随
| 表2 预处理操作对分类结果的影响 Tab.2 Influence of data preprocessing on classification results |
通过与其他方法进行比较来验证本文提出的OS-ELM分类器的有效性.为确保实验结果的合理性, 使用由SMOTE和SDAE算法处理后的数据集进行实验.实验中, 结果取10次十折交叉验证对应的平均值.此外, 本节所展示的时间是平均分类时间.通过与支持向量机(Support Vector Machine, SVM)算法和ELM算法进行了比较, 实验结果对应的ROC曲线如图9所示.
ELM分类器性能受其自身的激活函数影响.本文对不同的激活函数(“ Sigmoid” , “ Sin” , “ Hardlim” , “ Tribas” 和“ Radbas” )进行测试, 以选择最适激活函数.通过对降到5维后的数据进行100次重复试验, 从训练时间(training time)、检测时间(testing time)、检测精度(testing accuracy)和训练精度(training accuracy)方面进行统计, 最终选取“ sigmoid” 函数为其激活函数, 如表3所示.
| 表3 不同激活函数性能比较 Tab.3 Performance comparisons with different active functions |
为了验证所提方法在Wi-Fi入侵检测中的实时性优势, 选取1 500个样本作为训练数据, 分别对经SDAE降至5~50维的数据进行模型训练.之后, 采用600个经降维的测试样本对不同分类器进行测试, 并统计检测时间, 如图10所示, 利用5维数据训练的OS-ELM模型, 其对应的检测间为29 ms, 低于ELM模型和SVM模型的检测时间, 随着数据维度增加, 各模型的检测时间差异明显, 可以看出, OS-ELM模型节约了大量的时间, 表现出良好的实时性.
基于上述分析, 可得:当数据集的维度较低并且数据集接近平衡时, OS-EML的分类性能优于浅层学习算法.SMOTE+SDAE+OS-ELM算法具有显著的分类性能.
1)为解决Wi-Fi网络中正常数据和攻击数据比例不平衡问题, 使用SMOTE算法和SDAE等算法对样本数据进行一系列的预处理操作后, 给予OS-ELM算法来检测网络异常.针对实验样本向量维度大, 数据冗余度大的特点, 通过对DAE进行堆叠, 得到了改进后的SDAE算法, 并采用该方法对实验数据进行约简, 最后通过实验验证了本文提出的给予SDAE的数据降维方法的可行性和高效性.
2)鉴于实验样本中正常数据和异常数据比例极不平衡的状况, 为降低数据集不平衡性, 采用了SMOTE算法对数据集进行平衡处理, 满足了后续分类实验中对输入样本的平衡性要求.将OS-ELM应用于Wi-Fi入侵检测中, 并将该算法同SMOTE和SDAE算法进行了有效结合, 通过实验证明了对数据集进行处理, 可以使比例达到基本平衡.之后, 使用SDAE算法对数据进行降维, 以降低构建分类检测模型的复杂度.最后, 将降维后的特征数据用于OS-ELM分类器的分类操作.
3)实验结果表明, 所提方法具有更高的检测精度和更低的误报率, 同时降低了检测模型的执行时间, 一定程度上实现了实时检测功能.在今后的研究工作中, 拟开展基于传感器或其他硬件设备辅助的实时检测方法的研究.
| [1] |
|
| [2] |
|
| [3] |
|
| [4] |
|
| [5] |
|
| [6] |
|
| [7] |
|
| [8] |
|
| [9] |
|
| [10] |
|
| [11] |
|
| [12] |
|
| [13] |
|
| [14] |
|
| [15] |
|
| [16] |
|
| [17] |
|
| [18] |
|
| [19] |
|
| [20] |
|

