说在前面:由于博主刚入门学习网络流量识别和检测这块,所以对于一些介绍里面的理论知识可能会全部摘抄下来,不过本系列写着写着基础知识就会少了。然后写方法,简单写一下方法的原理和原理图,最后说一下数据集和结果就行。

原文来自ACM或者EI网址,发表于ICISDM,是2019年4月发表的一篇文章,作者是阿姆里塔等人。

原文名字:网络入侵检测系统深度学习方法的比较分析(N-IDS):N-IDS 的深度学习

文章链接Engineering Village - Record Abstract View

全文在线文档链接A Comparative Analysis of Deep Learning Approaches for Network Intrusion Detection Systems (N-IDSs): Deep Learning for N-IDSs Journal Article | IGI Global (igi-global.com)

文章概述

文章第一节首先介绍了网络入侵检测(N-IDS)的相关理论知识,然后引出了深度学习方法相比于传统的机器学习的优良性,引出了深度学习在IDS方面的的特点(两条);

第二节接着介绍了深度学习最基本的两块知识:CNN和RNN,并简述了RNN的一些衍生;

第三节介绍了深度学习在IDS方面的相关工作,提出的一些分类器等,以及工作最常用到的数据集KDDCup-99;

第四节介绍背景,简介了RNN、LSTM、GRU、IRNN、CWRNN的基本原理;

第五节实验,首先对KDDCup-99数据集、NSL-KDD数据集和UNSW-NB15数据集进行了简介,然后对构建的网络架构进行了说明,包括超参数和优化函数的设置,以及各种对比试验及结果。

目录

摘要

第一节:介绍

第二节:深度学习

第三节:相关工作

1. 关于数据集

2. 关于算法

第四节:背景

第五节:实验

1. 数据集描述

 2. IRNN和LSTM的超参数选择

 第六节:总结


摘要

本文侧重于将深度分类技术应用于网络入侵检测系统(N-IDS),旨在提高网络连接分类为好坏的性能。本文将网络流量建模为时间序列数据,采用受监督的深度学习方法,如循环神经网络(RNN),初始值的标识矩阵(通常称身份循环神经网络)IRNN,长短期记忆网络(LSTM),时钟工作RNN(CWRNN)和封闭式经常性单元(GRU),利用KDDCup-99数据集来检测各种方法的有效性。主要目的是评估RNN对LSTM和IRNN等新引入方法的性能,以缓解长期依赖带来的梯度消失和梯度爆炸问题。比较不同网络模型和网络参数的性能,构建不同的模型,通过改变学习率范围0.01-0.5,跑1000个epoch,来检测每一个深度模型。IRNN的观测结果接近于KDDCup-99数据集上LSTM的性能。除了KDDCup-99外,我们还通过KDDCup-99的精简版本NSL-KDDUNSW-NB15 NIDS评估的深度模型的有效性。

关键词:N-IDS,IRNN,LSTM,GRU,KDDCup-99,NSL-KDD,UNSW-NB15 NIDS

第一节:介绍

随着通信技术系统的不断发展,网络犯罪有了多种多样的变化从根本上说,IDS根据网络类型及其行为,如

(1) 网络基础 IDS (N-IDS) 分为两种类型:取决于网络流量中数据包之前的数据来识别恶意活动

(2) 主机基础 IDS:依赖于软件日志等日志文件的内容, 系统日志、传感器、文件系统、特定主机或系统的磁盘资源。

组织使用网络和主机系统的交叉,在实时环境中有效攻击恶意活动。这已成为信息和通信技术系统和网络不可或缺的一部分。但是,与 N-IDS中现有的传统方法一起,检测不可预见的攻击的表现是不能接受的。

异常检测,状态完整协议分析和误用检测时网络流量数据分类的主要重要方法。误用检测也称为签名检测,根据预先定义的签名和过滤器,以有效的确定已知的入侵,但对于匿名入侵却无法检测过度依赖于人为更新语料库异常检测不是未知入侵的可靠检测方法,误报率高。市场上的大多数商业工具都是误用检测和异常检测的结合体。常用的强有力方法是状态完整协议分析,其使用软件供应商专有设计的功能来确定特定约定和应用程序的差异。

市场普遍存在的商业工具基于阈值计算方法统计措施,利用流量大小,达到时间,数据包长度等参数作为特征,来学习特定时间窗口内网络流量的运载模式。

机器学习方法是目前用于IDS的突出方法。这些基于ML的传统的实时IDS解决方法并不是很有效,因为模型的输出呈高误报率,且在识别新入侵方法无效。主要原因是机器学习模型之恶能识别TCP/IP包中简单特征的攻击模式。然而,新出现的深度学习取得了显著成果。

深度学习方法有两个基本特征:(1)能够全方位的学习TCP/IP数据包的复杂层次特征表示;(2)能够在大量TCP/IP数据包中记住过去的信息

本文首先概述了一些比较琐碎的深度学习算法,随后比较了IRNN和用于其他解决N-IDS长期依赖性的方法的有效性,构建了网络结构和详细参数的实验评估细节。

第二节:深度学习

CNN和RNN是最常用的深度学习方法。

(1)CNN:在计算机视觉领域使用频繁。通过在矩形区域上使用滤波器(即卷积核)逐层提取复杂特征,复杂特征表示较高级别的特征,一般由一组较低级别的特征组成。分层特征允许CNN以不同级别的抽象方式学习数据。同时,Relu激活函数相比于sigmoid或者tanh更容易训练。

(2)RNN:用于序列数据建模,学习可变长度输入序列中隐藏的序列特征。为了改进大规模序列数据长时间依赖产生的梯度爆炸和消失问题,有三种解决方法。

——改进算法中的参数优化方法:Hessian-free优化法;

