改进逆向习得推理的网络异常行为检测模型

2020-09-23 08:06李博超邵酉辰
现代电子技术 2020年18期
关键词:对比实验数据处理

李博超 邵酉辰

摘  要: 针对网络异常行为检测中数据不平衡导致召回率低的问题,提出一种改进逆向习得推理(ALI)的网络异常行为检测模型。首先,使用仅由正样本所构成的数据对改进的ALI模型进行训练,通过已训练的改进的ALI模型处理检测数据,生成处理后的检测数据集;然后,使用异常检测函数计算处理后的检测数据与检测数据的距离以判断是否异常。在KDD99数据集上与AnoGAN等常用模型进行对比实验,实验结果表明,所设计模型在数据不平衡时具有较高的召回率,相比AnoGAN,召回率提升16%。

关键词: 检测模型; 网络异常行为检测; 逆向习得推理; 模型训练; 数据处理; 对比实验

中图分类号: TN711?34; TP309                   文献标识码: A                      文章编号: 1004?373X(2020)18?0014?05

Abstract: In allusion to the poor recall rate caused by data imbalance in the network abnormal behavior detection, a network abnormal behavior detection model based on improved adversarially learned inference (ALI) is proposed. The data only composed of positive samples is used to train the improved ALI model, and the trained ALI model is utilized to process the detection data to generate the processed detection dataset. The distance between the processed detection data and the detected data is calculated by means of the anomaly detection function to determine whether it is abnormal. The detection model is compared with the commonly used models such as AnoGAN on the KDD99 dataset. The experimental results show the designed model has a higher recall rate when the data is unbalanced, and the recall rate is 16% higher than that of AnoGAN.

Keywords: detection model; network abnormal behavior detection;  adversarially learned inference; model training; data processing; contrast experiment

0  引  言

網络异常行为是指由网络用户实施的对网络正常运行造成影响的行为。随着网络技术的快速发展和应用,网络异常行为的新变种更是层出不穷,其威胁也日益严重。对网络异常行为进行高效检测已成为目前的研究热点。

随着机器学习算法的广泛应用,许多学者使用机器学习算法进行网络异常行为检测研究。文献[1]通过使用主成分分析法(Principal Component Analysis,PCA)对原始数据集进行数据降维并消除冗余数据,找到具有最优分类效果的主成分属性集, 解决了对于大型数据集计算代价大的问题,但检测准确度较低。

使用机器学习算法检测网络异常行为准确率低的主要原因是可收集到的异常行为样本种类少且数量有限,造成收集到的数据集不平衡。文献[2]提出通过使用变分自编码器(Variational Auto?Encoder,VAE)模型训练正常行为,虽解决了网络异常检测中数据集不平衡的问题,但该方法对数据集的处理过程中易出现关键特征提取效率不高,造成生成数据集“失真”的情况,导致检测结果准确率波动较大。

针对上述不足,文献[3]建立了一种卷积神经网络模型,通过提高该网络提取特征的效率,进而提高了分类的准确性。文献[4]提出了一种基于卷积神经网路算法的网络入侵检测系统,该系统通过自动提取入侵样本的有效特征,从而提升分类的准确性。上述两种方法的主要不足在于模型训练过程中收敛速度不理想,泛化能力差,导致误报率较高。

逆向习得推理(Adversarially Learned Inference,ALI)模型是一种成功应用于模拟复杂和高维分布的数据生成模型[5],其主要优势为:

1) 无需利用马尔科夫链反复采样,无需在学习过程中进行推断,回避了棘手的概率计算难题;

2) 如果判别器训练良好,生成网络则可以有效地学习到训练样本的分布。

因此,本文考虑通过设计一个模型首先来学习正常数据分布,然后将检测数据输入训练完的模型并计算出其正常分布,最后将处理后的检测数据与处理前的检测数据通过异常检测函数进行对比,判断此数据的异常情况。

1  ALI基本内涵

