一种用于异常检测的自适应LeNet-5模型
原文: https://doi.org/10.1080/19393555.2020.1797248
摘要
介绍了一种特征选择算法,采用随机森林分类器进行递归特征消除,并根据特征重要性排序的先后顺序选择前49个特征,提出了一种基于LeNet-5卷积神经网络的攻击检测模型,命名为LeNet-4网络模型。在其网络结构中,去掉了原LeNet-5网络的第一个池层和最后一个全连接层,降低了模型的计算量和网络复杂度,并通过双卷积层和单池层的结构增强了网络的自学习能力。本文使用CICIDS2017数据集对所提出的模型进行评估,使用数据集中的所有实例进行全面检测。实验结果表明,在LeNet-4网络模型上,引入递归特征消除算法,在降低时间开销的同时,提高了攻击检测的准确性。多类攻击分类的正确率为97.8%,二值攻击分类的正确率为98.5%。
1介绍
对于计算机和计算机网络,破坏、暴露、修改、禁用软件或服务、窃取或擅自访问任何计算机的数据都将被视为网络攻击。
攻击者已经开发出比以前更复杂、更智能的方法来攻击信息通信技术(ICT)系统。黑客潜入计算机系统会导致窃听和截获国家加密的金融数据。因此,增强智能系统抵御恶意威胁的网络安全能力必然显得尤为重要(Obama,2012)。然而,随着恶意软件攻击的规模和复杂性不断增长,利用传统分析工具检测和规避威胁变得更具挑战性。同时,大型网络产生的大量数据使得攻击识别任务更加复杂和具有挑战性(Ferrag et al.,2020)
为了确保互联网的安全,网络通信应采用登录授权、访问控制、加密、认证机制和安全审计措施,此外,应在区域边界部署入侵检测系统(IDS)和防火墙(Tamura&Matsuura,2019)。
在谈到IDS时,还值得一提的是最近出现的零信任网络(ZTN)范式。其本质是以身份为中心的动态访问控制(Scott&Barry,2018)。它遵循“信任无一,验证一切”的模式,这意味着重构基于认证和授权的访问控制的信任基础。但是,BGP等路由协议与身份访问管理(IAM)服务之间缺乏集成等缺点。中兴通讯虽然火爆、普及,但建设之路漫长而阻塞。
入侵检测系统最早是在“入侵检测模型”(Denning,1987)中提出的,并取得了重大进展。二十一世纪,随着全球进入物联网模式,入侵检测技术的研究进入了一个争鸣的局面(Khan等人,2019)。他们的研究主要集中在网络消息和流量数据的特征提取和分析上。
目前常用的入侵检测方法有很多,如概率统计方法、推理模型、模式匹配、转移状态分析、专家系统、遗传算法、基于数据挖掘的入侵检测算法等。然而,机器学习方法的性能要优于其他方法,主要表现在较高的检测精度上。
传统的IDSs大多采用人工挖掘网络流量数据中关联规则的方法,存在计算复杂度高、数据特征提取不足的缺点。基于深度学习的网络攻击检测技术提取更准确的特征,降低计算复杂度,更有效地检测攻击(Feng等人,2019)。
一般来说,机器学习方法的优点有以下两个:
首先,通过学习现有的入侵数据,机器学习模型可以检测到未知或以前未检测到的攻击。
其次,机器学习方法可以从新的数据中获取信息,可以实时、批量地进行检索和预测,使得系统即使在入侵环境下也能继续工作,只需要最少的人工参与就可以修改算法。
Hinton教授(Hinton et al.,2014)于2006年首次提出了深度学习理论,近年来应用最广泛的入侵检测神经网络有深度信念网络(DBN)、反向传播(BP)网络、递归神经网络(RNN)、卷积神经网络(CNN)等。
Occam的剃刀原理:“简单的解决方案比复杂的解决方案更可能是正确的(Blumer et al.,1987)。”入侵检测是为了防御攻击,因此检测结果是否正确以及攻击类别是否被准确分类非常重要。目前的研究重点是寻找一种检测精度高、检测时间短的算法。
考虑到平衡分类精度和时间开销的需要,CNNs比RNNs具有更低的网络结构复杂度。
2相关工作
有许多数据集,例如DARPA98、KDD99、ISC2012、ADFA13和CICIDS2017用于评估入侵检测策略的性能。(Azwar等人,2018年11月)开始通过他们自己的预测标准对当前数据集进行广泛评估,结果发现CICIDS2017提供了更好的准确性。
一般来说,大多数正式研究都是在2009年(Tavallaee et al.,2009)提出的NSL-KDD数据集中进行的,自1998年以来对现有11个数据集的评估表明,大多数数据集都是过时的和不可靠的。而CICIDS2017数据集包含良性和最新的常见攻击,与真实世界的数据相似。
尽管CICIDS2017数据集是最近在2017年生成的,并于2018年开始进行实验(Sharafaldin等人,2018年1月),但已经取得了相当的研究成果。相关实验可分为以下三种类型:第一种是通过上采样或下采样实现样本均衡,使小样本类别也具有较高的识别精度。第二类是从原始数据集中提取一些特定的攻击样本,以对它们进行特定的识别。第三种是直接在原始数据集上进行实验,更符合真实攻击场景中的验证。
(Radford等人,201 模型的AUC得分为0.71或以上,平均值为0.87。然而,LSTM模型获得的最高平均AUC为0.71。
(Ustebay et al.,2018)提出了一种检测计算机网络中恶意软件的入侵检测系统。采用多层感知器(MLP)结构,通过递归特征消除和重要值计算对所选特征进行处理,检测出入侵,准确率达91%。
在另一项研究中,Resende&Drummond(2018)使用遗传算法检测入侵,他们的方法实现了92.85%的检测率和0.69%的假阳性率。该方法迭代地适应新的攻击和环境要求,如安全人员的偏好和可用的计算资源。他们分别对5天的文件进行了攻击分类实验。
此外,Watson(2018)应用了MLP分类器和CNN分类器,该分类器使用CICIDS2017的包捕获(PCAP)文件。他们选择特定的网络包头特征作为研究的目的。结果表明,CNN有效载荷分类算法被判定为劣于MLP算法。然而,该算法对入侵和良性流量的区分能力显著,平均真阳性率为94.5%,平均假阳性率为4.68%。
由于目前攻击分类算法的最高准确率在95%左右,因此还不够高。本文实现了深度学习方法,对简化的LeNet-5网络进行攻击分类。实验结果表明,该方法不仅降低了网络复杂度,而且减少了检测时间。
本文的主要贡献如下:
(1) 本文介绍了一种特征选择算法,采用随机森林分类器进行递归特征剔除,根据特征重要性排序的先后顺序选出前49个特征,使数据集的大小减少了37%。然后,提出了一种用于攻击检测的LeNet-4网络模型。删除了LeNet-5网络的第一个池层和最后一个全连接层,降低了前一个模型的计算量和网络复杂度,并通过双卷积层和单池层的结构增强了网络的自学习能力。
(2) 本文利用CICIDS2017数据集对该模型进行了评价,并利用数据集中的所有实例进行了综合检测。将原来的小样本攻击类别合并成8个组合攻击类别,以减少样本数量的不平衡。实验结果表明,在LeNet-4网络模型上,引入递归特征消除算法,在降低时间开销的同时,提高了攻击检测的准确性。多类分类的准确率为97.8%,二值分类的准确率为98.5%。
第三节介绍了递归特征消除方法和自适应LeNet-5模型。第四部分描述了实验过程,包括数据预处理过程、特征选择过程以及自适应LeNet-5攻击分类模型的实现。第五节给出了多类分类和二值分类的实验结果。第六部分是结论。
3提出的模型
3.1. 递归特征消除
特征选择是一个逐个评估的过程,用于确定哪些特征对数据集中的结果有效。其目的是通过降低高维数据的维数来获得相同或更高的精度(Kranti&Radha,2010)。递归特征消除(RFE)算法属于包装特征选择方法,通过迭代消除特征来衡量分类器的性能。
RFE算法通过将所有特征分配给分类器来计算模型性能,并计算发送给分类器的每个特征的重要性或排名。然后在迭代消除特征的地方创建子集。然后,对每个分类器模型进行重新训练,计算其性能。此外,还计算了特征在聚类中的排序值。根据分类器的不同,排名值可以通过信息增益法或基尼指数来计算。在最后一步中,算法确定使模型性能最佳的特征子集。
3.2. 自适应LeNet-5模型
LeNet-5模型是由Yann LeCun教授在1998年的论文《梯度学习在文档识别中的应用》(LeCun et al.,1998)中提出的。它是第一个成功应用于MNIST数字识别问题的CNN。MNIST数据集由32×32大小的灰度图像组成,而CICIDS2017数据集只有78个特征,特征选择过程选择了最重要的49个特征,因此可以将数据转换为7×7大小的灰度图像作为输入。
本节详细描述了用于多类分类的自适应LeNet-5网络的体系结构。自适应LeNet-5网络由五层组成,不计算输入,都包含可训练的参数(权值)。输入是7×7大小的灰度图像。CICIDS2017数据集有八个组合类别,因此网络输出有八个类别。
二分类与多分类的网络结构区别仅仅在于输出层的长度,二分类将数据分为正常和攻击两类,而不是八类。

如图2所示,卷积层标记为Cx,子采样层标记为Sx,其中x是层索引。LeNet5网络的采用体现在各层特征图的大小上。为了减少检测时间,删除了原LeNet-5网络的第一个池层和最后一个完全连接层。为了提高分类精度,将激活函数由原来的Sigmoid改为ReLU。
(1) C1层的卷积核大小为3×3,特征映射数为6。对7×7矩阵进行二维卷积运算,得到5×5的特征图。这一层总共有150个神经元。
(2) C2层的卷积核大小为2×2,特征映射数为16。对5×5大小的特征图进行二维卷积运算,得到4×4大小的特征图。这层有256个神经元。
(3) S3池层的大小为2×2,特征图的个数为16个。对4×4大小的特征图进行最大池运算,得到2×2大小的特征图。这一层总共有64个神经元。
(4) C4全连通层的卷积核大小为1×1,特征映射为120。对2×2特征图进行全连接操作,得到120×1特征图。这一层有120个神经元。
(5) 对全连通层的输出进行高斯连接运算,得到八类模型输出。
4实验过程
攻击分类的一般步骤如下:数据预处理、模型构建、模型训练和验证。CICIDS2017数据集包含8个CSV文件中的原始流数据。为了在CICIDS2017数据集上进行机器学习实验,需要完成几个数据预处理步骤,如图1所示。

4.1. 数据预处理
4.1.1. 文件合并
数据采集时间从2017年7月3日(星期一)上午9点开始,到2017年7月7日(星期五)下午5点结束,共5天。星期一是正常的一天,只包括良性交通。实施的攻击包括暴力FTP、暴力SSH、DoS、Heartbleed、Web攻击、渗透、僵尸网络和DDoS。他们在星期二、星期三、星期四和星期五的上午和下午都被处决。CICIDS2017数据集中的攻击列在表1中。

共有8个文件记录了5天的数据,本文去除了每个文件的标题(列名),并对所有文件进行了合并,实现了一个全面的攻击分类。合并文件包含表示无穷大的字符串“Infinity”和表示空值的字符串“NaN”。为了消除非数值数据对数据处理的影响,将两个非数值字符串替换为零。
合并后的文件包含2830743行网络流量数据,从各攻击类别所占比例来看,从0.0004%到80%不等。表2中列出了CICIDS2017数据集中攻击类别的比例。因此,很可能很小的攻击分类(如渗透、Web攻击-Sql注入和Heartbleed)根本无法正确识别。

4.1.2. 极值正规化
合并文件的最后一列是15种类型的字符串,包含良性和14种攻击类别。为了对攻击类别列进行数值处理,将原来的攻击类别字符串替换为数字0~14。
最小-最大归一化方法是对原始数据的线性变换。设最小值和最大值分别为属性X的最小值和最大值,通过最小-最大归一化变换,将原始值X替换为区间[0,1]中的值。公式为:

合并文件中有79列。前78列是网络流的相关特征,最后一列是攻击类别。最小-最大归一化只处理特征数据,因此除了攻击类别列之外,其余列都是在操作期间处理的。
4.1.3. 随机子集划分
神经网络模型通过训练数据和测试数据来评价模型的优缺点。但是,CICIDS2017数据集没有提供训练集和测试集,因此本文做了以下处理。
(1) 洗牌原始数据集。
(2) 随机收集20%的数据集作为测试数据集,其余80%作为训练数据集。
结果表明,分割后的测试集缺少“心血”攻击类别,本文从训练集中的11个“心血”数据中提取了2个,以保证训练集和测试集包含相同的攻击类别。
最终划分结果为2264592个训练集数据和566151个测试集数据。
4.1.4. 相似攻击类别组合
DoS和Web攻击这两类攻击的相似性并不影响异常检测的实际意义,在此基础上,本文将相似的攻击组合起来,将其分为良性攻击和七大类攻击。
下表列出了新的类别。再从各攻击类别所占比例来看,从0.001%到80%不等,样本不平衡度减少了一个小数点后。表3列出了CICIDS2017数据集中组合攻击类别的比例。

对攻击类别列进行onehot编码,其值包括0–14。
(1) 将原来的15个数字转换为0或1,分别表示正常或攻击,用于二进制分类。
(2) 将原来的15个数字转换成8个数字(0到7)进行多类分类,8个数字表示良性和以上7种常见的攻击类别。
将攻击标签和原始流数据的one-hot编码结果分别存储在训练数据集和测试数据集上,攻击标签作为正确的输出值,与我们提出的分类model.fs的预测输出值进行比较
4.2. 特征选择
表4列出了CICIDS2017数据集中15个攻击类别各自权重比例高的特点。本文选取了CSV文件(机器学习csv.zip)用于攻击分类。该文件包含78个特征,数据集中有26个最重要的特征,如表5中粗体所示。

特征选择的目的是增强模型的泛化能力。本文将特征数看作一个超参数,采用RFE算法对特征序进行递推。
数据集中的78个特征被发送到特征消除层。随机森林分类器识别出一个特征较少的聚类,并通过交叉验证增强了测试结果。表6列出了RFE算法的第1-78个特征(从左到右排列)的重要性顺序。这是RFECV中的排序数组,用于分类选定的特征和重要性(Wang等人,2019)。本文在特征选择后,选取了43个最优特征和2-7个重要特征作为实验中使用的49个特征。

4.3. 模型训练
在模型算法的优化中,前向传播网络采用线性整流层作为激励层,采用L2正则化权值衰减法避免过拟合。在输出层,采用logistic回归模型进行分类。反向传播网络采用交叉熵损失函数计算损失,梯度计算采用自适应矩估计方法。
5实验结果
实验在TensorFlow上进行,使用Intel(R)Xeon(R)CPU,频率为2.40GHz,无GPU加速,操作系统为Red Hat 4.4.7,内存为16G,采用500个历元和20个批量训练自适应LeNet-5模型进行多类分类和二值分类。
5.1. 准确性混乱度量
混淆矩阵是一种常用的分类模型评价方法。对于两类问题,除了计算精度外,我们通常定义正类和负类,它们由一个实类(行名)和一个预测类(列名)组成。表7列出了准确度指标。
●真阳性(TP)是正确分类的攻击记录数。
●真阴性(TN)是正确分类的正常记录数。
●假阳性(FP)是未正确分类的正常记录数。
●假阴性(FN)是错误分类的攻击记录数。

5.2. 多类别分类
本文提出的自适应LeNet-5网络在189秒的时间代价下,实现了97.8%的多类分类精度。实例数和评估分数列在下面的混淆度量和分数表中。
下面评估矩阵中的数据表明,各种攻击的分类结果与正常数据之间存在一定的交叉,即样本分类错误(攻击到正常,正常到攻击),各种攻击的分类之间几乎没有交叉。因此,后一步研究的重点是提高各种不同于正常流量的攻击识别的针对性。多类分类的价值度量如表8所示。

在某些情况下,精度过于简洁,无法充分反映算法的性能。除此之外,还有一些常用的指标,如准确度、召回率、F1成绩等。精准度和召回指标是矛盾的,它们是一对需要平衡的指标。F1分数结合了精确度和回忆。什么时候F1得分较高,比较表明实验方法是理想的。多类分类得分报告如表9所示。

由于CICIDS2017样本分布不均,两类攻击(0.07%网络攻击和0.001%渗透)的识别准确率均为零,结果远不理想。主要原因是攻击样本小,与正常数据的区分度很低,因此本文提出的模型不能识别这两类攻击。
5.3. 二元分类
在测试数据集上,采用自适应LeNet-5网络进行二值分类的准确率为98.5%,耗时129秒。实例数和其他分数列在下面的混淆度量和分数表中。从表10可以看出,有很多正常记录被错误分类(normal to attack),而被错误分类(attack to normal)的攻击记录则少得多,即FP率高于FN率。

在表11中的分类得分报告中,正常样本的分类结果较好,但攻击样本的精度和F1得分不太高。这主要是因为有些攻击被归类为正常流量。
与相关工作中引入的其他模型相比,该模型具有更高的性能。下表表明,我们的自适应LeNet-5模型具有较高的精度和F1分数,同时具有较低的FPR。有些数据在其他研究工作中没有给出,所以我们将其留空。不同分类模型的优缺点比较见表12。


6结论
网络攻击的威胁性和破坏性使得网络入侵检测的研究迫在眉睫,本文利用自适应LeNet-5网络对CICIDS2017数据集进行了两种攻击分类实验。我们提出的方法针对所有攻击家族的联合检测过程。在本文中,我们使用了CICIDS2017数据集的所有实例。我们的实验结合了5天的数据,实现了全面的攻击分类检测。
本文对LeNet-5模型进行简化,构建攻击分类网络,将数据集中原有的攻击类别小样本合并为8个组合攻击类别,以减少样本数的不平衡。在所提出的自适应LeNet-5模型中,权值衰减的L2正则化在模型训练过程中获得了精度的提高。多类分类的准确率为97.8%,二值攻击分类的准确率为98.5%。
实验结果表明,对小样本攻击的识别率仍然不高。在今后的研究中,不仅需要建立一个整体识别率较高的分类网络,而且需要建立一个对单个攻击具有较高识别率的分类网络,以达到较高的识别率。混淆矩阵中的数据表明,各类攻击的分类结果与良性流量之间存在一定的重叠,即样本被错误分类(攻击分类为正常,正常分类为攻击),而各类攻击的分类几乎没有重叠。因此,提高不同于良性流量的各种攻击的针对性是后续研究的重点。在不久的将来,我们将继续对算法进行优化,直到它能够在实际的网络流量场景中得到充分的测试和进一步的改进。

An adaptive LeNet-5 model for anomaly detection(翻译)相关推荐

  1. A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection(翻译)

    用于无监督异常检测的综合真实数据集 原文:https://ieeexplore.ieee.org/document/8954181 摘要 自然图像数据中异常结构的检测在计算机视觉领域的众多任务中具有极 ...

  2. 【论文合集】Awesome Anomaly Detection

    github:GitHub - bitzhangcy/Deep-Learning-Based-Anomaly-Detection Anomaly Detection: The process of d ...

  3. 论文阅读:CTF:Anomaly Detection in High-Dimensional Time Series with Coarse-to-Fine Model Transfer

    CTF:在高维时间序列异常检测 CTF:Anomaly Detection in High-Dimensional Time Series with Coarse-to-Fine Model Tran ...

  4. 论文阅读:**CTF: Anomaly Detection in High-Dimensional Time Series with Coarse-to-Fine Model Transfer

    CTF:在高维时间序列异常检测 CTF:Anomaly Detection in High-Dimensional Time Series with Coarse-to-Fine Model Tran ...

  5. 【A Unified Model for Multi-class Anomaly Detection, NeurIPS 2022】

    paper link: https://arxiv.org/abs/2206.03687 code: https://github.com/zhiyuanyou/UniAD Abstract 以前的无 ...

  6. (ch9) Deep Learning for Anomaly Detection: A Survey

    Deep Learning for Anomaly Detection: A Survey https://www.researchgate.net/publication/330357393_Dee ...

  7. 【Paper】Deep Learning for Anomaly Detection:A survey

    论文原文:PDF 论文年份:2019 论文被引:253(2020/10/05) 922(2022/03/26) 文章目录 ABSTRACT 1 Introduction 2 What are anom ...

  8. Real-world Anomaly Detection in Surveillance Videos监控视频中的现实世界异常检测

    监控视频中的现实世界异常检测,代码地址https://paperswithcode.com/paper/real-world-anomaly-detection-in-surveillance. 摘要 ...

  9. Machine Learning week 9 quiz: Anomaly Detection

    Anomaly Detection 5 试题 1. For which of the following problems would anomaly detection be a suitable ...

最新文章

  1. 元学习(meta learning) 最新进展综述论文,28页pdf
  2. bottle中文文档
  3. python类对象赋值_Python对象赋值、浅拷贝、深拷贝
  4. php redis key,redis 在 php 中的应用(key篇)
  5. 数据中心两种常用流量模型运用mininet的实现
  6. 安全密码存储–请勿做的事和Java示例
  7. 由Qt中qApp想到的(这是单例模式么???)
  8. 【EOJ Monthly 2018.10 - B】 莫干山奇遇 (思维构造,数学,数组,贪心)(总结)
  9. Git 分支相关操作
  10. 为什么好多人都要给Typec叫华为充电线?
  11. 如何用wget指定位置?
  12. SQL:postgresql求多个点组成的多边形的geom数据
  13. php win 输入密码,win10开机密码输入框不见了怎么办
  14. Atitit 2017年的技术趋势与未来的大技术趋势 1. 2017年的技术趋势 2 1.1. Web not native 2 1.2. 更加移动优先 ,,more spa 3 1.3. Ar
  15. 【程序人生】上海,想说爱你不容易
  16. 【影评】摔跤吧爸爸!
  17. 3D模型欣赏:永恒之王异形机甲风
  18. 2019年12月 视觉顶会论文收集
  19. 微服务入门|微服务架构怎么设计
  20. 设计一个车辆违章系统

热门文章

  1. 行业寒冬:java生成微信支付二维码
  2. ZeroMQ 中文指南 第一章 ZeroMQ基础【转载】
  3. 计算机中的PS颜色填充快捷键,ps颜色填充快捷键【设置办法】
  4. 一个屌丝程序猿的人生(八十三)
  5. GatewayWorker 与 Workerman的关系
  6. 2015搜狐新浪校招笔试题-12个物体天平称3次
  7. Oracle之数据对象(同义词、序列、视图、表空间、索引)
  8. 自动驾驶轨迹预测论文阅读(二)TPNet: Trajectory Proposal Network for Motion Prediction
  9. word单元格自动换行,适应文字
  10. matlab升幂降幂排列,升幂排列与降幂排列