——在网络结构的隐藏层引入复杂组件,如:LSTM,GRU,CWRNN;

——适当的权重初始化:已经证明带有ReLU的RNN(涉及将单位矩阵适当初始化为循环权重矩阵)能够在性能上更接近LSTM;

通过对语言建模和声纹识别(SR)两个问题的4个实验进行评估,这一点得到了证实。他们将RNN的新结构命名为身份递归神经网络(IRNN)。IRNN背后的基本思想是,在输入不足的情况下,RNN无限期地保持相同的状态,其中RNN由ReLU组成,并用单位矩阵初始化。

第三节:相关工作

1. 关于数据集

说明了KDDCup-99数据集是最常用的衡量机器学习模型性能的标准N-IDS数据集。

2. 关于算法

已经提出了很多分类器,如:

(1)与SVM结合的神经网络;

(2)ANN与模糊网络;

(3)决策树与神经网络;

(4)RNN神经网络及LSTM;

为了理解网络连接记录之间的正常和恶意行为的时间模式,用隐藏标记模型(HMM)模拟了网络连接记录的正常和恶意行为的时间模式。与MLP相比,HMM模型非常出色。

第四节:背景

介绍了RNN,LSTM,GRU,CWRNN,IRNN等的原理。

此处不再一一赘述,我在另一个专栏里写了这些文章,链接如下:

RNN:

LSTM:

GRU:

IRNN:

CWRNN:

第五节:实验

使用BPTT方法进行反向传播,用于训练所有深度学习算法。

1. 数据集描述

KDDCup-99,以及修改的KDDCup-99,通过一些方法进行了过滤,得到了NSL-KDD数据集,以及最近推出的数据集,即UNSW-NB15。但是这些数据集都不代表真正的网络流量。

下表是(1)10%完整数据集;(2)NSL-KDD 的综合描述:

 KDDCup-99数据集挑战的公布结果达到了较高的检测率,但攻击类别的DoS、Probe、R2L和U2R的检测性能很低。改进的一种可能方法是在现有的KDDCup-99数据集添加一些R2L和U2R的记录。

NSL-KDD是KDDCup-99数据集的修改版本,通过一些方法进行了过滤,但依然不能代表真实世界网络流量特征。

为了克服两者的问题,澳大利亚网络安全中心推出了UNSW-NB15,该数据集包括网络流量的最新数据模式,包括与入侵、应用程序、协议或较低级别的网络实体相关的正常和恶意连接功能。该数据集以两种公开方式提供:(1)完整数据集;(2)数据集的一小部分。一小组数据集有 175,341 条训练集连接记录和 82,332 条测试集连接记录。综合描述见表2:

 2. IRNN和LSTM的超参数选择

使用RNN,IRNN,CWRNN,LSTM和GRU分别构建神经网络。由输入层,隐藏层,输出层三层构成。输入层41个神经元隐藏层64个神经元表现最为良好,输入层与隐藏层神经元之间全连接。输出层将攻击分类为5类,或者将连接记录分为正常或者攻击两类。

模型在KDDCup-99 培训数据集的10%训练和测试。对于超参数配置,0.01-0.5内的学习率,0.05表现最好,使用混淆矩阵识别每个网络的性能。所有模型运行300个epoch,batch大小32adam优化器和交叉熵作为损失函数。同时,较少的隐藏层神经元很好的识别高频攻击,但在检测低频攻击方面无效。较低的学习率在将连接记录识别为正常或者攻击并分类到相应类别方面表现良好。0.05的学习率至少需要1000个epoch才能很好的泛化攻击模式。

以下网络架构用于选择最佳网络结构,用于使用 KDDCup-99 培训 IDS 模型:

  • 1. RNN/IRNN/LSTM/CWRNN/GRU 1 层
  • 2. RNN/IRNN/LSTM/CWRNN/GRU 2 层
  • 3. RNN/IRNN/LSTM/CWRNN/GRU 3 层
  • 4. RNN/IRNN/LSTM/CWRNN/GRU 4 层

每个网络首先采用400个epoch,在DoS和Probe等高频攻击中检测率较高,但在检测率较低的低频攻击中表现不佳,于是提高到1000个epoch。所有的网络中,IRNN和LSTM表现最好。

接下来摘抄一些结果:

(1)不同学习率中,表现最好的IRNN的情况:

 (2)IRNN网络在0.05最优学习率上,对不同攻击现实的检测率,说明不同的攻击对不同的epoch迭代来学习其行为。但复杂的IRNN网络需要多次迭代,总能达到最高的检测率:

 在四层RNN/IRNN/LSTM/GRU/网络上进行了三次实验,训练集30%用于验证,特征分别设置为4、8和11。相比之下,8和11个特征精度良好。此外,11的网络拓扑效果结构比8好。

(3)KDDCup-99 和 NSL-KDD 的 IRNN 网络性能

 

 (4)测试结果摘要:显示出三种特征集下IRNN都优于LSTM

(5)NSL-KDD数据集上网络的ROC曲线:

 (6)下标描述在三个数据集上的表现,IRNN更好:

(7)多分类任务中,对相应攻击进行分类,500个epoch,在10%KDDCcup-99上执行: 

 第六节:总结

总的来说,IRNN在DoS和Probe攻击检测中体现出良好性能,因为它们形成了独特的网络事件时间序列。同时,对低频攻击分类性能良好。在大多数情况下,低频攻击类别会生成单个连接记录。当这些低频攻击信息隐藏在其他连接记录中时,提取这些攻击似乎很困难。总的来说,RNN 及其变种提高了与 KDDCup-99 挑战胜利条目和其他先前公布的结果相关的检测率。此外,还对NSL-KDD和UNSWNB-15 N-IDS数据集的IRNN机制的综合性能进行了评估。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