ALI模型是一种无监督数据生成模型,由编码器、解码器和判别器组成。其学习过程就是编码器、解码器和判别器之间的一种竞争过程。文献[5]将这一思想表示为:

当将ALI模型训练用于生成数据时,解码器将真实训练样本x映射到潜在变量空间,得到z_hat;编码器将潜在变量z转化为生成样本x_tilde。假设解码器的输入输出(x,z_hat)分类为1,编码器的输入输出(x_tilde,z)分类为0。判别器的目标是将尽可能多的(x,z_hat)判别为1,同时将尽可能多的(x_tilde,z)判别为0,即

D(x,Gz(x))≈1且D(Gx(z),z)≈0。当编码器、解码器和判别器在训练中经过多轮竞争最终达到平衡时,此时编码器生成数据x_tilde与真实训练样本x将非常相似。ALI理论上经过训练可以完全逼近真实数据的分布,这是ALI模型的最大优势和特点。

2  基于ALI的网络异常行为检测模型

基于ALI模型,设计一种网络异常行为检测模型,如图2所示。该模型由数据预处理和异常检测两个模块组成。

2.1  数据预处理模块

操作处理过程为:

步骤1:首先,统计数据集中以离散数据表示的特征项的名称。然后,遍历数据集并将所有用离散数据表示的特征项数据去掉。

步骤2:遍历数据集对数据进行归一化处理,将数据变为[0,1]之间的小数,以提高模型收敛速度和异常检测函数计算精度。归一化公式如下:

式中:Xnormal为归一化后的数据;X为原始数据;Xmax和Xmin分别为特征项的最大值和最小值。

2.2  异常检测模块

异常检测模块包括训练和检测过程,模块处理流程设计如图3所示。

检测模块的处理过程设计如下:

输入:预处理后的数据D;

输出:异常检测结果R。

步骤1:将数据集D中按照标签分为正常数据与异常数据,组成正常数据集D_normal与异常数据集D_anomal。随机从D_normal中抽取80%的数据组成训练数据D_train,剩余的20%数据和D_anomal组成检测数据D_test。

步骤2:使用改进ALI模型训练D_train,经过k次迭代训练,确定生成网络、推理网络内部神经元的权重。

步骤3:使用训练后的改进ALI模型中的生成网络处理检测数据D_test,生成处理后的检测数据D_test_fin。

步骤4:将D_test_fin和D_test输入异常检测函数,计算D_test每条记录的异常结果R。异常检测函数如下所示:

式中:假设数据集有m个属性;xaj和xbj分别表示D_test_fin中的记录xa与D_test中的记录xb对应的第j个属性值。本文认为拥有较大检测结果值的样本异常可能性大。

在ALI模型中,推理网络的训练只是簡单地将输入复制到输出,虽保留了原始数据的特征,并不能确保隐变量获得有用的特征表示。为了增强推理网络与生成网络的训练效率,本文考虑首先通过引入一个损坏过程[Cx′x],得到受损数据作为ALI模型的输入,然后在ALI模型的隐含层填加一些约束,让这些约束使模型对输入数据中有用的特征优先学习,使模型可以学习到能更好表达样本的特征。

改进ALI的基本结构由推理网络I、生成网络G和判断器D三部分构成,都是由输入层、隐含层和输出层构成的神经网络。

改进ALI模型首先对训练数据进行训练,确定推理网络I、生成网络G和判别器D的内部神经元的权重。之后使用训练好的生成网络G对检测数据进行处理,得到处理后的检测数据。ALI模型结构流程图如图4所示。

改进ALI模型的处理流程为:

输入:训练数据D_train,检测数据D_test;

输出:处理后的检测数据D_test_fin。

1) 网络采用分批次训练,每次训练都从训练数据D_train中随机选取固定大小的块(batch)作为输入数据x,根据文献[6]提供的方法,通过引入一个损坏过程[Cx′x],得到受损数据[x′]作为推理网络的输入样本。

2) 推理网络和生成网络过程可以由以下公式表示:

