原文:Detecting Network Anomalies in NetFlow Traffic with Machine Learning Algorithms
Authors: Quôc Vo, Philippe Ea, Osman Salem, Ahmed Mehaoua
原文链接:
Abstract
及早发现网络流量数据中的异常对于强大的网络安全至关重要。本研究调查了各种机器学习和深度学习模型在识别 NetFlow v9 流量中的异常模式方面的有效性。我们解决了数据预处理挑战,并探索了特征工程技术,以优化异常检测系统的性能。我们的研究根据准确性、曲线下面积 (AUC) 和计算效率等关键指标评估了几个模型的性能。结果突出了每种模型的优势和局限性,强调了平衡性能与实际部署可行性的重要性。随机森林成为最有效的模型,准确率为 93.8%,AUC 为 0.99。此外,它还展示了卓越的训练和测试时间,训练时间仅为 0.19 秒,每次预测仅需 0.23 微秒。相反,递归神经网络模型在训练效率和整体性能方面表现出局限性。通过对模型性能和计算考虑因素的细致分析,本研究有助于推进网络安全应用的异常检测技术。
关键词:异常检测、深度学习、逻辑回归、机器学习、朴素贝叶斯、网络流量、随机森林、递归神经网络。
Anomaly Detection, Deep Learning, Logistic Regression, Machine Learning, Naive Bayes, NetFlow Traffic, Random Forest, Recurrent Neural Network
关于AUC:
1 Introduce
网络流量异常检测的重要性balabala(略)
传统的异常检测方法是基于规则的,基于静态规则的系统比较死板,越来越难以满足不断变化的网络。机器学习 (ML) 技术已成为在 网络流量中自动检测异常或者恶意流量的强大工具,它利用数据中固有的模式和关系来区分正常和异常行为。
在本文中,介绍了使用多个 ML 模型对网络流量异常检测进行的全面研究。具体来说,我们旨在选择和比较三种广泛使用的传统 ML 算法:逻辑回归 (LR)、朴素贝叶斯分类器 (NB) 和随机森林 (RF),以及深度学习 (DL) 算法、递归神经网络 (RNN)。这些算法提供了多种异常检测方法,从概率模型到集成方法和深度学习架构。我们的研究旨在通过评估这些不同的 ML 模型在检测各种类型的网络异常(包括入侵尝试、拒绝服务 (DoS) 攻击和内部威胁)方面的性能,为网络安全和异常检测领域做出贡献。通过广泛的实验和比较分析,我们试图确定每个模型在准确性、效率、可扩展性和可解释性方面的优势和劣势,从而为它们在不同网络环境中实际部署的适用性提供有价值的见解。通过利用广泛的数据集并采用相关的评估指标,包括准确率、精度、召回率、F1 分数和 AUC(曲线下面积),并考虑训练和测试持续时间,我们的目标是确定最有希望增强异常检测能力的算法。
本文的其余部分组织如下。第2部分回顾了异常检测和 ML 领域的相关工作。第3部分揭示了我们选择最有效异常检测算法的方法。在第4节中,我们介绍了我们的实验结果和分析,然后讨论了我们的发现。最后,第5节总结了本文的主要发现和未来研究的方向。
2 Related work
近年来,机器学习和深度学习技术在各个领域的使用激增。
这一部分主要概述了机器学习和深度学习在各个学科领域多样化的应用,并且重点关注了网络异常流量检测方面的应用。
Fosic 等人在Anomaly detection in netflow network traffic using supervised machine learning algorithms这篇文章中研究了不同的分类器在检测网络流量异常方面的有效性。通过在 UNSW-NB15 数据集上评估随机梯度下降 (SGD)、支持向量机(SVM)、K最近邻(KNN)、高斯朴素贝叶斯 (GNB)、决策树 (DT)、RF 和 AdaBoost (AB) 等算法,它确定了最佳参数和编码方法。鉴于数据集的分布不平衡,F1 分数和 AUC 等性能指标与标准指标一起使用。RF 分类器是最有效的,通过利用数据集的代表性子集,实现了 97.68% 的 F1 分数和 98.47% 的 AUC 分数。值得注意的是,这项研究比较了各种算法并选择了最适合 NetFlow 数据流的算法。此外,这篇文章还介绍了 ML 流程中的优化,探讨了数据比率、编码方法和特征缩减技术对 NetFlow 数据流的影响。
Pranto 等人在Performance of machine learning techniques in anomaly detection with basic feature selection strategy-a network intrusion detection system中提出了一种使用机器学习将来自网络入侵检测系统 (NIDS)的传入网络流量分类为正常或异常的方法。使用 NSL-KDD 数据集评估了几个分类器,包括 KNN、DT、NB、LR、RF 及其集成方法。为了简化计算复杂性和数据集维度,采用了一种基本的特征选择策略。达到的最高准确率为 99.5%,误报率为 0.6%。
Biswas 等人在 Anomaly detection using ensemble random forest in wireless sensor network中提出了一种用于无线传感器网络 (WSN) 异常检测的集合射频 (ERF)。该集成将 DT、 NB 和 KNN 作为基本学习器,并在 RF 构造采样期间采用 bootstrapping。为了评估 ERF 的有效性,使用了来自基于多传感器数据融合 (AReM) 数据集的活动识别的真实传感器数据。作者采用了各种性能指标,包括准确性、灵敏度、特异性、精度、召回率、F 度量和 G 平均值,以证明 ERF 优于其单个基本学习者。
Manimurugan 等人在Iot-fog-cloud model for anomaly detection using improved naïve bayes and principal component analysis中集成了云计算和雾计算的功能,用于强大的智慧城市基础设施。他们提出的方法利用了云和雾计算的优势:云存储用于海量数据,雾计算用于本地化、实时的服务交付。此外,还引入了改进的 NB (INB) 分类器,结合了主成分分析 (PCA) 用于特征提取。利用 UNSW-NB15 数据集,这种基于 PCA 的特征工程和 INB 分类实现了惊人的 92.4% 准确率和 95.35% 的检出率,显著增强了物联网网络的异常检测能力。
由于 IoT 设备和服务的激增,管理网络安全变得更具挑战性。深度学习技术在 NIDS 中广泛用于识别恶意流量,具有长短期记忆 (LSTM)、双向 LSTM (BiLSTM) 和门控循环单元 (GRU) 等 RNN 变体。Ullah 等人在Design and development of rnn anomaly detection model for iot networks中介绍了一种用于物联网网络异常检测的新型 DL 方法,该方法利用 LSTM、BiLSTM 和 GRU 变体以及混合 CNN-RNN 模型。使用包括 NSL-KDD、BoT IoT、IoT-NI、IoT-23、MQTT、MQTTset 和 IoT-DS2 恶魔在内的数据集进行评估,与现有实施相比,在准确性、精度、召回率和 F1 分数方面具有卓越的性能。
Hooshmand 等人在Network anomaly detection using deep learning techniques中提出了一种使用卷积神经网络 (CNN) 解决网络异常的新方法,CNN 是 ML 和计算机视觉中一种成熟的架构。具体来说,作者提出了一个为这项任务量身定制的一维 CNN 模型。最初,网络流量数据分为 TCP、UDP 和其他协议。随后,每个类别都经过独立处理。在模型训练之前使用卡方技术进行特征选择,然后进行过采样以解决类不平衡问题。使用公共数据集 UNSW-NB15 数据集的实验评估证明了所提出的方法的有效性,TCP、UDP 和其他类别的加权平均 F1 分数分别为 0.85、0.97 和 0.86。
Wong 等人在Real-time detection of network traffic anomalies in big data environments using deep learning models中研究了 DL 在大规模数据环境中自动检测异常谎言。使用在网络流数据上训练的 CNN 和 LSTM 模型,与传统方法相比,所提出的框架实现了卓越的异常检测性能。此外,这些 DL 模型以最小的延迟实时处理流数据。迁移学习和模型压缩等优化技术进一步提高了检测效率。此外,Altulaihan 等人在Anomaly detection ids for detecting dos attacks in iot networks based on machine learning algorithms中研究了一种基于 IDS 的防御机制,该机制采用异常检测和 ML 技术来监控网络流量的异常情况。使用数据集 IoTID20 的评估证明了该方法的有效性,使用 GA 选择的特征训练的 DT 和 RF 分类器显示出前景。这凸显了 ML 在增强 IoT 网络安全以应对 DoS 攻击方面的潜力,并为解决 IoT 环境中新出现的网络安全挑战提供了见解。
Chew 等人在A survey on vehicular traffic flow anomaly detection using machine learning中全面研究了 ML 在车辆交通流异常检测中的应用,以实现有效的交通管理、公共安全和转运优化。快速识别异常交通状况有助于及时响应和做出明智的决策,以缓解拥堵并提高交通效率。他们的调查探讨了利用 ML 检测流量异常的技术复杂性,研究了流量异常检测的各个方面,包括数据源、处理方法、机器学习算法和现场常用的评估指标。此外,它还探索了新兴的研究方向,提供了通过先进的 ML 技术改进异常检测的路线图。
检测和缓解网络攻击至关重要,但分析单个网络数据包的传统方法存在局限性,尤其是对于处理大量流量的路由器。Campazas 等人在Malicious traffic detection on sampled network flow data with novelty-detection based models中旨在使用以 1/1,000 数据包采样率收集的流数据来检测恶意流量。在合成上采用基于异常检测的模型和来自 RedCAYLE 的真实流数据,显示了基于新颖性检测的模型在实现高精度和最小误报方面的有效性。
第三章主要介绍了使用ML算法进行异常流量检测的方法,具体包括预处理网络流量数据,选择适当的参数,训练多个ML模型,以及使用各种指标评估他们的性能,图1说明了本文的方法摘要:
整体思路就是先数据预处理,包括数据清洗、标签编码、归一化、特征选取、类平衡,然后交给不同算法训练,评估比较不同算法的结果。
A. Data Preprocessing
实验从数据预处理开始:
-
删除缺失值确保数据集没有不完整的条目。
-
采用异常值检测和删除来确保后续分析的数据完整性和可靠性。
-
使用标签编码将分类变量(如协议)编码为数字表示。(这种方法涉及为变量中的每个类别分配一个唯一的数值,将分类数据转换为适合 ML 算法的格式。选择标签编码是因为它在保持分类特征中的序数关系方面简单而有效。)
-
归一化:此外,这些数值特征将被归一化,以标准化它们在数据集中的比例。这种归一化是使用 Min-Max 缩放技术实现的,其中每个特征 X 都转换为 0 到 1 范围内的值。
其中,Xmin 和 Xmax 分别表示特征 X 的最小值和最大值。
归一化是预处理中的关键步骤,因为它确保所有数值特征对学习过程的贡献相同,从而防止具有较大尺度的特征在模型中占据主导地位。通过将特征缩放到 uni 形式范围,归一化有助于模型收敛,并在后续分析期间保留特征之间的内在关系。此外,归一化增强了 ML 算法的有效性,尤其是那些对特征尺度敏感的算法,例如基于梯度的优化方法。它可以通过减少异常值的影响并确保优化过程在所有特征上顺利运行来提高模型的稳定性和性能。这种标准化的特征缩放方法有助于提高异常检测系统的整体可靠性和可解释性。
B. Feature Engineering
在这些预处理步骤之后,我们将方法论扩展到特征工程,这是一个关键阶段,旨在选择相关特征来优化模型性能。特征工程涉及各种技术,例如基于重要性排名的特征选择。为了识别有影响力的特征并确定它们对异常检测影响的优先级,进行了特征重要性分析。该分析根据特征对模型性能的贡献对特征进行排名,突出了区分正常网络流量和异常网络流量的最具区分力的属性。图 2 说明了根据特征重要性的特征排名,提供了对驱动异常检测过程的关键因素的见解。
在我们的研究中,我们专注于根据从 RF 模型获得的重要性分数来选择前 10 个最相关的特征。值得注意的是,最相关的特征主要与字节数、流持续时间以及与 TCP 窗口相关的一些特征相关。这些属性在捕获网络流量的特征和实现有效的异常检测方面发挥了重要作用。
特征工程在提高异常检测模型的有效性和效率方面起着关键作用。通过根据相关特征的相关性和相关性选择和转换相关特征,特征工程优化了模型性能和可解释性,从而有助于以更高的准确性和可靠性识别网络异常。
在特征工程之后,我们结合了数据重采样技术来解决数据集中的类不平衡问题,确保异常检测模型在平衡的数据集上进行训练。类不平衡是异常检测任务中的一个常见问题,其中少数类明显小于多数类,这可能导致模型性能有偏差。
C. SMOTE(合成少数类过采样技术)
Synthetic Minority Over-sampling Technique (SMOTE)意为合成少数类过采样技术。SMOTE具体功能是为少数类生成合成样本,以实现更均衡的类分布。SMOTE 的工作原理是根据现有少数类样本的特征空间相似性合成新的少数类实例。
SMOTE 算法包括以下步骤balabala(略)
通过应用SMOTE,我们用合成样本增强了少数类实例,有效地平衡了类分布,并使异常检测模型能够从更具代表性的数据集中学习。此预处理步骤对于提高异常检测模型的稳健性至关重要。
D. Models Used
在准备好进行分析的预处理和平衡数据集后,我们采用了一系列 ML 和 DL 模型。每个模型的选择都是根据其处理网络数据特征的适用性及其有效识别异常模式的潜力。下面,我们全面概述了我们研究中使用的 ML 模型,以及它们的优缺点。
首先,我们使用 LR,这是一种用于二元分类任务的基本统计方法。LR 模型使用 logistic 函数估计给定实例属于特定类的概率:
(其中 x 表示输入特征,w 表示模型权重,b 是偏差项。LR 的优势在于其简单性、可解释性以及处理特征和类之间的线性关系的效率。当充分理解特征重要性并且决策边界是线性的时,它特别有效。但是,LR 可能难以捕获数据中复杂的非线性关系,并且受到其线性假设的限制。)
我们的第二个模型 NB 是一个基于贝叶斯定理的概率分类器,特征之间具有很强的独立性假设。NB 高效、可扩展,并且在处理高维数据时表现良好。它对于文本分类任务和特征独立性成立的方案特别有效。然而,NB 的特征独立性假设在实践中可能并不总是成立,导致在相关特征的情况下性能不令人满意。与 RF 和神经网络等更灵活的模型相比,NB 捕获数据中复杂关系的能力也受到限制。
给定输入特征 x 的类 Ck的分类概率可以使用以下公式计算:
RF 是一种集成学习技术,它构建多个 DT 并结合这些树的预测,以改进分类并减少过拟合。随机森林的单个决策树 T 中的决策过程可以表示为:
(RF 的优势在于它能够处理复杂的非线性关系、特征交互和嘈杂的数据。RF 对过拟合很鲁棒,并且在最小的超参数调整下表现良好。然而,与 LR 等更简单的模型相比,RF 的计算成本可能很高,而且更难解释。)
最后,RNN 是一类神经网络,旨在捕获数据中的顺序依赖关系。RNN 适用于时间序列数据和自然语言处理任务,因为它能够保留先前输入的知识。简单的RNN细胞(一个神经单元)中的计算可以表示为:
尽管 RNN 具有捕获复杂模式的潜力,但它们可能需要大量的超参数调整和大量的数据才能有效地泛化。此外,它们可能会遇到梯度消失等挑战,由于梯度更新的乘法性质,长期依赖关系变得难以学习。但是,RNN 对于涉及顺序数据的任务非常有效,并且已经扩展为 LSTM 和 GRU 等变体。
这些模型中的每一个在性能、可解释性和计算复杂性方面都提供了独特的优势和权衡。通过利用各种 ML 技术,我们旨在综合评估不同方法在 NetFlow 流量中异常检测的有效性,同时考虑到网络数据带来的具体特征和挑战。
4 Experimental results
我们实验中使用的网络数据集是使用 Mihailescu 在The proposition and evaluation of the roedunet-simargl2021 network intrusion detection dataset中详述的 NetFlow V9 收集的。该数据集包含网络流的各种属性,包括源地址和目标地址、源端口和目标端口、协议信息、流持续时间以及数据包和字节总数。网络中的异常流量(例如端口扫描、恶意软件活动和 DoS 攻击)被归类为异常,从而深入了解网络内的潜在恶意活动。
The Proposition and Evaluation of the RoEduNet-SIMARGL2021 Network Intrusion Detection Dataset (mdpi.com) RoEduNet-SIMARGL2021 网络入侵检测数据集的提出与评价
为了为异常检测任务准备数据集,我们通过采用重采样技术来平衡正常实例和异常实例的分布,解决了与类不平衡相关的问题。图 5 显示了最终分布。此外,删除了不必要的列,例如 IP 地址和流 ID,以专注于建模的相关特征。此外,对协议信息等分类变量进行编码,以促进 ML 和 DL 模型的训练。
A. Exploratory Data Analysis
在深入研究实验结果的分析之前,我们进行了探索性数据分析 (EDA),以深入了解数据集中特征的特征和分布。通过可视化,我们检查了几个数值特征的分布。
在图 3 中,我们可视化了源端口的分布,这些端口主要集中在超过 30,000 的值附近。相比之下,图 4 显示了目标端口的分布,这些端口更集中在较低的值附近。这一观察表明源端口和目标端口的行为存在潜在差异,其中源端口表现出更高的可变性,而目标端口则更集中。
图 6 说明了网络流量数据中使用的协议的分布。从图中可以明显看出,TCP 是异常样本中使用最常用的协议。这一观察揭示了我们的数据集中大约有 100,000 个实例正在使用 TCP,这表明 TCP 使用情况与异常网络活动之间存在显着关联。相反,正常流量表明 UDP 和 TCP 之间存在可比的使用模式,在这两个类别中观察到大约 40,000 个样本。
ICMP 总体上代表性较低。尽管 ICMP 的使用率较低,但仍在大约 5000 个实例中观察到使用 ICMP 的异常情况。
TCP 在异常中占主导地位,这引发了关于观察到的异常性质的有趣问题。TCP 是一种面向连接的协议,通常与各种基于网络的攻击有关,例如端口扫描、DoS 和恶意软件传播。TCP 在异常中的普遍使用可能表明网络内此类恶意活动的可能性增加。
我们还观察到数据集中与 UDP 使用情况相关的异常流量的缺失,相反,UDP 流量只存在于正常实例中。
B. Evaluation
接下来是进行评估
首先要确定这几个指标:ACC,Pre,Rec,F1,AUC
下边这个表展示了各个模型的性能指标:
图 7 显示了 RF 模型的优势,该模型在所有指标中表现最佳,表现出令人印象深刻的 0.938 准确率和 0.967 的 F1 分数。此外,RF 在区分正常实例和异常实例方面表现出稳健性,其 0.99 的高 AUC 证明了这一点,如图 8 所示。值得注意的是,RF 还具有最短的训练时间,仅需 0.19 秒即可完成训练阶段,并且测试时间最快,单次预测仅需 0.23 微秒。这些计算效率指标突出了 RF 在模型性能和计算速度方面的优势。
相比之下,虽然 RNN 等 DL 模型表现出出色的性能,但它们在对异常实例进行分类方面仍然难以与 RF 的有效性相媲美。RNN 尽管实现了 92.2% 的准确率,总体上展示了值得称道的指标,但未能达到 RF 卓越的整体性能。
此外,RNN 会产生大量的计算成本,训练持续时间为 443.98 秒,每次预测的测试时间为 124.75 微秒。RNN 和 RF 在训练和测试效率方面的鲜明对比从图 9 和图 10 中可以明显看出。这些延长的时间间隔极大地减轻了 RNN 在实际部署场景中的潜在可扩展性挑战,在这些场景中,快速检测和响应网络异常至关重要。
NB 和 LR 等模型表现出较低的时间复杂度,但在性能指标方面未能提供令人满意的结果。尽管它们的训练和测试时间相对较短,NB 训练时间为 0.39 秒,LR 训练时间为 4.06 秒,但这些模型难以在分类任务中实现有竞争力的性能。
C. Discussion
这些结果强调了网络流量中异常检测的复杂性,以及与选择平衡性能和计算效率的适当模型相关的挑战。虽然 RNN 等 DL 模型可能在捕获网络数据中的复杂模式方面提供理论优势,但它们的实际效用受到计算限制。相反,某些传统的 ML 算法(如 NB 和 LR)的计算效率很高,但缺乏有效区分正常实例和异常实例所需的复杂性。然而,RF 模型在所有指标中表现最佳,取得了令人印象深刻的分数,同时展示了卓越的计算效率。因此,要开发能够应对网络安全中不断变化的威胁的具有鲁棒性的异常检测系统,必须采用兼顾模型有效性和计算可行性的细致入微的方法。
在实际的网络安全应用中,对高性能和低复杂性的异常检测系统的需求至关重要。例如,在数千台设备互连的大型企业网络中,每秒都会产生大量的网络流量。在此类环境中,及时检测和响应异常活动对于维护网络完整性和防范潜在的安全漏洞非常重要。因此,部署高效的异常检测模型,能够以最少的计算资源准确识别和分类网络异常变得势在必行。
总而言之,我们的研究强调了 NetFlow 流量数据中异常检测固有的复杂性和挑战。我们的研究结果强调了选择在性能和计算效率之间取得平衡的适当模型的重要性。虽然 DL 模型在捕获数据中的复杂模式方面很有希望,但它们的实际效用可能会受到计算约束和数据适应能力的限制。相反,传统的 ML 模型在性能和计算效率之间提供了平衡,但可能难以捕获数据中的复杂关系。
在我们的实验中,RF 模型的卓越性能体现了集成学习技术在异常检测任务中的有效性。RF 不仅表现出高准确度、精密度、召回率和 F1 分数值,而且只需最少的参数调整工作,使其非常适合计算资源和时间限制是关键考虑因素的实际部署场景。我们的研究表明,RF 模型为为网络安全应用开发强大且可扩展的异常检测系统提供了一条有前途的途径。