合作机构:阿里云 / 腾讯云 / 亚马逊云 / DreamHost / NameSilo / INWX / GODADDY / 百度统计
入侵检测系统是监视和分析网络通信的系统,通过主动响应来识别异常行为。按照不同的划分标准,可以将入侵检测系统分为不同的类别,如图1所示。
根据系统部署的位置不同,入侵检测技术可以被分为基于主机的入侵检测(Host-based Intrusion Detection System,HIDS)和基于网络的入侵检测(Network-based Intrusion Detection System,NIDS)。
HIDS位于网络中的单个设备上,监视主机系统的操作或状态,检测系统事件以发现可疑的活动,例如未经授权的访问或安装。HIDS的优点是能够在发送和接收数据前通过扫描流量活动来检测内部威胁。但是,部署HIDS会影响设备资源,而且保护范围仅限于单个设备,无法观测到网络流量来分析与网络相关的行为信息。因此,HIDS并不是大规模网络的有效安全解决方案。
NIDS观察并分析实时网络流量和监视多个主机,旨在收集数据包信息,以检测网络中的入侵行为。NIDS 的优点是只用一个系统可以监视整个网络,节省了在每个主机上安装软件的时间和成本。缺点是 NIDS 难以获取所监视系统的内部状态信息,导致检测更加困难。
根据检测技术可以将入侵检测划分为基于签名的网络入侵检测(Signature-based Network Intrusion Detection System,SNIDS)和基于异常的网络入侵检测(Anomaly- based Network Intrusion Detection System,ANIDS)。
根据数据来源,可以将入侵检测技术分为基于数据包(Packet-based)、基于流(Flow-based)、基于会话(Session-based)和基于日志(Log-based)四种类别[1]。
图片
图1 IDS分类
通常,数据集以两种不同的格式收集,基于数据包和基于流[1]。基于数据包的数据通常从 PCAP文件中获取,该文件使用特殊类型的软件(如 astcpdump 和 Wireshark.PCAP 跟踪)捕获网络流量,包括有效负载在内的所有数据包信息。基于流的数据是由流构建的,流被定义为满足相同匹配特征的数据包流。
图片
传统的网络入侵检测具有适应能力差、拓展性不够等缺陷,在具体应用中依然存在较大的问题。机器学习具有较强的灵活性、适应性,为入侵检测提供新的发展方向。机器学习算法主要包括决策树(DecisionTree,DT),朴素贝叶斯(Naive Bayes),支持向量机(Support Vector Machine,SVM),集成学习等,通过提取数据的特征进行入侵行为的检测。
(1)基于决策树:计算复杂度低,结构简单易懂,因此,在入侵检测领域具有广泛应用。常见的决策树算法有ID3、C4.5、CART等。文献[3]利用NSL-KDD数据集对ID3、C4.5、CART、REP Tree 和 Decision Table五种决策树算法进行对比研究。结果表明,C4.5算法效果最好,分类准确率达到99.56%,并且当使用信息增益特征选择技术时,其精度达到99.68%。然而,由于该文献仅选择NSL-KDD训练集,并使用保留方法而不是NSL-KDD测试集进行测试,因此很难测试该算法的泛化能力。
(2)基于朴素贝叶斯:朴素贝叶斯算法是由Bayes定理导出的,具有坚实的数学基础。文献[4]首先使用IPCA对KDD99数据集进行预处理,然后使用Gaussian Naive Bayes算法进行检测。从实验结果来看,当检测准确率为91%时,只需0.562s即可完成训练模型和测试数据。这一结果对入侵检测的实时监控研究具有重要意义。
(3)基于支持向量机:SVM可以更好地解决小样本问题,具有强大的泛化能力,被认为是更有效的入侵检测算法。文献[5]提出了FRST-SVM模型,该模型利用模糊粗糙集理论从数据中提取特征。FRST-SVM模型实现了高精度、快速的识别,减轻了系统负担。文献[6]使用SVM对数据集进行初始分类,然后将分类结果作为基于密度的聚类算法的输入进行子分类。尽管实验结果很好,但该模型结构复杂,并且是基于小数据集提出的。当数据量巨大时,会暴露出支持向量机训练时间长的缺点,因此不具有普遍性。
(4)基于集成学习:在机器学习中,为了避免算法在处理不同数据集时的偏好,可以将不同的弱监督学习算法组合起来形成强监督学习算法,即集成学习算法。文献[7]提出了使用CFS来降低数据集的维数,然后用Bagging随机森林和Adaboost随机森林进行实验。结果表明,这两个模型在KDD99和NSL-KDD数据集上都达到了99%以上的准确率。文献[8]提出了XGBoost-RF模型来处理数据不平衡的问题。首先,XGBoost算法用于对数据集中相对重要的特征进行评分,然后使用具有更新权重的随机森林算法进行攻击检测。该模型通过特征选择和权重调整可以充分训练少量重要数据。
基于机器学习技术的入侵检测优点是能够充分利用先验知识,明确地对未知样本数据进行分类。缺点是训练数据的选取评估和类别标注需要花费大量的人力和时间。
传统的机器学习方法通常需要人工选取特征,且需要大量的领域专业知识,是较为浅层的学习方法。而深度学习方法学习的是样本数据的内在规律和表示层次,构建多个隐藏层组建的非线性网络结构能够适应较高维度学习和预测的要求,效率更高,节省了大量特征提取的时间,可以根据问题自动建立模型,不局限于某个固定的问题,在解决入侵检测问题中很有前景。目前常用的基于深度学习的入侵检测模型有Deep Neural Networks(DNN), convolutional neural networks (CNN),Recurrent Neural Networks (RNN),自编码和Generative Adversarial Networks (GAN)等,如图2所示。
图片
图2 深度学习方法
(1)基于DNN:DNN 由多层互连节点组成,这使得它们擅长从大量数据中学习复杂的模式和特征,并适用于入侵检测任务。文献[9]将自动编码器与 DNN 相结合,以学习输入特征的鲁棒表示并增强对不平衡攻击的检测
(2)基于CNN:CNN能够从数据中自主学习特征,此外,CNN 也能处理不同长度的输入,这在网络流量分析中至关重要,因为数据包长度通常差异很大。文献[10]根据相关性将入侵检测数据分为四部分,然后将四部分数据转换为灰度图像,并将其引入多卷积神经网络进行入侵检测研究。文献[11]提出了一种基于focal loss的网络入侵检测系统,利用focal loss函数对CNN模型进行训练,降低了易于分类样本的权重,平衡了数据类别,有效提高了少数样本的检测率。
(3)基于RNN:在入侵检测中使用RNN考虑了基于时间的关系,将网络流量分析为一系列事件,在这些事件之间可以有效地识别攻击。Imrana等[12]使用Bi-LSTM增强了对不同攻击的检测。因为 BiLSTM 可以在数据中捕获更复杂的模式,从而提高性能。2023年,WENHONG W等人[13]针对网络流量异常检测中的数据不平衡问题,将双向长短时记忆网络(bidirectional Long-short Term Memory,Bi-LSTM)与多头注意力机制(Multi-Head Attention)相结合,提出了多目标进化深度学习模型,可以通过引入一些少数类的合成数据来提高模型的性能表现。
(4)基于自编码器:自动编码器可以有效地处理高维数据,在入侵检测中应用广泛。Binbusayyis等[14]提出了一种使用一维卷积自编码器(1D CAE)的IDS框架来实现较低的特征表示。然后,将此表示与单类支持向量机(OCSVM)结合使用,以检测异常。Cui等[15]提出,IDS由三部分组成:堆叠式自动编码器(SAE)用于特征提取,高斯混合模型(GMM)和 Wasserstein 生成对抗(GMMWGAN)模型用于处理类不平衡处理,CNN-LSTM 用于分类。
(5)基于GAN:GAN由生成器和判别器两部分组成。生成器用于生成模拟真实网络流量的特征。鉴别器用于区分真实样本和虚拟样本。Huang等[16]提出了一种称为IGN的新方法,该方法将不平衡的数据过滤器和卷积层整合到传统的GAN框架中,以便为少数类生成新颖且具有代表性的实例。2022年,RAHA S等人[17]应用GAN解决网络入侵检测中的类别不均衡问题,为了提高少数类数据的生成质量,基于集成深度学习的思想提出了基于集成的多用户GAN (EMP-GAN),减少了模型崩溃的风险,提升了训练的稳定性。
深度学习能够有效处理大规模网络流量数据,相比于浅层的传统机器学习方法,具有更高的效率和检测率,但是其训练过程较复杂,模型可解释性较差。
当前入侵检测研究的主要挑战包括数据集老旧、数据不平衡等问题。
(1)数据集老旧。网络入侵检测通常要依赖带标签的数据集,目前广泛使用的公开数据集如KDD1999、DARPA1998和DARPA1999,虽然具有代表性,但由于其年代较久远,已经无法完全反映最新的网络威胁和攻击趋势。近年来,一些新的网络入侵检测数据集如CICIDS2018、CIDDS-001、NF-UQ-NIDS-v2等应运而生。这些新数据集不仅包含了更多新型攻击的样本,而且更为贴近当今网络环境,能够更有效地捕捉到不断演进的入侵行为。通过采用这些新数据集,研究者可以更准确地评估模型性能,更好地理解和应对当下和未来的入侵挑战。
(2)数据不平衡。入侵检测样本数据中,往往正常样本数据远多于入侵样本数据,这会导致模型在训练和评估阶段的性能不够稳健。处理类不平衡问题的两种主要策略:基于数据的方法和基于算法的方法。常见的基于数据的技术包括过采样和欠采样,但是欠采样的方式缩小了整体的样本数量,而过采样的方式又容易引发过拟合问题,并不能较好地处理数据不平衡问题。深度学习方法中的GAN 具有强大的生成能力,能够通过生成异常数据来解决该问题,但是目前这方面的研究还较少。另一方面,可以利用对于不平衡数据集更为敏感的算法。例如,基于树的方法(如随机森林)和集成学习方法(AdaBoost、XGBoost),它们能够自适应地调整节点的权重,可以提高模型的性能并减缓不平衡数据的影响。
随着信息技术的不断发展,网络入侵检测系统是网络安全必不可少的防御机制,在学术界和工业界获得了广泛的研究。基于机器学习和深度学习的网络入侵检测技术是当前研究的热点之一。在网络安全不断面临威胁的背景下,我们相信通过机器学习和深度学习技术的不懈探索,我们能够更好地保护我们的网络资源,确保信息的安全与完整性。
[1] Elsheikh, Mohamed, et al. "Deep Learning Techniques for Intrusion Detection Systems: A Survey and Comparative Study." 2023 International Mobile, Intelligent, and Ubiquitous Computing Conference (MIUCC). IEEE, 2023.
[2] L. A. H. Ahmed, Y. A. M. Hamad and A. A. M. A. Abdalla, "Network-based Intrusion Detection Datasets: A Survey," 2022 International Arab Conference on Information Technology (ACIT), Abu Dhabi, United Arab Emirates, 2022, pp. 1-7, doi: 10.1109/ACIT57182.2022.9994201.
[3] Hota, H.S., Shrivas, A.K, 2014. Decision tree techniques applied on NSL-KDD dataand its comparison with various feature selection techniques. Adv. Comput.Netw. Inform.1.205-211.
[4] Zhang, B, Liu, Z.Y, Jia, Y.G, Ren, J.D., Zhao, X.L, 2018. Network intrusion detectionmethod based on PCA and Bayes algorithm. Secur, Commun. Netw. 2018 (10).1-11.
[5] Shen, K., Parvin, H, Qasem, S.N, Tuan, B.A, Pho, K.H, 2020. A classification modelbased on SVM and fuzzy rough set for network intrusion detection. J. Intell.Fuzzy Syst. 39 (1),1-17.
[6] Wang, S., Jin, z.G, 2020. IDS classification algorithm based on fuzzy SVM model. Appl. Res.Comput.37 (02),187-190.
[7] lwendi, C, Khan, S., Anajemba, J.H, Mittal, M, Alenezi, M, Alazab, M, 2020. Theuse of ensemble models for multiple class and binary class classification forimproving intrusion detection systems. Sensors 20 (9), 2559.
[8] Qiao, N, Li, z.X, Zhao, Gs, 2022. Intrusion detection model of internet ofthings based on XGBoost-RF. J. Chin. Mini Micro Comput. Syst. 43 (01), 152-158.
[9] Y. Yang, K. Zheng, C. Wu and Y. Yang, ”Improving the classification effectiveness of intrusion detection by using improved conditional variational autoencoder and deep neural network,” Sensors, vol. 19, p. 2528, 2019.
[10] Li, Y.M., Xu, Y.Y, Liu, Z., Hou, HX, Zheng, Y.S, Xin, Y, et al, 2020. Robust detectionfor network intrusion of industrial loT based on multi-CNN fusion. Measure-ment 154.107450.
[11] Mulyanto, M., Faisal, M, Prakosa, S.W, Leu, JS, 2021. Effectiveness of focal loss forminority classification in network intrusion detection systems. Symmetry 13 (1),4.
[12] Y. Imrana, Y. Xiang, L. Ali and Z. Abdul-Rauf, ”A bidirectional LSTM deep learning approach for intrusion detection,” Expert Systems with Applications, vol. 185, p. 115524, 2021.
[13] Wei W, Chen Y, Lin Q, et al. Multi-objective evolving long-short term memory networks with attention for network intrusion detection[J]. Applied Soft Computing, 2023: 110216.
[14] A. Binbusayyis and T. Vaiyapuri, ”Unsupervised deep learning approach for network intrusion detection combining convolutional autoencoder and one-class SVM,” Applied Intelligence, vol. 51, p. 7094–7108, 2021.
[15] J. Cui, L. Zong, J. Xie and M. Tang, ”A novel multi-module integrated intrusion detection system for high dimensional imbalanced data,” Applied Intelligence, vol. 53, p. 272–288, 2023.
[16] S. Huang and K. Lei, ”IGAN-IDS: An imbalanced generative adversarial network towards intrusion detection system in ad-hoc networks,” Ad Hoc Networks, vol. 105, p. 102177, 2020.
Soleymanzadeh R,Kashef R Efficient intrusion detection using multi-player generative adversarialnetworks(GANs): an ensemble-based deep learning architecturelJ. Neural Computing and Applications2023: 1-19.
TOP