式中:z_hat为推理网络输出结果;x_tilde为生成网络输出结果;θ={W1,b1,W2,b2}表示参数的集合;f和g代表激活函数sigmod,即当神经元的输出接近于1时为激活状态,而输出是0时为抑制状态。推理网络和生成网络的目标是最小化输入数据x与生成网络重构数据x_tilde之间的平均重构误差。为了防止模型过拟合,对损失函数加入惩罚项,损失函数如下所示:

隐含层神经元j的平均活跃度为:

式中:z_hatj表示在隐含层中神经元j的激活度;z_hatj(xi)表示输入x时推理网络和生成网络隐含层神经元j的激活度。

式中,ρ是稀疏性参数。式(10)表示让推理网络和生成网络隐含层中神经元 j的平均活跃度接近于ρ。为达到这一稀疏限制的目标,在优化目标函数中加入一个额外的惩罚因子,即通过最小化这一惩罚因子来实现[ρ′j]趋近于ρ的效果。所以惩罚因子如下所示:

式中:S2是隐含层中隐含神经元的数量;j代表隐含层中的神经元。所以,加入稀疏性要求后的损失函数为:

式中,β控制稀疏性惩罚因子的权重。

3) 生成网络从服从高斯分布的P(z)中随机采样作为输入,经生成网络处理生成x_hat。

4) 将x,x_hat和x_tilde输入判别器。判别器的目标是将生成网络的输出x_hat和x_tilde从真实样本x中尽可能分辨出来,而生成网络则要尽可能地欺骗判别器。两个网络相互对抗,不断调整参数。判别器的损失函数为:

5) 将步骤2)~步骤4)重复k次,完成模型训练。

6) 将检测数据D_test输入至训练好的生成网络,得到处理后的检测数据D_test_fin。

3  实验结果与分析

本文使用KDD99 10%数据集作为本次实验的数据集。实验中主机配置为Intel Core i5?6300HQ CPU,NVIDIA GeForce GTX960 GPU,内存4 GB,使用Python 3.5.3编程实现,深度学习框架使用Tensorflow 1.1.0。

为验证本文模型对网络异常行为检测的有效性,将本文模型检测结果与网络异常行为检测中常用的算法模型进行对比实验。

实验样本均来自同一数据集,选择的模型分别为: DSEBM[7],DAGMM[8],AnoGAN[9]。重复进行10次实验并计算10次检测结果中准确率、召回率和F1值的平均值[8],结果如表1所示。

由表1可见,本文模型在召回率和F1两项指标方面均优于其他的检测模型。分析对比模型如下:

1) DSEBM模型采用逐层次进行训练,每一层训练完成之后才进行下一层叠加并计算上一层的参数。无法有效对本文高维度复杂数据集进行特征学习,导致相较于本文模型检测准确度偏低。

2) 考虑到DAGMM模型虽对数据集使用高斯概率密度函数(正态分布曲线)进行精确量化,并分解为若干基于高斯概率密度函数形成的模型,提高了检测准确率。但受本文训练样本数量少的限制,DAGMM模型内每个混合模型没有足够多的样本,协方差计算结果不准确,故F1值相对于本文模型较低。

3) AnoGAN模型生成网络的梯度更新来源于判别网络,导致生成网络更倾向生成重复但不会被判别网络认为异常的样本,而对于与生成网络生成的相似检测数据,该模型有很高的检测准确度。AnoGAN模型因缺少诸如本文模型的推理网络,导致模型经训练未得到正常行为的全部数据分布,导致模式崩溃[10](Mode Collapse)。

为了进一步验证本文模型在较少训练样本情况下的有效性,针对DAGMM模型和本文模型,缩小实验样本量,在训练数据中随机抽取2 000条数据,重复进行10次实验,并计算检测结果中准确率、召回率和F1值,结果如表2所示。

由表2可见,在训练样本较少时,该文模型相对于DAGMM模型,在准确率、召回率和F1值3项指标方面均有明显提高。

