面向样本不平衡的网络安全态势要素获取

2022-01-22 07:46欣,朱
计算机工程与应用 2022年1期
关键词:态势分类器卷积

张 欣,朱 江

重庆邮电大学通信与信息工程学院,重庆 400065

随着物联网、第五代移动通信系统的发展,网络趋于复杂化和大型化,互联网承载的信息更为丰富,未来将真正实现万物互联。随之而来的数据泄露、网络攻击问题凸显[1],数不胜数的网络安全威胁和纷繁复杂的网络攻击手段使得传统的杀毒软件、防火墙等防护手段也难以主动防御。为了应对日益严峻的大规模网络安全形式,网络安全态势要素获取[2]分析各个安全要素,筛选出影响网络安全的主要因素,对这些数据信息要素进行理解、融合并剔除存在的冗余数据,要素获取对把握网络安全态势起到不可或缺的作用。

近几年,机器学习被应用在网络安全态势感知领域[3-8],例如,文献[3]采用支持向量机(support vector machine,SVM)作为要素获取模型,文献[4]研究了基于极限学习机(extreme learning machine,ELM)的要素获取模型,文献[5]研究了基于反向传播(back propagation,BP)的要素获取模型。以上模型均可实现安全态势要素获取分类,且具有学习速度快、泛化性较好的优点,但都属于浅层结构且表征能力有限,面对高维、非线性的海量真实网络数据时,其要素分类精度不够理想。因此,深度学习以其强大的拟合能力正逐渐成为机器学习领域的热点[9]。例如,已有学者将卷积神经网络(convolutional neural network,CNN)用在入侵检测领域[10-11],该方法能更好地提取数据特征,有效提高分类精度并降低模型的复杂度,缺点是现有态势要素获取模型中,无法解决实际运用(实际网络流量数据)存在部分样本数据量相比于其他数据量过小,存在模型无法正确识别各个不同的攻击类型的特征分布,以至于模型泛化能力不足,无法正确识别样本,难以保证对要素的准确获取以及态势预测,使得管理员对未来的网络状态无法做出准确判断。

为了提高在数据集分布不平衡情况下小样本的分类精度,本文拟设计一种基于样本特征的态势要素获取模型。主要工作概括如下:

(1)通过设计一个改进的CNN 基分类器对样本进行分类,得到理想的大样本分类精度,并根据样本量级特征和分类精度对样本进行分类。

(2)对数据过小的超小样本,通过生成对抗网络[12](generative adversarial network,GAN)来进行数据增强。

(3)在扩充后的小样本的数据集,结合迁移学习这一方法微调基分类器,提高小样本的分类精度。

1 网络安全态势要素获取模型框图

网络安全态势要素获取本质上是对态势要素进行分类,模型框图如图1所示,通过改进的CNN 基分类器模型对所有样本进行样本特征学习,然后根据样本量级和基分类器得到的分类精度,将样本分为大样本(样本数据量大,通常占比为总样本的10%以上,基分类器指标优越)、较小样本(样本数量与大样本数量差别较大,影响基分类器精度,通常占比为总样本2%到5%之间,基分类器精度较为不理想)和超小样本(样本数据量极小,通常占比为总样本1%左右,于基分类器中无法训练出有意义的分类,分类精度几乎为0),由于CNN基分类器存在较强拟合能力[13],因此得到了较好的大样本分类精度。但是由于样本不平衡,小样本的分类精度不够理想,需要进一步优化。具体措施是:通过GAN与迁移学习相结合的方法,先使用样本扩充器深度卷积生成对抗网络(deep convolutional generative adversarial network,DCGAN)来对超小样本训练集进行类内扩充,得到平衡的小样本训练集,再结合迁移学习微调基分类器,达到在较短的迭代次数以及样本不足的情况下,也能很好学习小样本特征的目的,得到适应小样本的新CNN 分类器,提高小样本的分类精度。该要素获取模型主要分为以下4个步骤:

图1 要素获取模型框图Fig.1 Block diagram of element acquisition mechanism

