入侵检测在机器学习和深度学习中的发展

2022-09-07 05:05
现代计算机 2022年13期
关键词:卷积特征提取向量

赵 辉

(陕西理工大学数学与计算机科学学院,汉中 723001)

0 引言

近年来,随着电子计算机和通信技术的不断发展,互联网已经成为人们生活中必不可少的一部分。随着互联网的影响越来越深入,互联网安全问题也成为亟待解决的研究内容,比如恶意程序传播、漏洞风险、DDoS 攻击和零日攻击等。国家计算机网络应急技术处理协调中心(CNCERT/CC)编写的《2020 年中国互联网网络安全报告》中指出,近年来在我国网络空间中出现的各种网络安全问题呈上升趋势。因此,网络安全相关问题的识别与处理就显得尤为重要。

为了抵御和预防计算机在互联网中可能遭受的不安全攻击,入侵检测(intrusion detection,ID)作为一种主动的防御技术受到广泛关注。入侵检测系统(intrusion detection system, IDS)作为一种主动的安全检测系统,能够对可能遭受的网络攻击采取预防措施。IDS能够检测和分析计算机的网络活动,从而保护计算机中的敏感信息,避免未授权用户的访问、系统的误操作和恶意入侵。因此,入侵检测系统能够防御和预防对计算机系统的非法攻击、恶意破坏和误操作以及一些违反安全要求的行为。

图1 2012—2020年CNVD[2]收录的安全漏洞数量

为了完成对IDS高效的要求,研究人员提出在IDS 中使用机器学习和深度学习算法。在IDS中,机器学习和深度学习算法以大数据为驱动学习网络流量中内在的可能具备不安全操作的数据格式,而且取得了较大的进步。机器学习算法和深度学习算法使用网络流量作为数据,对数据的正常行为和不正常行为进行预测,从而完成入侵检测任务。机器学习算法使用特征建模的方法提取网络流量中的数据特征,并对特征信息进行学习与分类;深度学习算法使用深度结构对原始数据中的复杂特征进行学习,并完成分类。

本文借助WEB OF SCIENCE 数据库分别对入侵检测算法(IDS),机器学习和入侵检测(ML),深度学习和入侵检测(DL)三个方面的论文进行检索,得到的检索结果如图2所示。从图2可以看出,与入侵检测相关的论文数量不断增加,说明入侵检测相关研究的关注在不断上升。

图2 2012—2021年入侵检测相关论文发表情况

近年来,尽管各种各样的机器学习和深度学习算法被应用在入侵检测中,但是随着攻击手段的增加和网络流量的大幅度上升对入侵检测中算法的应用提出了更高的要求。目前,由于深度学习算法的可解释性问题和对抗攻击的存在,深度学习算法在入侵检测系统中的应用仍处于研究阶段。本文的主要研究目的是为入侵检测系统在机器学习和深度学习算法中的解决方案提供研究的发展趋势和粗略总结。本文主要对目前基于机器学习和深度学习算法的入侵检测系统进行了系统的总结,对部分论文中提出的方法、不足、评价标准和使用的数据集进行了描述,对入侵检测系统在未来可能的研究方向做出展望。

1 入侵检测系统的分类

计算机系统与外部网络进行交互的主要方式是数据通信,因此只有保证通信过程中数据的安全性才能够保证计算机系统不受攻击。IDS通过对网络流量进行分析,实现对不安全数据的检测和判别。

1.1 数据处理方式

入侵检测系统中常使用的数据集是KDD CUP数据集,在数据被机器学习和深度学习算法使用前需要进行数据预处理,包括字符数值化、连续型数据标准化和归一化处理,字符数值化是将网络流量中的字符串信息转换为数字表示,连续数据标准化处理是解决不同单位的数据的解释困难,归一化处理能够将所有变量划分到[0,1]区间内,以减少数据的数值大小对数据训练的影响。

1.2 传统的分类识别方法

随着不断的深入研究,IDS的检测方法可分为特征检测和异常检测,特征检测是使用已知的攻击特征作为原始数据进行特征提取与模型训练,此方法能够对已知的攻击进行高精度识别,但对于存活周期短的零日攻击性能差;异常检测是对合格的系统行为进行定义,如果违反已定义的行为则视为攻击,此方法的优点是能够检测未知的,不符合预期定义的攻击行为,但很有可能将正常行为识别为攻击。

