本文翻译自Rabeb Zarai1*, Mnaouer Kachout2,3, Mohamed A. G. Hazber4, Mohammed A. Mahdi4所著Recurrent Neural Networks & Deep Neural Networks Based on Intrusion Detection System。中文版权归控安轩辕实验室所有。
摘 要
计算机安全已经变成一个主要的挑战,已经开发了工具和机制来确保一定程度的合规性,入侵检测系统就包括其中。入侵检测系统常见的原则就是去探测试图去攻击一个网络和识别非正常的活动和行为。其原因包括搜索攻击类型的不确定性和高级网络攻击的复杂性增加,因此IDS需要集成深度神经元网络(DNN)和更精确的长期记忆(LSTM)循环神经元网络(RNN)等方法。在这篇文章中,DNN和LSTM用于预测针对网络入侵检测系统(NIDS)的攻击。在此内存中,我们为所有深度学习算法使用了四个隐藏层,4-1个输入层和2个输出层以及100次迭代。事实上,学习保持在0.01不变,而其他参数得到优化。DNN处理后,第一隐层神经元数进一步增加至1280,但准确性无明显提高。因此,神经元的数量被设置为1024,而LSTM我们将所有隐含层的神经元数量设置为32。对结果进行了比较,得出结论为三层LSTM的性能优于所有其他传统的机器学习和深度学习算法。
1. 简 介
今天,信息系统代表了所有企业的基本要点,无论它们的规模或活动的部门。然而,这些信息系统所存储的数据和提供的服务本身就是各种攻击的潜在目标。由于它们对系统的多样性和特殊性,这些攻击可能会产生灾难性的后果。在这种背景下,计算机安全已经成为一个主要的挑战,这方面的研究工作也在增加。各种工具和机制的发展,以确保安全水平,满足现代生活的要求。这些工具包括入侵检测系统(IDS)。IDS是用来检测网络攻击企图的工具,用于识别旨在干扰系统正常运行的异常活动和行为。入侵检测分为基于网络的入侵检测系统(NIDS)、基于主机的入侵检测系统(HIDS)和混合入侵检测系统。一般通过将网络接口卡置于混杂模式以捕获所有网络流量段来安装IDS系统。而HIDS用于监视到特定主机的加密流量数据。它处理从单个计算机系统中收集的信息。混合IDS融合了NIDS和HIDS的特性。它们允许去监控网络和基于IDS的网络。
IDS是用来检测内部或外部人员对计算机网络的未经授权的使用、误用和签名的工具。为了检测系统可能遭受的攻击,有必要使用专门的软件来收集通过系统的数据,这些数据随后将在检测过程中使用。有几种工具可以完成这项任务,其中我们引用了网络流量嗅探器,如Wireshark、Snort和Prelude。但是,这种收集工具的数据量很大,用现有的方法进行处理非常耗时。
基于机器学习(ML)的IDS系统的算法,例如K-means,隐马尔可夫模型和自组织映射(SOM);神经网络,决策树,朴素贝叶斯和支持向量机。不久前,深度学习(DL)刚刚在许多领域带来了革命性的变化,并在计算机视觉和自然语言处理等领域提供了最先进的性能。深度结构的结果是,深度神经网络(DNN)算法可以熟练地学习具有多层抽象的数据中的复杂模式[18],使其成为学习位于网络流量数据中的复杂模式的理想候选者。因此,基于DNN的入侵检测(DNN -IDS)算法在最近的工作中得到了广泛的关注。这项工作的目的是提出一种基于学习算法的新方法,该算法允许预防,检测和响应攻击,以防止再次发生相同的攻击。检测允许标识违反安全策略的某个特征。由于当前操作系统或程序缺乏安全性,所以使用入侵检测(IDS)。异常导致的大规模IDS部署被它们产生的太多的假阳性结果所阻止。为了在提高检测精度的同时减少这个数字,有必要使IDS最好地适应它必须监视的网络。因此,我们将提出一种使用深度学习算法的自动入侵检测方法,该方法可以通过将一个新的恶意软件样本引入到分类中来提供一个即时更新。
格式化程序将需要创建这些组件,并合并随后的适用标准。
2. 基于深度学习的入侵检测方法
深度学习是机器学习的一个子集。在实践中,所有的深度学习算法都是神经网络,具有一些共同的基本性质。它们都是由层层排列的相互连接的神经元组成的。区别它们的是网络结构(或者神经元在网络中是如何组织的),有时它们是如何形成的。
这种使用深度学习技术的IDS技术使我们能够全面了解目前在这个领域中正在进行的工作。模型及其参数的选择基本上取决于期望的结果,特别是IDS是一个NIDS这一事实。
基于无监督机器学习技术的行为IDS具有一定的优势,因为它们不需要知道所有的攻击来检测一个攻击。所以他们适应了攻击的发展。
本着这种精神,我们提出了深度学习的主要方法。下面的列表并不详尽,但它代表了今天使用的绝大多数算法:根据其设计目标,深度学习可以分为两大类:无监督学习的深度网络和有监督学习的深度网络。
2.1. 无监督的深度学习方法
深度自动编码器:自动编码器是一种基于人工神经网络的无监督学习算法,它创建了一种新的数据集表示。近年来,自动编码器的概念在生成模型学习中得到了越来越广泛的应用。自动编码器的结构由编码器和解码器两部分组成。F. Farahnakian等人[19]提出使用深度自动编码器(DAE)作为最著名的深度学习模型之一。为了避免溢流和局部最优,提出的DAE模型以avid层的方式形成。KDD-CUP 99数据集的实验结果表明,我们的方法在精度、检出率和误报率方面比其他基于深度学习的方法有了很大的改进。
受限玻尔兹曼机:受限玻尔兹曼机或RBM是一种人工神经网络,其中神经元被组织成两层,即可见层和掩蔽层。与直接重传网络不同,RBM数据可以从可见单元流向隐藏单元,也可以从可见单元流向隐藏单元。RBM是最流行的深度学习工具之一,因为它能够以监督和非监督的方式了解进入的概率分布。它是由Paul Smolensky在1986年推出的,名字叫Harmonium。S. Seo等人将RBM定义为一种不使用类标签的无监督学习。RBM是一种概率生成模型,它根据形成的概率组合新的输入数据。RBM编制的新数据表明,输入数据中去除了噪声和异常值。将新合成的数据应用到网络入侵检测模型中,消除了噪声和异常值对学习的负面影响。它们提供噪音,并通过将数据应用到RBM并组合一个新数据来删除KDD Cup99数据中的异常值。然后利用已有数据与剔除噪声和异常值的数据之间的结果。
2.2. 监督式深度学习方法
递归神经网络:一个递归神经网络或RNN看起来像一个传统的神经网络是人工神经网络。在传统的神经网络中,模型通过输入与权重和激活函数相乘来产生输出。在RNN中,信息可以向两个方向传播,包括从深层到底层。在这一点上,他们更接近真正的神经系统的功能,这不是单向的。这些网络有重复的连接,因为它们把信息保存在内存中。理论上,RNN应该能够按时传输信息。但是,当时间步长时,很难传播所有这些信息。当一个网络有太多的深层时,它就会变得难以管理。这个问题叫做:消失梯度问题。如果你还记得,神经网络使用梯度下降算法更新权重。当网络下降到较低的层时梯度减小。为了克服RNN可能遇到的消失梯度问题,Hochreiter、Schmidhuber和Bengio三位研究人员改进了RNN,采用了一种称为短期记忆(LSTM)的结构。这篇文章描述了顺序数据建模如何是一个相关的网络安全任务。此外,堆叠循环神经网络(S-RNN)有潜力快速学习复杂的时间行为,包括稀疏表示。为此,作者将网络流量建模为时间序列,特别是使用监督学习方法在预定义的时间范围内使用数百万个已知的好的和坏的网络连接的传输控制协议/internet协议(TCP/IP)包。为了发现最佳的体系结构,作者全面回顾了各种RNN体系结构及其网络参数和网络结构。他们使用Kddcup-99挑战数据集的登录记录。
人工神经网络:人工神经网络或人工神经网络的灵感来自于人类的大脑,由相互连接的人工神经元组成,能够对其输入进行特定的计算。输入数据激活网络第一层的神经元,其输出是网络第二层神经元的输入。类似地,每一层都传递到下一层,最后一层产生结果。当使用ANN作为分类器时,输出层生成最终的分类类别。V. Golovko等人提出使用人工免疫系统和神经网络来检测对计算机系统的攻击。介绍了基于人工免疫网络的攻击检测系统的设计原理,给出了攻击检测系统的体系结构。
深度神经网络:深度神经网络或DNN是一种人工神经网络(ANN),在输入-输出层中具有多层结构。它们可以对复杂的非线性关系建模,并可以生成计算模型,其中对象以原语的分层组合表示。近年来,深度神经网络在许多领域产生了革命性的变化,并在计算机视觉和自然语言处理等领域提供了前沿性能。Kasun等人的[23]提出了一种方法,生成离线和在线反馈给用户的DNN-IDS决策过程。离线状态下,用户可以通过训练过的dn - ids报告与检测每种入侵类型最相关的输入特征。在线上,对于每次检测,用户都会报告对检测贡献最大的输入特性。这可以是二叉树,其中数据指示是否存在攻击,其中可以是多项输入记录,其中输入记录可以来自特定的攻击组。
3. 提出的方法
我们已经提出了三种基于深度学习算法(DNN和RNN)的入侵检测系统方法,其中包括Kddcup99数据库,这些方法将在下一章中进行定义。
3.1. 基于DNN的入侵检测系统
我们提出了一种深度神经网络或DNN的算法,该算法的输入层包含41个输入,4个隐藏层和2个输出的输出层,输入层到隐藏层的神经元和隐藏到输出层的神经元完全连接,并与100迭代。实际上,在其他参数被优化的同时,学习保持恒定在0.01。此后,对于DNN,第一个隐藏层的神经元数量进一步增加到1280,但准确性没有明显提高。因此,神经元的数量设置为1024。我们更喜欢将Relu激活用于隐藏层(原因是Relu激活函数在神经网络体系结构中,尤其是在卷积网络中最常用,因为事实证明,Relu激活函数比神经网络结构更有效。自2017年以来,此激活函数在深度神经网络中最受欢迎),而softmax在输出层到其他激活函数的应用最为广泛。
通常,与增加层中的神经元数量相比,增加层数会产生更好的结果。因此,使用以下网络拓扑来检查和总结输入数据的最佳网络结构。我们为所有用例提出了一种具有1、2、3、4层的DNN架构,如图1所示。DNN架构的详细信息和配置细节如图2所示。
3.2. 基于RNN的入侵检测系统
考虑到具有短期记忆(LSTM)的递归神经网络(RNN)可以从特征表示中学习并自动对长期时间依赖性进行建模,如我们在第7部分中所见,我们提供了端到端完全连接的深度LSTM用于基于攻击的动作识别。
我们将所有隐藏层的神经元数设置为8,然后是16,最后是32。我们提出了一种RNN架构,如图3所示。RNN架构的详细信息和配置细节如图4所示。
3.3. 用于NIDS的数据集
几年来,研究小组已经为Sdis创建了数据集。这些集合提供了各种深度学习模型的学习数据和测试。此外,它们还提供了比较多个IDS在同一数据收集上的性能的可能性。这些数据集表示分组在一起的系统信息。这些数据可以通过模拟器或实际系统获得。用于我们实验的数据是来自KDD-Cup 99数据库的实际数据。
这些数据是由MIT Lindcoln实验室为DARPA 1998入侵检测评估程序收集和控制的数据构建的。这是与第五次知识发现和数据挖掘国际会议KDD-99一起举行的第三届国际知识探索和数据挖掘工具国际竞赛中使用的数据集。竞赛的任务是建立一个网络入侵检测器,这是一种能够区分“不良”连接(称为入侵或攻击)的预测模型。
数据集包含41个要素和5个类(“普通”,“ DoS”,“探针”,“ R2L”,“ U2R”)。
DOS(拒绝服务):拒绝服务攻击是一种攻击方式,黑客产生的计算或内存资源太忙或太饱和,无法满足合法的网络需求,从而阻止用户访问内存资源。l
探测:它的动作不是破坏性的,因为它们不是破坏性的,不会阻止实体正常运行,而是允许获取有时对稍后进行更大攻击至关重要的信息。 l
U2R(用户到根用户攻击):远程用户攻击是指用户通过Internet向计算机发送数据包的攻击,万一暴露了计算机的漏洞并利用了A2R的特权,用户将无法访问该数据包。本地用户将在计算机上使用。l
R2L(远程到本地访问):其攻击是指黑客使用普通用户帐户在系统上启动并试图滥用系统漏洞以获得超级用户权限的操作。
表1给出了比赛中不同连接标签所用数据的10%的样本的准确分布。
4. 结 果
为了评估我们检测异常的方法,我们比较了四种常用的缺陷检测模型架构,如表2所示,并得出结论,DNN3更有效。
对于LSTM异常检测模型的评价,我们比较了四种常用的异常检测模型架构如表3所示,得出LSTM3更为有效的结论。
为了评估我们提出的异常检测方法的性能,我们与其他常用的异常检测模型进行了比较,结果显示我们的方法是快速的,如表4所示。
根据所获得的结果,我们可以说,这种基于深层两层学习算法的方法使预防、检测和响应攻击成为可能,以防止相同的攻击再次发生。检测允许识别违反安全策略的特定特征。该方法允许我们使用深度学习(机器学习)算法自动进行入侵检测,允许我们在新的恶意软件样本引入分类系统后立即对其进行更新。如前所述,我们的发现很有趣。但是,这种方法仍有需要改进的地方。
5. 结 论
这项工作的目的是提出一种基于学习算法的新方法,使预防、检测和响应攻击成为可能,以防止相同的攻击再次发生。检测允许识别违反安全策略的特定特征。这使我们能够使用深度学习(deep learning)算法自动进行入侵检测,该算法可以在新恶意软件样本引入分类系统后立即更新样本。结果很有趣。但是,这种方法仍有需要改进的地方。
未来的网络安全技术可能会在进一步整合各种可用的深度学习工具,以确保网络安全,因为设备安全管理是一项日益复杂和广泛的任务,同时安全需求也在不断增长。本章详细介绍了DNN和LSTM在SDI中的作用。考虑到其他传统的ML算法和其他DL算法,本研究主要使用Kdd-Cup 99数据集作为基准测试工具,从而清晰地记录了DNN和LSTM相对于其他比较算法的优越性。为了进一步完善算法,本文考虑了不同隐含层数的LSTM,得出三层LSTM对所有层都是有效且准确的结论。
网络安全技术的未来可能在于进一步整合各种可用的深度学习工具(Convolutional Neural Networks或CNN),以确保网络的安全。
已完成
数据加载中