首页 > 编程语言 >【笔记】机器学习算法在异常网络流量监测中的应用

【笔记】机器学习算法在异常网络流量监测中的应用

时间:2024-09-20 23:35:00浏览次数:1  
标签:检测 模型 笔记 网络流量 detection 算法 ML 异常

这段时间在找方向,又看不懂文章,只能先从一些相对简单的综述类看起,顺便学学怎么写摘要相关工作的。

机器学习算法在异常网络流量监测中的应用

原文:Detecting Network Anomalies in NetFlow Traffic with Machine Learning Algorithms

原文链接:Detecting Network Anomalies in NetFlow Traffic with Machine Learning Algorithms | IEEE Conference Publication | IEEE Xplore

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是机器学习领域的一种模型评估指标。关于AUC:模型评估指标 AUC 和 ROC,这是我看到的最透彻的讲解 (qq.com)

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 和 DL 技术在各个领域的多功能性和有效性。虽然一些例子揭示了 RF 等传统 ML 模型的优越性,但值得强调的是,根据每个应用程序的特定需求选择最合适的模型才是最重要的。

3 Methodology and experiment design

4 Experimental results

(这俩直接翻原文吧)

5 Conclusion

总而言之,我们的研究强调了 NetFlow 流量数据中异常检测固有的复杂性和挑战。我们的研究结果强调了选择在性能和计算效率之间取得平衡的适当模型的重要性。虽然 DL 模型在捕获数据中的复杂模式方面很有希望,但它们的实际效用可能会受到计算约束和数据适应能力的限制。相反,传统的 ML 模型在性能和计算效率之间提供了平衡,但可能难以捕获数据中的复杂关系。

在我们的实验中,RF 模型的卓越性能体现了集成学习技术在异常检测任务中的有效性。RF 不仅表现出高准确度、精密度、召回率和 F1 分数值,而且只需最少的参数调整工作,使其非常适合计算资源和时间限制是关键考虑因素的实际部署场景。我们的研究表明,RF 模型为为网络安全应用开发强大且可扩展的异常检测系统提供了一条有前途的途径。

总之,我们的研究为网络流量中的异常检测提供了有价值的见解,并强调了采用细致入微的方法的重要性,该方法在为网络安全挑战开发有效的解决方案时要考虑模型的有效性和计算可行性。展望未来,未来的研究工作应侧重于探索融合 DL 和传统 ML 技术优势的混合方法。通过将 DL 模型的算法与传统 ML 算法的效率相结合,研究人员可以开发更强大且可扩展的异常检测系统,能够解决网络安全中不断变化的威胁。探索在线学习和动态模型适应自身相似的网络流量上下文也会很有趣。

标签:检测,模型,笔记,网络流量,detection,算法,ML,异常
From: https://www.cnblogs.com/soaring27221/p/18423454

相关文章

  • [leetcode刷题]面试经典150题之5多数元素元素(简单)【附Boyer-Moore 投票算法(摩尔投票法
    很有意思的一个题,想了半天没想出来,最后发现两行代码就做出来了。写完后学习到还可以用Boyer-Moore投票算法,能减小空间复杂度,我把它写在后面,可以进一步学习。题目  多数元素给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊......
  • 慢SQL优化笔记:从3041ms到10ms的优化之旅
    1背景最近项目上要求开发一个查询接口,刚开发完成后,测试环境进行自测发现查询效率非常慢,通过打log计算得到SQL执行时间3041ms,实在太慢了。下面简单记录下本次慢SQL优化的过程。2相关数据新增客户表(其它无关字段省略)createtablenew_customer_info( idbigint(32)not......
  • 代码随想录算法训练营第一天 | 209. 长度最小的子数组 59. 螺旋矩阵 58. 区间和 Java
    209.长度最小的子数组题目链接:https://leetcode.cn/problems/minimum-size-subarray-sum/description/解题思路思路1:暴力解法通过两个for循环,找出所有的可能的区间,并比较出最小区间思路2:滑动窗口因为需要找出的是连续的一个子数组,所以可以模拟一个从左到右滑动的一个......
  • Asp.net MVC 学习笔记Razor(一)
    接手一个古老的项目,DotNet4.0编写的一个ASP.NETMVC的网页软件,期间结果好几任开发者的不懈努力,编码风格至少有3种,看的头疼。当然最主要的是我一直是做c++开发、c#中的wpf和winform或者python,asp.NET代码看的有点眼生。不管怎么样,先把基础的东西过一遍吧。Razor语法主要的Raz......
  • Living-Dream 系列笔记 第79期
    P1775典。code#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN=3e2+5;intn,a[N],sum[N],dp[N][N];signedmain(){ ios::sync_with_stdio(0); cin.tie(0); cin>>n; memset(dp,0x3f,sizeofdp); for(inti=1;i<=n;......
  • C++学习笔记(27)
    十一、把字符串转换成整数有两个任务:1)为了支持把C风格的字符串转换成数字,C++提供了以下四个函数:intatoi(constchar*_String);//把C风格字符串转换为int整数。longatol(constchar*_String);//把C风格字符串转换为long整数。longlongatoll(constchar......
  • leetcode刷题day22|回溯算法Part01( 77. 组合 、216. 组合总和 III、17.电话号码的字母
    前言:回溯是递归的副产品,只要有递归就会有回溯,回溯函数也就是递归函数。回溯是暴力穷举解法,效率并不高。但一些问题只能使用回溯来解决。回溯法,一般可以解决如下几种问题:组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一......
  • leetcode刷题day23|回溯算法Part02(39. 组合总和 、40.组合总和II、131.分割回文串)
    39.组合总和思路:这个题与77.组合的差异在于元素可以无限制重复被选取,那么只需要更改startIndex即可,每一层递归都可以从头选用元素。回溯三部曲与77.组合基本一致。代码如下:classSolution{List<List<Integer>>result=newArrayList<>();List<Integer>pa......
  • leetcode刷题day24|回溯算法Part03(93.复原IP地址、78.子集、90.子集II)
    93.复原IP地址思路:这个题和131.分割回文串一样都是对字符串进行分割,只不过这个子字符串判断时是看是不是0-225之间的数字。回溯三部曲:1、递归函数参数:全局变量:String数组result存放结果集。递归函数参数:原字符串;startIndex,因为切割过的地方不能重复切割,和组合问题是一样......
  • 大数据新视界 --大数据大厂之算法在大数据中的核心作用:提升效率与智能决策
           ......