IDS根据数据来源的不同分为基于主机和基于网络的IDS,基于主机的IDS 在主机上鉴别和收集数据,进行本地分析,也可以在其它计算机上进行分析,此方法能够对系统内部用户的使用进行监督,但会消耗系统资源;基于网络的IDS通过对网络流量进行监控来检测不合法行为,此方法能对多种数据行为进行检测,但会造成网络延迟而且对加密数据包无法解析。

2 基于机器学习的入侵检测系统

机器学习是人工智能算法的一部分,能够使机器使用数学模型从数据集中学习和提取有用的特征信息。在IDS中表现较好的机器学习算法有支持向量机和随机森林等算法。

支持向量机是一种在特征空间求解最大分割超平面的监督机器学习算法,常被用于求解线性和非线性问题。在非线性问题中,使用核函数将低维空间映射到高维特征空间,使用支持向量求解决策边界并计算最大分割的超平面。在ID 算法中,支持向量机常常被用于对正确流量和恶意流量的预测,但支持向量机对于数据的分类表现不满足于实际应用需求,因此研究人员提出了结合特征提取的支持向量机。文献[8]为了获取具有最大区分能力的入侵检测数据集,使用递归支持向量机进行ID 算法设计。由于支持向量机中存在参数设置困难的问题,文献[9]提出结合改进的灰狼算法和支持向量机的ID 算法,首先,使用降噪自编码器进行特征提取,然后,使用灰狼算法对支持向量机的参数进行优化,最后使用支持向量机对低维特征进行分类。文献[10]使用空间降维结合支持向量机进行入侵检测,首先使用局部线性嵌入降维得到降维后数据,然后设置嵌入运算的邻居树,最后结合多种核函数对支持向量机的性能进行检测。

随机森林算法由多个决策树组成,每一决策树的算法不同,但在训练决策树时从训练数据集中有放回地选取一部分样本,使用每一样本的部分特征,由于每一子树使用的样本和特征不同因此产生过拟合的概率较低,抗噪音能力强。由于决策树算法本身的特征提取能力较差,因此随机森林算法常常与其它特征提取算法结合设计ID 算法。为了克服样本数据不平衡的问题,文献[11]提出一种多层分类策略的随机森林算法进行入侵检测。该算法使用随机森林建立多层模型,使用平衡后的样本数据进行特征选择,使每一样本都能得到相应的特征子集,不断进行迭代直至将所有样本分类。文献[12]提出结合聚类和随机森林的ID 算法能够对少数类网络攻击、入侵进行分类,而且能够对不平衡的数据集进行判断。文献[13]提出了一种结合主成分分析和随机森林分类算法的ID 算法,实验结果证明,与其它机器学习算法相比较,此方法具有更高的准确性。

机器学习算法中还有K-means,K-近邻等算法能够进行ID 算法设计,文献[14]提出改进的K-means 算法进行入侵检测,实验证明此算法能够降低误报率。文献[15]提出基于局部搜索算法的元优化特征权重的K-近邻算法,实验结果证明此算法能够提升准确率,降低误报率。

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

深度学习算法是机器学习算法的分支之一,但是由于近年来深度学习算法在各领域中表现出的优异性能,也被用于ID 算法设计中。深度学习算法常常采用神经网络模型对数据中的深层结构进行学习。在入侵检测系统中常常用到的深度学习算法主要有卷积神经网络、循环神经网络和无监督学习模型等。

3.1 卷积神经网络

卷积神经网络(convolutional neural networks,CNN)是由卷积、池化和激活函数等组成的前馈神经网络,能够综合考虑全局感受野,并在每一层的训练中使用同一组优化权值,而且卷积神经网络具有平移不变性,能够对数据集中的稀疏特征进行提取。在ID 算法中,卷积神经网络一般由数据预处理、特征学习和数据预测三部分组成。文献[16]提出了一种基于卷积神经网络的入侵检测系统,采用神经元映射卷积神经网络为结构,具有易于训练和泛化能力强等特点,实验结果证明此方法具有良好的特征表示学习和分类能力。文献[17]提出将多尺度卷积神经网络应用到ID 算法,此方法首先进行数据转换,将网络数据转换为卷积神经网络的数据输入格式,然后使用多个卷积核对数据进行特征提取,在数据模型学习到相应的模型信息用于入侵检测。实验结果表明此方法能够降低误检率,提升准确率。文献[18]针对卷积神经网络设计入侵检测时出现的检测效率低、过拟合和泛化能力弱的问题,提出了一种改进卷积神经网络的ID 算法,将卷积神经网络采用跨层聚合设计,将预处理后的输入数据在网络中进行训练,得到训练模型。实验结果表明能够得到高准确率和低误报率。