步骤1 数据集预处理,将原始的一维网络流量数据集X=[x1,x2,…,xL]1×L∈RM×L处理成适合态势要素获取分类机制的K×K二维矩阵格式。

步骤2 有监督学习训练CNN 基分类器,并筛选出小样本。

步骤3 训练本文搭建样本扩充器,实现数据增强。

步骤4 在平衡后的小样本训练集中,结合迁移学习微调基分类器,提高小样本分类精度。

1.1 数据集预处理

1.1.1 NSL-KDD数据集

本文的分析对象是NSL-KDD[13]数据集,此数据集是国际上广泛应用于网络安全分析的网络流量数据,比起KDDCup99 数据集,该数据集剔除了重复多余的数据,所以能够更好地满足本研究试验模型的验证要求。选取数据集KDDTrain和KDDTest+共148 514个样本作为实验数据,本文的实验数据分布如表1所示。该数据集主要包括正常数据(normal)和4 种攻击类型数据(Dos、Probe、R2L,U2R)。本文将R2L类设为较小样本,U2R类为超小样本,其他三类为大样本。该数据集的每一个样本共有42维,前41维为样本的特征,最后一维为样本的标签信息。采用留出法对小样本U2R和R2L以及其他三类攻击分别选取80%作为训练集,20%作为测试集。

表1 实验数据分布Table 1 Experimental data distribution

1.1.2 原始数据集预处理

由于提出的态势要素获取机制只能识别数值型特征且需要二维矩阵格式的数据集,故需要对数据集进行预处理。由于数据集属性间存在量纲问题,通常需要对数据集进行归一化操作。由于本文搭建的分类器网络都使用了批量归一化,为了更好地保留数据的原始特征以及不破坏数据集的分布,故在此不对数据集进行归一化处理。数据预处理如图2,具体步骤如下所示。

图2 原始数据集预处理Fig.2 Preprocessing of original data set

(2)模型输入特征选择删除样本中特征值全为0的一个冗余维度,故样本的维度变为121 维,即X=[x1x2…x122]1×121。

(3)样本维度进行重组本文提出的要素获取机制,输入需为二维K×K矩阵格式数据,将一维数据集X构造成11×11的二维数据集,如下式(1)所示:

最后,将标签normal、Probe、Dos、U2R、R2L 也进行one-hot编码,编码后均为五维数据y→I5,I5∈ℝ5×5,每一行代表一种标签类型。

1.2 安全态势要素获取模型

首先利用卷积神经网络搭建要素基分类器,训练基分类器,实现大样本的准确分类,并为后续的迁移学习提供参数和权值,然后对小样本分类精度进行优化。下一节,将基于样本量级的特征提出安全态势要素获取的模型。

1.2.1 大样本分类

改进的CNN网络安全态势要素获取基分类器(network security situation element acquisition-improved CNN,N2SEA-ICNN)如图3所示,CNN的基本模型包括了Conv2d 代表二维卷积层,Maxpooling 代表最大池化层,Flatten 层,Dense 层代表全连接层,以及输出层为softmax 层。此外,还包括了在每个卷积层后面引入的BatchNormation批量归一化层,以及在全连接层前添加了dropout 层。图中k表示卷积核,filter 表示过滤器个数,stride表示步长。

图3 N2SEA-ICNN基分类器模型Fig.3 Classifier model of N2SEA-ICNN base

BN 层修正数据的分布保证梯度存在,可以加快模型收敛,并提升模型的泛化性能。由于本文的实验数据集与CNN 擅长的图像处理数据集相比更为简单,为了防止基分类器模型出现过拟合问题,在全连接层前添加了dropout层,在模型训练过程中,dropout概率性地将网络的隐含层节点的权值临时设置为0,不参与网络的计算且反向传播时权值不变,可以防止由于某个特征权重占比过大而导致模型过拟合。

CNN通常由卷积层和池化层组成,分别如下式所示:

