读文献—机器学习应用到网络流量分类综述

我爱读文献

review of machine learning techniques for network traffic classification

Sharma N, Arora B. Review of Machine Learning Techniques for Network Traffic Classification[J]. Available at SSRN 3747605, 2020.

传统的网络流量分类 可以分为四种类型 :基于端口的,基于载荷的,统计的以及行为的
读文献—机器学习应用到网络流量分类综述_第1张图片
对于基于端口的方式(对包头进行检查)来说主要有以下两种缺点:

  1. 某些应用程序可以将自身设置为知名端口来混淆自己
  2. 由于当前应用程序的多态性,通常无法理解确切的端口号

对于基于载荷的分类方式(不局限于对报头进行检查,而且与载荷内容进行对比)有以下两种缺陷:

  1. 当出现大量加密流量未分类的情况时,增加了误报率
  2. 检查有效载荷内容违反了用户隐私策略,计算成本增加

对于基于统计特性(对于包长度、流持续时间、包间隔等统计属性区分是否为正常流量)其问题为不能满足实时流量增长的要求

对于基于行为分析的方式(通过分析终端或者目标主机接受到的网络流量模式来检查整个网络流量【通过检查主机数量和端口数量来识别特定的应用程序】)来说这种方法只考虑到了终端或者是客户端的行为

由于动态网络环境的复杂性,传统网络流量分类的方式已经不能满足需求,故将机器学习应用到网络流量检测应运而生。网络流分类部署模型如下
读文献—机器学习应用到网络流量分类综述_第2张图片
ML 对于流量分类所带来的机遇:

首先流量被作为一组数据包的集合出现,这种数据包整合了发送方和接收方的IP地址和端口
对于解决动态端口,用户隐私,和机密应用程序方面也有显著帮助

目前流量分类所面临的的挑战:

  • 应用程序的性质经常变化
  • 对P2P等新协议的流量以及其分布处理能力进行分类,使得协议分类难以准备完整
  • 未来避免被过滤和检测,应用程序开发人员需要找到新的方法来混淆自己
  • 低计算成本和低精度的轻量级算法的前提仍然需要一个可靠的解决方案
  • 在局域网的高带宽下,满足流量需求是非常容易的但是在带宽有限的广域王忠满足流量需求仍然是一个挑战

对于当前的研究工作 汇总

  • 应用一种无监督ML技术,将互联网流量聚类成一组簇,然后使用有监督的ML算法对新流量进行分类。

    使用网络流量的统计特性(如包大小、包间到达时间和包长度)考虑前十个数据包的属性。采用K-means算法对网络流进行分组。接下来将c4.5决策树算法用于生成k-means聚类,作为有监督ML方法的输入,对新的未知流量进行分类。

  • 选择强相关特征之后采用无监督机器学习算法进行分类

    基于相关性的特征选择滤波器从候选特征集中剔除不重要的特征已获得网络流量分类的特征 后使用K-means和EM进行分组
    其中k-means准确率88% EM准确率84%

  • 选择最相关特征后采用有监督算法和无监督算法进行对比分析

利用信息增益属性选择最相关特征。采用有监督算法(支持向量机)和无监督算法(K-means)分别训练测试
SVM的计算效率和精度更高

  • 提出一种基于流量统计特性和IP数据包有效载荷的NTC模型

采用无监督的ML方法将流分类为几个基于应用的类来识别未知应用。
提出一种新的簇聚合技术,根据其有效载荷内容合并具有可比性的流量簇
提出一种新的词汇袋模型来实现有效负载集群的内容—流量簇被视为一组编码字的记录
实验结果表明比k-means方法高出20%,准确性可达89%

  • 一种新的Robust statistical traffic classification(RTC)通过聚合有监督和无监督ML技术来识别零日应用。

主要包含三个模块:
未知的发现

  • 从大量未标记的流量数据集中识别新的零日攻击的例子

基于大量流动的流量分类( a bag of flow[BOF])

  • 去零日流量样本,以与标记训练示例作为输入,形成RTC分类器

系统更新

  • 通过学习新的分类可以清楚的分析零日流量,增加了系统的知识,这作为一个系统更新


    对于监督模块,采用基于BOF的随机森林算法对无监督部分采用k-means聚类


    实验结果表明,由于现有的流量分类方法(随机森林,基于BOF方法,半监督方法和一类SVM),TP达到94%
  • 根据相似性度量将网络流量分类

应用频谱聚类将院士网络流量分组为具有相似流量特征的k子集,然后应用深度神经网络算法学习训练数据的有价值特征用于入侵检测【适用于大型训练数据集】

  • 引入一种自适应和协作的入侵检测机制,将不同的任务分配给环境类、代理、角色、组、对象作为设备来规划入侵检测模型

将互联网流量分为不同的协议TCP/UDP/ICMP/内容来识别不同的攻击
基于SVM和决策树来检测入侵

  • 基于网络流量关系模型的流量分组方法

由两部分组成:相似模型和连通性模型
对相似流量进行分组,自动计算网络流量的关联指数,将相似模型中的分组流作为链接模型的输入。连接模型中的流量分组依赖于链接索引而不是相同的端口,ip,协议

  • 实时流量分类的方法

基于ML的视频流量分类模块作为标记数据包、网络生存性的替代方案
通过评估QOS级别来处理多类视频业务,并且能够在YOUtube视频流。Netflix视频流和后台流量之间对实时视频进行分类
使用朴素贝叶斯,排除属性之间的独立性假设
准确率98.88%计算成本低,适用于实时情况

  • 加密网络流量的分类方法以及利用深度学习技术检测网络内部入侵的框架

采用三种深度学习算法:卷积神经网络、长短期记忆(LSTM)和堆叠自动编码器(SAE)
CNN用来学习原始的网络流量特征
LSTM学习时间相关特征
SAE将特征与编码特征分离
可以在一个框架下对加密流量和恶意流量进行分类,无需人工干预
模型精度99.85%

你可能感兴趣的:(日常,网络,机器学习)