3.2 循环神经网络

循环神经网络(recurrent neural networks,RNN)能够扩展传统的前馈神经网络的容量,而且能够对序列数据特征进行更好的建模。循环神经网络由输入层、隐含层和输出单元组成,隐含层单元在设计时具有记忆功能。在ID 算法中,RNN 常常被用于监督学习的分类任务和特征提取,RNN 常常能够处理有限长度的序列数据,而且当序列数据过长时RNN 只能够对短期内容进行记忆,因此提出了LSTM 和GRU 用于解决。文献[19]提出了基于RNN 的ID 算法,使用多种隐含层结点数和学习率进行测试,实验结果证明,使用80个隐含层结点和学习率为0.1得到最优结果,但是此文献中没有与其它深度学习方法进行比较。文献[20]提出采用多层堆叠的深度门控循环单元ID 算法,并且简化深度门控循环单元,能够尽可能地保留模型的学习能力。实验结果证明所提方法能够提升检测效率。文献[21]针对特征提取复杂和训练参数多等问题,提出一种卷积神经网络与长短期记忆网络结合的网络入侵检测方法(GCNN-LSTM),使用卷机神经网络进行特征提取,采用LSTM 分类,实验结果证明,此方法具有较好的检测结果。

3.3 无监督学习

近年来,无监督学习在深度学习算法的发展中起到了举足轻重的作用,无监督学习算法主要包括自动编码器和生成对抗网络等,无监督学习的主要目标是根据对应的输入使模型的输出结果尽可能符合特征分布要求。自动编码器由编码器和解码器两部分组成,其中编码器将输入数据转换为向量,解码器将向量重新转换为数据。生成对抗网络分为生成器和判别器,生成器根据输入数据生成对应输出数据,判别器对输出数据的特征是否符合要求进行判断。在ID 算法中无监督学习方法主要用于特征提取任务,对提取后的特征进行分类获取更高的分类精度。文献[22]提出了基于生成对抗网络的ID 算法,在训练阶段使用神经网络记忆数据特征,在测试阶段,对生成器生成的数据进行分辨,得到符合要求的数据,实验结果证明,此方法具有较好的分类表现。文献[23]提出了一种结合自动编码器和残差神经网络的ID 算法,使用自动编码器进行特征提取,残差神经网络采用提取后的特征进行模型训练,此方法在准确率和误报率等方面具有较好表现。文献[24]提出了基于自动编码器和随机森林结合的ID 算法,采用两个非同构的自动编码器,顺序连接,随机森林用于模型预测,实验结果证明,此方法在入侵检测效果中优于现有的深度学习算法。

4 结语

本文主要对AI 算法包括机器学习和深度学习算法在ID 算法中的应用进行了描述,通过研究本文发现,AI 算法驱动的IDS 的有效性主要体现在数据集的合适程度,对于机器学习算法而言,算法可以在较小的数据集中进行训练得到较好的结果,但是对于较大的数据集而言机器学习算法适应力较差;对于深度学习算法而言,在较大规模的数据集中具有更好的表现,能够从原始数据集中提取有效的数据模式,为了使模型能够较好地抵抗零日攻击,深度学习算法需要不断地从新数据中进行模型学习。未来,由于具备深度学习算法的数据适应力和实时学习的能力,深度强化学习将会成为IDS的主要发展方向。

猜你喜欢
卷积特征提取向量
同步定位与建图特征提取和匹配算法研究
基于全卷积神经网络的猪背膘厚快速准确测定
向量的分解
基于图像处理与卷积神经网络的零件识别
基于深度卷积网络与空洞卷积融合的人群计数
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
卷积神经网络概述
基于曲率局部二值模式的深度图像手势特征提取
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线