式中,假设Mi(M0=X)为CNN 的第i层的输入态势要素特征图,Wi为第i层的卷积核权重向量,运算符号“⊗”表示卷积运算,bi是第i层的偏移向量,f(x)是激活函数。卷积层根据多个卷积核及滑动窗口值,提取态势要素样本Mi的多重特征信息。池化层根据不同的采样规则对态势要素特征图进行采样,该过程可以对态势要素进行降维,减少网络模型的参数个数。本文对转化为K×K矩阵格式的安全要素数据进行态势要素特征图卷积运算,通过多个过滤器在态势要素特征图矩阵滑动,提取网络流量数据的多重空间特征。

N2SEA-ICNN 中BN 层,在每一个小批量数据输入下一层神经网络之前修正数据的分布,突出数据间的相对差异而减小绝对差异,对于一个Batch,假设对应x的集合为B={x1,x2,…,xm},于是其对应的BN 层的输出{yi}通过以下公式计算得出:

ε是mini-batch的样本个数,设为ε=10-8,修正所有输入xi满足均值为0且方差为1。计算均值和方差的任意值可采用上面的公式:

其中,γ和β用梯度下降法求出。

2.1.3 精密度考察 取高、中、低质量浓度(30.00、15.00、0.03 μg/mL)的Lut对照品溶液,按照“2.1.1”项下色谱条件分别连续进样6次,计算各个质量浓度对应峰面积的RSD值。结果显示,Lut峰面积RSD值分别为0.44%、0.39%、0.71%。

1.2.2 超小样本分类

由于样本分布不平衡的问题,导致传统的要素获取机制对超小样本R2L类样本学习不到特征,影响到超小样本的分类精度。因此提出了基于DCGAN[18]的超小样本扩充器,同时利用随机梯度下降法实现DCGAN的数据扩充最优求解。如前所述,在数据预处理过程中,数据集已经处理成了K×K矩阵格式的数据集,更加便于DCGAN 实现卷积处理,同时DCGAN 可以生成无限逼近真实样本的伪造样本,避免由于训练样本不足而导致的过拟合问题。因此DCGAN 能够较好的实现预处理后的超小样本类内扩充。判别模型D 和生成模型G 都使用卷积神经网络,采取上文设计的N2SEA-ICNN分类器作为判别器,为了得到能够提取更多的态势要素特征的生成器,故去掉所有的池化层,由3个卷积层以及BN层构成,最后一层激活函数使用tanh。DCGAN 的模型如图4所示。

图4 DCGAN模型Fig.4 DCGAN model

其中,G(z)表示生成网络由噪声z生成的样本,而D(G(z))表示生成样本通过判别网络后,判断其为真实样本的概率。最终求得近似最优解的生成式模型minG(z)。判别网络输出样本是来自真实数据的概率,交叉损失熵为式(8)所示,其中φ和θ分别为判别网络和生成网络的参数。

生成网络的损失函数如式(9):

综上,生成对抗网络的核心思想可用数学公式表示如下:

为了求解公式(10)的最优解,提出了一种基于随机梯度下降法的最优解求解算法。

算法1 基于DCGAN的数据扩充算法

通过训练得到生成器,对超小样本进行不同比例扩充。

1.2.3 小样本分类

针对上一节数据集扩充后的小样本(较小样本和扩充后的超小样本)数据集,由于迁移学习[19]可以在样本不足的情况下很好地学习样本的内部特征,同时前面训练好的N2SEA-ICNN 基分类器已经学习到了大样本的内部特征,而且大小样本具有相似的特征,故提出对N2SEA-ICNN 基分类器进行迁移学习的小样本分类方法。这种方法不仅能够避免训练小样本过拟合,还能够有效地缩减模型的训练时间。迁移学习过程如图5 所示,分为3个步骤。

图5 迁移学习过程Fig.5 Transfer learning process

(1)特征学习:在文中第1.2 节,利用N2SEA-ICNN基分类器实现样本特征学习。

(2)特征迁移:将N2SEA-ICNN 基分类器学习到的权重参数,作为新分类器的初始权重。

(3)迁移后分类器学习:先冻结N2SEA-ICNN 基分类器前面几层网络并移除最后一层,再添加两层全连接层,通过反向传播微调最后两层,得到适应于小样本的新分类器模型。

