《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 基于深度学习的入侵检测系统综述

基于深度学习的入侵检测系统综述

2021-09-11
来源:信息安全与通信保密杂志社
关键词: 深度学习 入侵检测

随着入侵者的攻击手段日趋智能化、复杂化,传统的机器学习技术对异常攻击行为的检测有效性在下降。近年来,深度学习以其独特的学习机制,利用大数据和高算力达到学习的高准确率。通过广泛的文献调查,目前已经有很多基于深度学习设计的入侵检测系统。本综述在对传统机器学习技术和深度学习技术进行对比后,详述了基于深度学习和数据集的入侵检测系统。

  0

  引 言

  近年来,大数据、人工智能、云计算和 5G技术得到迅猛发展,网络的应用也变得更广泛和便捷。据中国互联网络信息中心(CNNIC)发布的第 47 次《中国互联网络发展状况统计报告》显示,截至 2020 年 12 月,我国网民规模达到 9.89亿人,较 2020 年 3 月增长 8540 万人,互联网普及率已达 70.4%。网民规模的扩大,引入了更大的网络流量和网络攻击面,使得保护网络信息和通信安全成为一个更具挑战性的问题。入侵检测系统(Intrusion Detection System,IDS) 对提高系统的安全水平起着至关重要的作用。

  随着网络攻击的复杂性和网络功能的多样化,传统的入侵检测技术存在误报率高、适应性差和检测率低的问题。因此,我们需要研究新的入侵检测技术来提高入侵检测系统的安全检测能力。近年来,深度学习[1] 在图像识别、语音识别、自然语言处理等方面取得了惊人的成绩。深度学习技术在处理复杂的大规模数据方面具有出色的性能,这也为处理多特征入侵数据带来了新的思路。深度学习在网络入侵检测领域的灵活应用可以有效提高检测率,降低误报率和漏报率。

  本文从以下几方面展开研究:第一,提出当前的网络安全防护存在的一些问题;第二,介绍了基于机器学习和深度学习的入侵检测技术,并对这两种技术做了分析比较;第三,介绍了入侵检测系统训练的必需因素数据集;第四,对深度学习模型结合数据集在入侵检测系统上的应用和近几年相关研究工作做了综述;第五,对全文进行了总结,并对今后的工作进行了展望。

  1

  安全防护现状

  随着新兴技术突飞猛进的发展,信息技术的应用已经逐步渗透到各行各业中,为我们的工作和生活带来便捷和智能服务的同时,也带来了逐步加剧的网络安全问题。其中,零日攻击、APT 攻击、勒索病毒攻击等智能化攻击日益猖獗。在信息化时代中常见的网络安全问题如下。

  (1)用户操作不当:计算机产生的安全问题和用户的操作不当有着密切的关系。对于使用网络的普通用户而言,因缺乏必要的计算机网络安全知识,没有对网络系统进行有效防护,比如用户密码过于简单、将个人信息随意泄露给别人。对于网络管理员而言,因为新的网络系统非常复杂,配置操作容易出错,这些错误很可能会被黑客利用,存在大量的安全隐患。

  (2)网络系统存在缺陷:相关的开发人员在最初设计软件系统时,没有充分考虑系统的安全性问题,导致软件在开发过程中会出现一些安全漏洞。尽管有一些测试工具可以发现和修复一些漏洞,但是不可能完全修复。一旦出现严重的安全隐患问题,这一漏洞便会成为很多黑客进行网络攻击的突破口。黑客在未经用户允许的情况下修改计算机系统,造成用户信息丢失或泄露。

  (3)内部威胁日益严重:大部分组织都会设置防御系统,制定防范机制来保护内部系统不受外部攻击,往往忽视了来自内部员工的威胁。在信息化时代中,员工越来越容易拿到内部访问权限,一旦这些员工做出恶意行为,所造成的内部威胁很难被及时发现,带来的危害性更大。

  (4)防护机制更新不及时:网络攻击方式千变万化,使新型攻击往往可以绕过防护和检测机制,入侵防御系统规则库的更新速度跟不上攻击变种的速度,导致安全防范滞后。因此需要通过动态学习和自动更新机制来升级安全解决方案。

  以上因素推动了入侵检测系统的发展,研究设计智能化的入侵检测系统具有十分重要的应用前景。

  2

  入侵检测技术

  入侵检测系统(Intrusion Detection Systems,IDS)是一种非常重要的软件或硬件安全工具,用于检测可能出现的威胁,防止未经授权的访问或滥用,并向安全管理员报告攻击。入侵检测系统按引擎检测机制分类可分为基于签名检测的 IDS 和基于异常行为检测的 IDS。

  (1)基于签名检测的 IDS:根据已知的签名进行检测,这种方法能有效识别签名库中已有的攻击,但无法识别未知攻击和已知攻击的变种。

  (2)基于异常行为检测的 IDS:通过学习网络流量行为来对流量进行分类,可以检测未知的攻击。

  第一种方法能高效准确地识别出攻击,但它检测不出新型的攻击,比如零日攻击,所以整体的检测率较低。而第二种方法更具灵活性、健壮性和可扩展性。因此,为了实现动态入侵检测系统,主要推荐基于异常行为的检测技术。目前常用的是基于机器学习和基于深度学习对入侵检测中的异常行为进行检测,以下将对这两种技术做概括介绍。

  2.1 基于机器学习的入侵检测技术

  机器学习是人工智能的一个分支,主要研究通过经验来自动改进计算机算法,常见的机器学习模型如下。

  1)数理统计(Statistical):通过检查用户或系统的正常行为和异常行为来创建统计模型,统计模型可以用来识别新的攻击。常用的统计方法有主成分分析、卡方分布、高斯混合分布。

  (2)支持向量机(Support Vector Machine,SVM):支持向量机是一种在数据样本有限的情况下检测入侵事件的有效方法。向量机的目标是以最合适的方式用一个特征向量来区分两种类型数据。它们有很多应用领域,如人物识别、声音识别等,是机器学习中的经典模型。

  (3)数据挖掘(Data Mining):数据挖掘是从采集的海量数据中提取大量的信息,通过分析用户与数据之间的关联关系来提取关键规则,是用户行为分析的常用方法。

  (4)基于规则集(Rule-Based):由安全研究人员分析网络中的攻击流量,提取关键规则,从而在这基础上降低数据维度后再对入侵行为进行检测。该方法在一定程度上可以减少检测计算量,提高检测效率。

  (5) 人 工 神 经 网 络(Artificial Neural Network,ANN)[2]:人工神经网络是一种智能的信息处理模型,它模拟人类大脑对信息进行加工、存储和处理。神经网络通过学习获得知识,并将学到的知识存储在连接点的权重中。该模型具有学习性和自适应性,并且可以识别未知入侵。

  2.2 基于深度学习的入侵检测技术

  深度学习通常是人工神经网络的改进,是一种深度神经网络(Deep Neural Network,DNN),用于特征提取、感知和学习。“深度”是指神经网络中隐藏层的层数。传统的神经网络只包含到 2~3 个隐藏层,而深度神经网络可能包含高达 150 个隐藏层。深度学习使用多个连续层执行操作,各层相互连接,每层接收前一层的输出作为输入。简单的深层神经网络如图 1 所示,其包括一个输入层、三个隐藏层和一个输出层;输入维是 6,输出维是 2;隐藏层分别包含 12 个、6 个和 3 个神经元。

  图 1 简单的深度神经网络

  在深度学习中,不是人工去提取特征,而是使用有效的算法来自动提取数据特征。深度学习被应用于多种领域,比如语音识别、无人驾驶、图像识别与分类、自然语言处理、生物信息学等。

  深度学习和机器学习的区别如下。

  (1)在深度学习中,需要输入海量数据进行训练才能使算法模型达到最理想的状态;而在机器学习中,大量的数据并不能提高模型的性能。

  (2)在深度学习中,自动从数据中提取特征;而在机器学习中,特征由专家来指定。

  (3)在深度学习中,需要在高性能机器上工作;而在机器学习中,可以在性能不高的机器上工作。

  (4)在深度学习中,问题是端到端解决的;而在机器学习中,先将问题分成几部分,再逐个解决每部分的问题,然后形成解决方案。

  (5)与传统的机器学习相比,深度学习可以对输入的高维特征进行多次抽象变换,使它具有较强的特征表达能力,更利于解决许多复杂特征问题。

  深度学习常见的 4 个模型为深度前馈网络(Deep Feedforward Network,DFN)、 递 归 神经 网 络(Recursive Neural Network,RNN)、卷 积 神 经 网 络(Convolution Neural Networks,CNN)、自编码器(AutoEncoder,AE)。

  (1)深度前馈网络:也称为全连接前馈神经网络或多层感知机。在前馈神经网络内部,信息从输入层向输出层传播,只能单向传播,不能反向传播。

  (2)递归神经网络:也称为循环神经网络,能有效处理序列数据。与深度前馈网络不同,神经元的输出可以在下一个时间戳直接作用到本层神经元上。主要应用在文本描述、语音识别、机器翻译等领域。

  (3)卷积神经网络:包括卷积层、池化层、全连接层,能够在保留图片特征的前提下,将大数据量的图像有效降维到小数据量。主要应用在图像分类、人脸识别、骨骼识别等领域。

  (4)自编码器:是一种无监督的神经网络模型,由编码器和解码器组成,主要目的是将输入值编码成中间值,然后将中间值解码,使输入数据被重构,从而实现降维。

  3

  入侵检测数据集

  数据集是评估和训练基于异常行为检测的入侵检测系统的必需条件。入侵检测数据集分为主机数据集和网络数据集。因为本文重点关注的是网络入侵检测系统,所以这里仅讨论基于网络的数据集。本节将介绍入侵检测系统中最常用的数据集。

  3.1 KDD Cup99 数据集

  KDD Cup99[3] 数据集在 1999 年设计完成,为智能入侵检测系统的研究奠定了基础。KDDCup99 数据集分成具有标识的训练数据和未加标识的测试数据,总共约有 500 万条记录其中攻击数据约占 80%。数据集中共有 41 个特征属性,可分为基本特征、流量特征和内容特征。该数据集中的数据可分为 5 大类别,其中攻击类别有 4 类。

  (1)正常类别:没有攻击类型的数据。

  (2)攻击类别:拒绝服务攻击类(Denial of Service,DoS)、探测攻击类(Probe)、远程对本地攻击类(Remote-to-Login,R2L)、用户对管理员攻击类(User-to-Root,U2R)。这 4种攻击类别中包含了 22 种攻击。

  3.2 NSL-KDD 数据集

  为了使深度学习算法在 KDD Cup99 上更好地工作,研究人员在 2000 年基于 KDD Cup99 数据集创建了 NSL-KDD[4] 数据集。该数据集删除了 KDD Cup99 中重复的记录,减少了数据量。NSL-KDD 包含了 KDD Cup99 数据集的基本记录和数据特性,识别的攻击类别都和 KDD Cup99数据集一样。但有以下不同。

  (1)由于训练集中没有冗余数据,分类器不会偏向更频繁的记录。

  (2)因为测试集中没有重复的数据,所以检测率更为准确。

  (3)每个难度级别组中选择的记录数与原始 KDD 数据集中记录的百分比成反比。这将对不同学习技术的准确评估更有效。

  3.3 UNSW-NB15 数据集

  UNSW-NB15[5] 数据集由澳大利亚网络安全中心实验室在 2015 年设计完成,是一个开源的数据集。数据集的训练是利用 IXIA 流量生成器,根据 CVE 网站上公开的漏洞信息技术,尽可能模拟真实的攻击环境。该数据集共有 49 个特征属性,类似 KDD Cup99 数据集,包括 5 个流量特征、13 个基本特征、8 个内容特征、9 个时间特征、12 个其他特征、2 个标记特征。

  该数据集按训练集和测试集做了分割,在训练集中共有 175341 条记录,在测试集中共有82332 条记录,分别以 CSV 文件格式保存。数据集包含模糊攻击类、社会工程学攻击类、后门攻击类、拒绝服务攻击类、漏洞利用类攻击类、 泛型攻击、扫描攻击类、Shellcode 攻击类、蠕虫攻击类等。

  3.4 CIC-IDS 2017 数据集

  CIC-IDS 2017[6] 数据集由加拿大网络安全研究所(CIC)在 2017 年创建。该数据集使用了CICFlowMeter 工具从原始数据中提取 80 多个特征属性。提取特征的方法有两种,分别是在线模式和离线模式。在线模式可以实时监控网络流量,并产生特征,监听结束后,将特征属性以CSV 格式保存在本地。离线模式是提交一个 .pcap格式的完整数据包到 CICFlowMeter 工具,会得到一个包含特征的 CSV 文件。CIC-IDS 2017 数据集可识别的攻击类别有僵尸网络攻击类、Web攻击类、DoS&DDoS 攻击类、渗透攻击类、SSH暴力破解攻击类、FTP 暴力破解攻击类。

  接下来将结合以上数据集,介绍深度学习模型在入侵检测系统上的应用。

  4

  基于深度学习的入侵检测系统

  不同的深度学习模型结合合适的数据集,适用于不同的攻击类型分类。本节选择近几年的国内外文献,来说明当前深度学习在入侵检测系统中的应用情况。

  Roy 等人[7] 提出了一种利用深度神经网络模型的入侵检测系统,并验证了该模型可以提高入侵检测系统的性能。作者提出的深度神经网络模型是一种全连接前馈神经网络,包含 3 层或者更多层人工神经元,由输入层、约 400 个隐藏层神经元和输出层神经元 3 个部分组成。作者使用 ReLu 函数作为激活函数,使用 Softmax分类器对流量进行分类。作者还使用了 KDD Cup99 数据集,将数据集中的 41 个特征输入算法模型中进行验证。作者比较了深度神经网络模型和支持向量机模型的性能。实验结果表明,使用深度神经网络模型的准确率为 99.994%,而使用支持向量机模型的准确率仅为 84.635%。这一结果表明了深度神经网络模型在入侵检测中的有效性。

  Potluri 等人[8] 也提出了另一种利用深度神经网络模型的入侵检测系统。因为神经网络需要大量的训练计算,所以该研究利用多核 CPU和 GPU 来提高入侵检测系统的性能。作者研究选取深度学习模型中的栈自编码器(Stacked AutoEncoder,SAE)来构建神经网络。第一个自编码器(AutoEncoder,AE)在第一隐藏层有20 个神经元,第二个自编码器在第二隐藏层有10 个神经元,输出层有 5 个神经元。在训练阶段,由于第一个自编码器的隐藏层成为第二个自编码器的输入,因此每个自编码器被单独但按顺序地训练。有两次微调过程,第一次是通过 Softmax 激活函数完成的,第二次是通过整个网络的反向传播完成的。此研究选择 NSL-KDD数据集来测试这种方法。作者首先测试了 2 类到 4 类不同攻击类型组合的网络。因为不平衡的攻击类型分布会导致较少的攻击类型得到很好的结果,所以较少数量的攻击类型比较多数量的攻击类型表现更佳。为了加速,作者使用了两个不同的 CPU 和一个 GPU。作者还尝试使用串行和并行 CPU。实验结果表明,使用并行CPU 的训练速度是使用串行 CPU 的 3 倍,使用GPU 的训练速度与并行 CPU 相似。

  Yin 等人[9] 指出传统机器学习算法无法有效解决海量入侵数据的分类问题。作者利用了递归神经网络(Recursive Neural Network,RNN)的优势,提出了一种基于递归神经网络模型的入侵检测系统。基于 RNN 模型的入侵检测系统先对数据进行预处理,包括数值化和标准化。然后将特征准备数据传到 RNN 的训练步骤进行训练。最终训练输出的模型使用测试数据集进行测试。在实验时,作者使用 NSL-KDD 数据集进行训练和测试。实验将数据集的 41 个特征经过将字符串映射为二进制的数字化后就变换成 122个特征。实验测试了两种分类,即二分类和多分类。结果表明,二分类的准确率为 83.28%,多分类的准确率为 81.29%。RNN 在二分类和多分类方面都优于作者测试的其他机器学习方法。

  Li 等人[10] 在入侵检测系统上使用卷积神经网 络(Convolutional Neural Networks,CNN) 模型作为特征提取器和分类器进行了实验。卷积神经网络在与图像相关的分类任务中取得了许多成功的实现,但在文本分类方面还存在难点,所以该试验最大的挑战就是将文本数据转换成图像的步骤。实验的时候,Li 等人采用了 NSLKDD 数据集,图像转换步骤首先将 41 个原始特征映射为 464 个二进制向量,接着将 464 个向量转换成 8×8 像素图像。这些图像将作为卷积神经网络训练的输入数据。作者用学习过的卷积神经网络模型 ResNet 50 和 GoogLeNet 进行实验。实验结果表明,ResNet 50 模型和 GoogLeNet 模型的准确率分别为 79.14% 和 77.14%。虽然这一结果并没有改善入侵检测技术的现状,但作者展示了如何在入侵检测环境中应用卷积神经网络和图像转换方法。

  Zarai 等人[11] 提出了一种基于深度神经网络 和 长 短 期 记 忆(Long Short-Term Memory,LSTM)网络的入侵检测系统。LSTM 模型是一种改进版的 RNN 模型,用来解决梯度消失或爆炸的问题。作者采用 KDD Cup99 数据集,将DNN 和 LSTM 应用于入侵检测系统中用来预测攻击,实验表明基于 3 层架构的 DNN 或基于 3层架构的 LSTM 的入侵检测模型对异常攻击检测更有效。

  李学勇[12] 在 2020 年的毕业论文中提出了一种基于多元相关性分析算法的长短期记忆网络(Multiple Correlation Analysis Long Short-Term Memory,MCA-LSTM)的入侵检测模型,用来解决网络入侵检测模型因高维数据所导致的检测性能低,误报率高的问题。该模型首先通过信息增益特征选择模块选择出最优的特征子集;然后利用多元相关性分析算法将特征子集转换为 TAM 矩阵(主对角线全为 0 的对称矩阵);最后将 TAM 矩阵输入长短期记忆网络模块中进行训练和测试。为了更好地展现该模型的性能,与现有的卷积神经网络、递归神经网络、深度森林(Deep Forest)、支持向量机和 K 最近邻(KNN)等方法的性能进行了对比分析。试验结果表明,提出的 MCA-LSTM 模型在 NSL-KDD 数据集 5分类任务中和 UNSW-NB15 数据集 10 分类任务中具有较好的准确度。与传统的机器学习和现有深度学习模型相比,该模型具有较好的分类检测性能。

  综上所述,不同的深度学习模型在入侵检测系统中会产生不同的应用效果。本章节中所提到的研究工作主要使用 4 种典型的深度学习模 型, 结 合 KDD Cup99、NSL-KDD、UNSWNB15 数据集,通过实验来测试入侵检测的准确率和检测性能。这对未来的研究有着一定的指导意义。

  5

  结 语

  入侵检测系统的有效性直接取决于所使用的检测引擎。为了提高系统的灵活性,需要用学习系统来实现异常检测。深度学习是检测引擎中执行的最新训练和分类技术之一。本文对基于深度学习的入侵检测系统进行了简要的综述,并列出一些公开的检测数据集,给出了它们的优点和缺点,对这一领域的研究人员有一定的帮助。未来的工作建议是针对以下几个方面进行进一步的研究。

  (1)在以大数据为基础的信息化时代中,流量模型变得更复杂、数据量更大。而当前所使用的大部分数据集都存在数据样本过时、信息冗余和数据不平衡等问题。因此,在后续工作中,建立拥有庞大的数据量、丰富的攻击类型(比如零日攻击)和平衡的样本的入侵检测数据集是提高检测性能的重要方向。

  (2)本文提及了 4 种典型的深度学习模型,希望未来能有更多新的神经网络模型被应用到入侵检测研究工作中,为网络安全防护提供更好的入侵检测方法。

  (3)目前大部分实验是在计算机模拟环境中进行的,与实际的网络环境还具有较大差异。随着物联网、5G 网络、无线网等网络的发展,在后续研究工作中,应多考虑新型的网络应用场景,解决如何在实际环境中进行实时性和适应性的验证。




电子技术图片.png

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。