该文模型的优势在于运用逆向习得推理机制,结合无监督的模型训练和有监督的分类、回归任务,无需生成显性表达分布,也没有繁杂的变分下限,有效避免了在传统生成模型中复杂的马尔科夫链的采样和推断,在大大降低了训练复杂度的同时提高了检测准确度。

上述实验结果表明,文章提出的基于逆向习得推理的网络异常行为检测模型具有较高的召回率和检测精度。

4  结  语

文章针对网络异常行为数据收集不均衡以及现有检测算法检出率低等问题,提出基于逆向习得推理的网络异常行为检测模型。通过构建改进ALI模型的网络异常检测模型,仅使用正常行为数据对模型进行训练,然后使用异常检测函数对比判断检测数据是否异常,最终解决了因数据不平衡问题导致的检测正确率低的问题。实验结果表明,本文模型在样本数据不平衡时相较于DSEBM,DAGMM,AnoGAN 3种模型具有较高的召回率和检测精度,在网络异常行为检测领域具有一定的应用价值。

参考文献

[1] 戚名钰,刘铭,傅彦铭.基于PCA的SVM网络入侵检测研究[J].信息网络安全,2015(2):15?18.

[2] ZHOU C, PAFFENROTH R C. Anomaly detection with robust deep autoencoders [C]// ACM Sigkdd International Conference on Knowledge Discovery & Data Mining. New York: ACM, 2017: 665?674.

[3] 贾凡,孔令智.基于卷积神经网络的入侵检测算法[J].北京理工大学学报,2017,37(12):1271?1275.

[4] 王明,李剑.基于卷积神经网络的网络入侵检测系统[J].信息安全研究,2017,3(11):990?994.

[5] DUMOULIN V, BELGHAZI I, POOLE B, et al. Adversarially learned inference [C]// International Conference on Learning Representations. Toulon: ICLR, 2017: 205?211.

[6] VINCENT P, LAROCHELLE H, BENGIO Y, et al. Extracting and composing robust features with denoising autoencoders [C]// Proceedings of the 25th international conference on Machine learning. Helsinki: ACM, 2008: 1096?1103.

[7] ZHAI S, CHENG Y, LU W, et al. Deep structured energy based models for anomaly detection [C]// 33rd International Conference on Machine Learning. New York: ICML, 2016: 1021?1031.

[8] ZONG B, SONG Q, MIN M R, et al. Deep autoencoding gaussian mixture model for unsupervised anomaly detection [C]// International Conference on Learning Representations. Vancouver: ICLR, 2018: 305?309.

[9] SCHLEGL T, SEEB?CK P, WALDSTEIN S M, et al. Unsupervised anomaly detection with generative adversarial networks to guide marker discovery [C]// International Conference on Information Processing in Medical Imaging. Boone: Springer, 2017: 146?157.

[10] METZ L, POOLE B, PFAU D, et al. Unrolled generative adversarial networks [EB/OL]. [2017?05?12]. https:// arxiv.org/abs/16...02163v4.

[11] 任维武,张波辰,底晓强,等.基于人工蜂群优化的密度聚类异常入侵检测算法[J].吉林大学学报(理学版),2018(1):95?100.

[12] 周棒棒,魏书宁,唐勇,等.粗糙集属性约简的极限学习机网络入侵检测算法[J].传感器与微系统,2019(1):122?125.

[13] 黄金超,马颖华,齐开悦,等.一种基于集成学习的入侵检测算法[J].上海交通大学学报,2018(10):1382?1387.

[14] 周丽娟.一种改进的基于TS?BPNN的网络入侵检测方法[J].陕西理工大学学报(自然科学版),2018(5):45?49.

猜你喜欢
对比实验数据处理
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
刍议初中化学对比实验的运用
宝鸡地区胶东卫矛秋季扦插繁育技术
对比实验在化学概念教学中的应用探析
MATLAB在化学工程与工艺实验数据处理中的应用
慷慨事实 紧扣核心 谨慎结论
浅谈对比实验在高中化学中的应用
Matlab在密立根油滴实验数据处理中的应用
基于POS AV610与PPP的车辆导航数据处理