由于实际运用中,无法人为识别大小样本。经N2SEA-ICNN基分类器误判为小样本的大样本,将在新的二级分类器分类器中再次误判。因此对仿真得到的小样本分类精度进行损失惩罚,具体公式如下式所示:

2 实验仿真

本文的实验环境为:Windows 10操作系统,python3.7环境下采用Keras 深度学习框架进行模型训练和测试;硬件配置为:64 位操作系统,处理器为Inter®Core™i5-8500 CPU 3.00 GHz。

2.1 评估度量的选择

模型评估标准的选择至关重要,准确率(Accuracy)、查准率(Precision)、查全率(Recall)均为要素获取分类问题常用的衡量指标。通常将样本分为正样本和负样本,正样本指属于所求类的样本,反之,不属于该类的样本为负样本。正负样本的混淆矩阵如表2所示。

表2 正负样本的混淆矩阵Table 2 Confusion matrix of positive and negative samples

其中,TP 为被预测为正样本,真实同是正样本;FP为被预测为正样本,真实是负样本;N 为被预测为负样本,真实是正样本;TN 为被预测为负样本,真实同为负样本。

通常选取Accuracy 作为衡量分类模型性能的指标,但当样本分布不平衡时,它不能准确地衡量模型的整体分类精度,仅能代表大样本类的分类精度。在工程应用中,Precision 和Recall 通常为负相关,进一步优化时需要选择优化目标,选择的标准是当漏判带来的损失较大时,Recall优先。反之当误判带来的损失较大时,则Precision 优先。由于本文解决的是网络安全态势要素获取问题,在安全领域方面漏掉任何一个攻击都可能产生严重后果,为了能够准确地识别出所有的攻击行为,在本文中更倾向于采用查全率对所提出的预测模型进行评价。后面将提到每个类的分类精度,即为查全率。

2.2 实验结果分析与讨论

2.2.1 N2SEA-ICNN基分类器的训练过程分析

在深度学习模型中,模型参数的选择会对模型性能造成一定影响,通过手动调参得到适应于模型的超参数。模型各层参数如表3所示。

表3 模型各层参数Table 3 Parameters of each layer of model

由于设计的态势要素获取模型为多分类问题,故选取categorical_crossentrop[20]为损失函数,运用Adam[21]优化算法对模型进行反向传播训练,根据损失函数调整模型训练的超参数,设置bach_size为128,迭代次数为50。最后通过测试集检测模型的泛化能力来评估模型。迭代次数与损失函数值、准确率的关系曲线分别如图6和图7所示。

图6 N2SEA-ICNN基分类器准确率曲线Fig.6 Accuracy curve of N2SEA-ICNN base classifier

图7 基分类器损失值曲线Fig.7 Loss curve of N2SEA-ICNN base classifier

通过分析两组图像可以看出,随着迭代次数的增加,准确率曲线也呈现逐步上升的趋势,当迭代次数达到40 时,分类精度达到了0.979。同时损失函数值稳定下降的趋势并接近于0,模型趋于稳定,得到了最优的模型。为了更加准确地识别网络安全的各个因素,本文统计了每个类的分类精度,如图8 所示,R2L 和U2R 两类的分类精度明显低于其他三类,因为在模型训练时这两类的样本很少,提取到的特征少,因此在测试的时候分类精度低。

图8 N2SEA-ICNN基分类器分类精度Fig.8 Classification accuracy of N2SEA-ICNN base classifier

2.2.2 迁移学习对小样本的效果

对于上述小样本分类精度的问题,采取上文提到的迁移学习模型来重新得到小样本的分类精度。随机选取较小样本R2L类以U2R类的80%作为训练集,其余的作为测试集,迭代次数与损失函数值、准确率的关系曲线如图9和图10所示。

图9 基于迁移学习模型的准确率曲线Fig.9 Accuracy curve based on migration learning model

图10 基于迁移学习模型的损失值率曲线Fig.10 Loss rate curve based on migration learning model

通过分析上图的曲线,可以看出随着迭代次数的增加,准确率曲线呈现稳定上升且准确率较高,损失函数逐步趋于0,在训练到30 epoch 逐渐收敛。迁移学习将较小样本的分类精度提高至少32%,达到98.8%,超小样本分类精度提高了74%,迁移学习快速训练的特点使再分类所需的时间降低,因此不会成规模增加模型的时间复杂度。

2.2.3 超小样本数据增强结合迁移学习的效果

为了进一步地提高超小样本U2R类的分类精度,采取数据增强来解决数据不平衡问题。本文采取训练DCGAN得到的生成器来进行样本扩充,在扩充后的数据集,结合迁移学习对N2SEA-ICNN 基分类器微调,得到新的分类器。DCGAN 模型训练的迭代次数和损失值的关系曲线如图11所示,其中d_loss代表判别器损失值,g_loss 代表生成器损失值。通过观察图11,可以看出两个损失函数都在逐步下降,大约在迭代10 000次模型收敛,因此在本文的后续实验DCGAN的迭代次数选择10 000次。

图11 DCGAN模型训练损失Fig.11 Training loss of DCGAN model

本文通过DCGAN训练得到的生成器,生成不同比例的样本个数,对U2R类做样本扩充,并结合迁移学习训练得到新的小样本的分类精度如图12所示。

图12 增强样本后小样本的分类精度Fig.12 Classification accuracy of small samples after enhancement

经仿真验证,随着U2R 类扩充样本个数的提高,DCGAN 样本扩充结合迁移学习的模型与超小样本的分类精度呈正相关增加,当扩充样本达到2 500时,分类精度最佳。相比不扩充时的原始训练集U2R的分类精度提高了13%以上。

2.3 获取精度分析与比较

为了进一步证明本文方法的优势,与浅层的神经网络及深度学习方法进行了对比实验,包括SVM、CNN(lenet-5)[14]、DBN[22]、SRU-DCGAN[23]和基于迁移学习的CNN,分类精度如表4所示。

由表4 可知,本文要素获取模型相比文献[23]的方法,较小样本R2L精度提高了5个百分点,超小样本U2R提高了6个百分点,对U2R的分类精度达到88.24%。虽然对Dos的分类精度低于部分传统的方法,但整体的分类精度明显高于其他方法。基于迁移学习的CNN方法对R2L 较小样本的分类精度也高于SVM、PSO-DBN、SRU-DCGAN模型,说明迁移学习对于提高小样本的分类精确度是有效的。最后在基于GAN数据类内扩充的模型中,超小样本的分类精度也高于其他的要素分类模型,证明了GAN 对平衡样本以及提高超小样本的分类精度有明显作用。

表4 不同要素获取方法的精度Table 4 Accuracy of different factor acquisition methods%

2.4 模型复杂度分析

表5 不同模型的复杂度对比Table 5 Complexity comparison of different models

可以看出本文提出的网络安全要素获取模型复杂度低于SVM 以及SRU-DCGAN[19]模型,略高于文献DBN[18]和CNN[9],量级是相同的并没有成规模增加,说明本文提出方法在提高分类精度的同时也没有增加模型的复杂度。

3 结语

本文针对样本不平衡的网络数据特征,提出了一种基于GAN生成对抗网络的样本扩充和迁移学习模型分层的网络安全态势要素获取模型。采用CNN作基分类器,根据样本量级和基分类器的分类精度,将样本分为大样本、较小样本和超小样。该模型结合了通过生成式对抗网络类内扩充方法来生成超小样本数据,结合迁移学习更快速而高效地学习小样本的特征。运用NSL-KDD 数据集对模型进行了训练与测试,通过仿真结果表明,不仅保证了大样本的分类精度,还提高了态势要素小样本的分类精度,从而改善了要素获取模型的整体性能。

猜你喜欢
态势分类器卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于朴素Bayes组合的简易集成分类器①
2019年12月与11月相比汽车产销延续了增长态势
卷积神经网络的分析与设计
汇市延续小幅震荡态势
基于特征选择的SVM选择性集成学习方法
国际金价能否延续上涨态势
从滤波器理解卷积
我国天然气供需呈现紧平衡态势
基于傅里叶域卷积表示的目标跟踪算法