CN112671757A - 一种基于自动机器学习的加密流量协议识别方法及装置 - Google Patents
一种基于自动机器学习的加密流量协议识别方法及装置 Download PDFInfo
- Publication number
- CN112671757A CN112671757A CN202011526966.0A CN202011526966A CN112671757A CN 112671757 A CN112671757 A CN 112671757A CN 202011526966 A CN202011526966 A CN 202011526966A CN 112671757 A CN112671757 A CN 112671757A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- flow
- data
- encrypted
- automatic machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000013528 artificial neural network Methods 0.000 claims abstract description 25
- 238000007781 pre-processing Methods 0.000 claims abstract description 21
- 238000003062 neural network model Methods 0.000 claims abstract description 18
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 12
- 230000011218 segmentation Effects 0.000 claims abstract description 9
- 238000012549 training Methods 0.000 claims description 13
- 230000003044 adaptive effect Effects 0.000 claims description 11
- 238000013145 classification model Methods 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 9
- 239000013598 vector Substances 0.000 claims description 9
- 238000004140 cleaning Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于自动机器学习的加密流量协议识别方法及装置,所述方法包括以下步骤:对加密流量进行会话切分、匿名化处理、统一数据包长度等数据预处理工作;提取流量样本的14个流特征;采用自动机器学习方法识别加密流量协议,并输出结果。本发明提供两种协议识别的方法,一种通过提取数据的统计特征自动生成最优的机器学习算法、模型并自动优化模型的超参数;另一种仅利用原始加密流量即可自动搜索出适合加密流量分类任务的最优神经网络结构,两种方法均可在无需借助人工智能专家智慧的情况下,自动生成优化的机器学习算法与神经网络模型,并自动优化超参数,实现对加密流量协议的自动分类,从而大大提升加密流量协议识别的准确率和效率。
Description
技术领域
本发明涉及一种基于自动机器学习的加密流量协议识别方法及装置,属于网络通信技术和人工智能技术领域。
背景技术
网络流量协议识别又称为网络流量分类,传统的网络流量分类技术可以分为四类,即基于端口识别的方法、基于深度包检测的方法、基于流量统计的方法和基于流量行为分析的方法。近年来,随着网络传输安全和用户隐私保护等需求的迅速增加,加密流量呈现爆发式增长,直接应用传统的流量分类方法无法对网络中传输的加密流量进行有效区分,给网络流量分类带来巨大挑战。
人工智能技术的发展为加密流量分类领域打开了新思路,目前,主流的加密流量分类技术主要包括基于机器学习的加密流量分类方法和基于深度学习的加密流量分类方法两类。
基于机器学习的加密流量分类方法通常需要从原始加密流量中提取各项特征,用机器学习模型做分类。研究所使用的特征主要有两类:流特征,例如流持续时间、每秒流比特数等;包特征,例如包大小、包方向等。然而,传统机器学习存在以下问题:一是需要人工选择算法、模型并调参;二是其分类性能依赖于人工选择的流量特征。
基于深度学习的加密流量分类方法通过构建一个分类模型,直接从原始加密流量中学习特征,避免了人工选择特征的问题。但由此带来的问题是:神经网络模型设计的好坏取决于人们对分类任务的理解及模型设计上的想象力,需要相关研究人员对人工智能领域以及流量分类领域均有着充分的认知,与此同时,在训练过程中,通过人工不断地对模型结构及参数进行调整与优化也非常耗费时间。
综上所述,现有技术的缺点为高度依赖人工智能专家经验,且模型迭代优化的周期长,业务人员使用神经网络模型的门槛高。如何有效提高模型筛选与超参调优的速度,从而提升流量分类的准确率和效率是关键。
发明内容
本发明的目的是提供一种基于自动机器学习的加密流量协议识别方法及装置,其可以在不借助人工智能专家智慧的情况下,根据原始加密流量或流量的统计特征自动生成最优的算法、模型并自动优化超参数,实现对加密流量协议的自动分类,大大提升加密流量协议识别的准确率和效率。
为达到上述目的,本发明采用的技术方案是:提供一种基于自动机器学习的加密流量协议识别装置,包括基础环境层、AI支撑环境层和自适应协议识别层;
所述基础环境层包括用于组成系统的基础软硬件和各种数据资源;
所述AI支撑环境层用于调度基础环境层的软硬件资源,为自适应协议识别层提供支撑,同时对资源使用的情况、生成的算法模型结果进行记录,为后续的溯源评价提供基础,具体包括各种人工智能框架、算法库及模型管理模块;
所述自适应协议识别层用于提供基于自动机器学习方法的加密流量协议识别服务,包括数据预处理模块、特征工程模块和协议识别模块;
所述数据预处理模块,用于对加密流量进行采集、清洗、时间戳提取,利用数据包交互的特征切分网络流量,并将数据集划分为训练集和测试集两部分;
所述特征工程模块,用于在会话切分的基础上,对原始加密流量数据进行初步特征提取与标注,为基于机器学习的分类提供特征数据集;
所述协议识别模块,包括自动机器学习子模块和神经网络架构搜索子模块,其中,自动机器学习子模块采用自动机器学习算法对加密流量分类,神经网络架构搜索子模块用于自动构建适合加密流量分类任务的神经网络模型对加密流量分类。
上述技术方案中进一步改进的方案如下:
1. 上述方案中,还包括WEB UI层,用于提供用户友好的系统使用界面。
2. 上述方案中,所述基础环境层中的硬件包含CPU/GPU计算资源、存储有训练数据与模型的HDFS集群以及万兆以太网络环境,所述基础环境层中的软件包含Linux操作系统软件和虚拟化平台。
3. 上述方案中,所述AI支撑环境层包括支撑人工智能应用程序所需要的各种软件资源,主要包括机器学习框架Sklearn、AutoML框架、机器学习算法库、深度神经网络模型库。
还提供一种基于自动机器学习的加密流量协议识别方法,包括以下步骤:
步骤1:数据预处理模块对pcap格式的加密流量进行数据预处理,数据预处理包括以下步骤:
步骤1.1:利用流量检测和清洗工具对所述的加密流量数据进行处理,删除异常流量数据和缺失数据;
步骤1.2:提取并保存加密流量的时间戳信息;
步骤1.3:根据时间戳将加密流量按照会话的粒度进行切分,使得同一个会话具有相同的五元组(源IP、目的IP、源端口、目的端口、传输层协议)信息,将单个会话中的数据包按照其到达的时间先后顺序组合为一个流量样本;
步骤1.4:将每个流量样本进行匿名化处理;
步骤2:将数据预处理后的流量样本送入特征工程模块,从每个流量样本的统计信息中提取特征向量构建训练数据集;
17个流特征向量包括:发送端包数量、接收端包数量、总包数量、发送端包长期望、接收端包长期望、发送端平均包个数/秒、接收端平均包个数/秒、发送端包长方差、接收端包长方差、发送端总字节数、接收端总字节数、下载上传比率、会话时长、会话时间的最大、最小期望和方差;
步骤3:利用协议识别模块提供的自动机器学习方法识别加密流量协议,具体包括以下步骤:
步骤3.1:将经过步骤1处理后的加密流量送入神经网络架构搜索子模块,该模块通过设计适应加密流量分类的算子库,基于算子库进行网络结构搜索,自动构建深度神经网络分类模型并自动优化超参数,生成优于或与人工设计的网络性能相当的分类模型;
步骤3.2:将步骤2 中提取的特征向量送入自动机器学习子模块,该模块属于传统机器学习模型的自动化学习,采用Auto-sklearn框架自动选择最优的机器学习算法与模型并自动优化超参数,生成优于或与人工设计的网络性能相当的分类模型;
步骤4:协议识别模块输出分类结果,并保存训练好的模型与参数供后续分析与识别任务使用。
上述技术方案中进一步改进的方案如下:
1. 上述方案步骤1.4中,通过丢弃数据链路层信息以及IP地址信息,对每个流量样本进行匿名化处理。
2. 上述方案步骤3.1还包括提取每个流量样本的前n个数据包,若流量样本长度不足则在末尾补全0数据包;提取每个数据包的前l字节的数据,若数据包长度不足则在末尾补0,对每字节的数据分别进行m比特的one-hot编码,将每个数据包转换为l×m的二维数据。
3. 上述方案步骤3.1中的神经网络架构搜索子模块定义算子库由8种基本操作组成,所述基本操作包括3×3最大池化、3×3平均池化、3×3深度可分离卷积、3×3空洞卷积、5×5深度可分离卷积、5×5空洞卷积、零操作和entity映射;
在所述深度神经网络模型中,每两个特征图之间的操作通过softmax函数实现加权平均,权值矩阵表示为alpha,通过梯度下降算法联合优化alpha矩阵和神经网络的参数矩阵。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明提供一种基于自动机器学习的网络流量协议识别方法及装置,其采用自动机器学习方法,可以在不借助人工智能专家智慧的情况下,根据原始加密流量或流量的统计特征自动生成最优的算法、模型并自动优化超参数,实现对加密流量协议的自动分类,大大提升加密流量协议识别的准确率和效率。
附图说明
附图1为本发明基于自动机器学习的加密流量协议识别装置组成图;
附图2为本发明基于自动机器学习的加密流量协议识别装置工作原理图。
具体实施方式
实施例:本发明提供一种基于自动机器学习的加密流量协议识别装置,包括基础环境层、AI支撑环境层和自适应协议识别层;
所述基础环境层包括用于组成系统的基础软硬件和各种数据资源;
所述AI支撑环境层用于调度基础环境层的软硬件资源,为自适应协议识别层提供支撑,同时对资源使用的情况、生成的算法模型结果进行记录,为后续的溯源评价提供基础,具体包括各种人工智能框架、算法库及模型管理模块;
所述自适应协议识别层用于提供基于自动机器学习方法的加密流量协议识别服务,包括数据预处理模块、特征工程模块和协议识别模块;
所述数据预处理模块,用于对加密流量进行采集、清洗、时间戳提取,利用数据包交互的特征切分网络流量,并将数据集划分为训练集和测试集两部分;
所述特征工程模块,用于在会话切分的基础上,对原始加密流量数据进行初步特征提取与标注,为基于机器学习的分类提供特征数据集;
所述协议识别模块,包括自动机器学习子模块和神经网络架构搜索子模块,其中,自动机器学习子模块采用自动机器学习算法对加密流量分类,神经网络架构搜索子模块用于自动构建适合加密流量分类任务的神经网络模型对加密流量分类。
还包括WEB UI层,用于提供用户友好的系统使用界面。
上述基础环境层中的硬件包含CPU/GPU计算资源、存储有训练数据与模型的HDFS集群以及万兆以太网络环境,所述基础环境层中的软件包含Linux操作系统软件和虚拟化平台。
上述AI支撑环境层包括支撑人工智能应用程序所需要的各种软件资源,主要包括机器学习框架Sklearn、AutoML框架、机器学习算法库、深度神经网络模型库
还提供一种基于自动机器学习的加密流量协议识别方法,可自动选择加密流量识别的最优算法和模型,并自动优化超参数;
该基于自动机器学习的加密流量协议识别方法给出了两种协议识别的途径,一种方法只需提取数据的统计特征即可自动生成最优的机器学习算法、模型并自动优化超参数,实现对加密流量分类;另一种方法不需提取数据的统计特征,仅利用原始加密流量即可自动搜索出适合加密流量分类任务的最优神经网络结构并自动优化超参数,实现对加密流量的分类;两种方法均可以在无人工干预的情况下自动生成网络流量分类模型并自动优化超参数,从而大大提升加密流量协议识别的准确率和效率;
包括以下步骤:
步骤1:数据预处理模块对pcap格式的加密流量进行数据预处理,数据预处理包括以下步骤:
步骤1.1:利用流量检测和清洗工具对所述的加密流量数据进行处理,删除异常流量数据和缺失数据;
步骤1.2:提取并保存加密流量的时间戳信息;
步骤1.3:根据时间戳将加密流量按照会话的粒度进行切分,使得同一个会话具有相同的五元组(源IP、目的IP、源端口、目的端口、传输层协议)信息,将单个会话中的数据包按照其到达的时间先后顺序组合为一个流量样本;
步骤1.4:将每个流量样本进行匿名化处理;
步骤2:将数据预处理后的流量样本送入特征工程模块,从每个流量样本的统计信息中提取特征向量构建训练数据集;
17个流特征向量包括:发送端包数量、接收端包数量、总包数量、发送端包长期望、接收端包长期望、发送端平均包个数/秒、接收端平均包个数/秒、发送端包长方差、接收端包长方差、发送端总字节数、接收端总字节数、下载上传比率、会话时长、会话时间的最大、最小期望和方差;
步骤3:利用协议识别模块提供的自动机器学习方法识别加密流量协议,具体包括以下步骤:
步骤3.1:将经过步骤1处理后的加密流量送入神经网络架构搜索子模块,该模块通过设计适应加密流量分类的算子库,基于算子库进行网络结构搜索,自动构建深度神经网络分类模型并自动优化超参数,生成优于或与人工设计的网络性能相当的分类模型;
步骤3.2:将步骤2 中提取的特征向量送入自动机器学习子模块,该模块属于传统机器学习模型的自动化学习,采用Auto-sklearn框架自动选择最优的机器学习算法与模型并自动优化超参数,生成优于或与人工设计的网络性能相当的分类模型;
步骤4:协议识别模块输出分类结果,并保存训练好的模型与参数供后续分析与识别任务使用。
上述方案步骤1.4中,通过丢弃数据链路层信息以及IP地址信息,对每个流量样本进行匿名化处理。
上述方案步骤3.1还包括提取每个流量样本的前n个数据包,若流量样本长度不足则在末尾补全0数据包;提取每个数据包的前l字节的数据,若数据包长度不足则在末尾补0,对每字节的数据分别进行m比特的one-hot编码,将每个数据包转换为l×m的二维数据。
上述方案步骤3.1中的神经网络架构搜索子模块定义算子库由8种基本操作组成,所述基本操作包括3×3最大池化、3×3平均池化、3×3深度可分离卷积、3×3空洞卷积、5×5深度可分离卷积、5×5空洞卷积、零操作和entity映射;
在所述深度神经网络模型中,每两个特征图之间的操作通过softmax函数实现加权平均,权值矩阵表示为alpha,通过梯度下降算法联合优化alpha矩阵和神经网络的参数矩阵。
对上述实施例的进一步解释如下:
一、总体方案
所述装置共分为三个部分,如图1所示,分别是基础环境、AI支撑环境和自适应协议识别。
基础环境,主要包括组成系统的基础软硬件,也包括各种数据资源;
AI支撑环境,包括各种人工智能框架、算法库及模型库,能够调度基础环境层的软硬件资源,为自适应协议识别层提供支撑,同时对资源使用的情况、生成的算法模型成果进行记录,为后续的溯源评价提供基础;
自适应协议识别,包括数据预处理、特征工程、协议识别三个模块,各部分之间通过预定义接口有机整合,针对加密流量提供基于自动机器学习方法的协议识别服务。
系统的逻辑结构组成自底向上详细说明如下:
1、基础环境:硬件包含CPU、GPU等计算资源,存储训练数据与模型的HDFS集群,以及万兆以太网络环境;软件包含Linux操作系统软件和虚拟化平台。
2、AI支撑环境:包括支撑人工智能应用程序所需要的各种软件资源,如机器学习框架Sklearn、AutoML框架、机器学习算法库、神经网络模型库等。
3、自适应协议识别:借鉴自然语言处理的方法,利用数据包交互的特征,首先确定流的边界,再识别数据流的协议类型,进行协议部位识别,其主要由如下三部分组成:
1)数据预处理模块主要包括数据准备、会话切分和数据集划分三部分功能;
数据准备针对加密流量进行采集、清洗、时间戳提取等工作;
会话切分利用数据包交互的特征切分网络流量;
数据集划分将数据集划分为训练集和测试集两部分。
2)特征工程模块:主要负责从原始加密流量数据中提取各项特征,在会话切分的基础上,实现初步特征提取与标注,重点为时序相关特征,为基于机器学习的分类提供特征数据集。
3)协议识别模块:主要包括自动机器学习和神经架构搜索两部分功能;
既可采用自动机器学习算法对加密流量分类,还能自动构建适合加密流量分类任务的神经网络模型对加密流量分类。
4、WEB UI:提供了用户友好的系统使用界面。
该装置的工作原理描述如下:
通过学习原始加密流量数据的特征与时序关系,将原始流量以会话的粒度切分,并将切分后的网络流数据送入协议识别模块进行处理;
协议识别模块由自动机器学习子模块和深度学习子模块两部分组成,分别提供自动机器学习与神经网络架构搜索两类协议识别的方法和能力;
在自动机器学习子模块中,通过提取会话流的特征数据,将标记后的特征数据文件作为输入,直接送入自动机器学习的pipeline处理流程,实现机器学习算法与模型的自动选取与调优,以及相应超参数的自动优化;
在深度神经网络子模块中,采用神经网络架构搜索技术自动构建神经网络模型并调整超参数,生成优于或与手工设计网络性能相当的模型;
最后,由协议识别模块输出分类结果即协议标签,同时,保存训练好的模型与参数供后续分析与识别任务使用。
二、主要技术分析
AutoML已成功应用于深度学习的两大数据集中,即专注图像识别的 CIFAR-10与语言建模的Penn Treebank;在这两个数据集上,系统自行设计的模型性能表现与目前机器学习专家所设计的领先模型不相上下。
本申请将AutoML应用于网络流量分类领域,针对网络加密数据流,自动生成并优化模型与参数,提升加密流量协议识别准确率和效率。
1)加密流量的自适应切分技术
网络数据流本质上是一种网络交互语言,基于统计语言模型的算法同样适用于对网络数据的分析识别。而语言模型本质上是一个基于概率的判别模型,它的输入是一句话,即单词的顺序序列;输出是这句话的概率,即这些单词的联合概率。其思想可以简要概括为两点:第一,某个词的出现依赖于其它若干个词;第二,积累的信息越多,预测越准确。该思想映射到对网络数据包的处理同样基于以下两点:第一,某个数据包的出现依赖于其它若干个数据包;第二,选出的数据包越多,则预测越准确。
因此,借鉴自然语言处理领域成熟的技术方法,建立基于数据包的自适应会话切分策略,研究n-gram加密数据特征提取算法,通过提取加密数据流的数据包长度、时间戳、收发关系(源、目的IP)三种信息,推测会话流的协议变点(Protocal Change Point, PCP),(该IP数据包前为一个会话,含该IP的数据包的后为一个会话,称此IP数据包为协议变点),实现对加密数据流的分割。
2)面向加密流量协议识别的AutoML技术
针对不同的加密流量分类任务,无论是采用基于机器学习的分类方法还是采用深度神经网络模型,在算法、模型的设计和优化方面均高度依赖于人工智能专家智慧。而在深度学习中,超参数优化问题的产生是因为神经网络模型本质是一个黑盒模型(Black Box),即模型本身是没有函数表达式的,人们只能根据输入和输出猜测其规律,因此,每次评测黑盒模型都需要花费大量的时间及计算资源。人工调参不仅耗时耗力,大大增加人力成本和时间成本,而且往往需要由具备专业经验的调参工程师才能胜任,从一定程度上又增加了应用成本。
本发明将AutoML技术应用于网络加密流量分类领域,针对基于机器学习的分类方法,研发了一种自动选择及优化机器学习算法与模型的AutoML技术,通过提取数据的统计特征即可自动生成最优的机器学习算法、模型并自动优化超参数,实现对加密流量分类;
针对基于深度学习的分类方法,研发了一种神经网络架构搜索技术,通过设计适用于加密流量分类的网络搜索空间及搜索算法,自动搜索并迭代出最优的神经网络模型适配当前的流量分类任务,两种方法在解放人力、提升效率的基础上,均能获得更高的识别性能。
本发明采用自动机器学习方法,可以在不借助人工智能专家智慧的情况下,根据原始加密流量或流量的统计特征自动生成最优的算法、模型并自动优化超参数,实现对加密流量协议的自动分类,大大提升加密流量协议识别的准确率和效率。
为了便于更好的理解本发明,下面将对本文中使用的术语进行简要的解释:
自动机器学习:使用自动化的数据驱动方式选择神经网络架构,并自动优化训练过程和超参数,用户只要提供数据,自动机器学习系统自动决定最佳方案。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种基于自动机器学习的加密流量协议识别装置,其特征在于,包括基础环境层、AI支撑环境层和自适应协议识别层;
所述基础环境层包括用于组成系统的基础软硬件和各种数据资源;
所述AI支撑环境层用于调度基础环境层的软硬件资源,为自适应协议识别层提供支撑,同时对资源使用的情况、生成的算法模型结果进行记录,为后续的溯源评价提供基础,具体包括各种人工智能框架、算法库及模型管理模块;
所述自适应协议识别层用于提供基于自动机器学习方法的加密流量协议识别服务,包括数据预处理模块、特征工程模块和协议识别模块;
所述数据预处理模块,用于对加密流量进行采集、清洗、时间戳提取,利用数据包交互的特征切分网络流量,并将数据集划分为训练集和测试集两部分;
所述特征工程模块,用于在会话切分的基础上,对原始加密流量数据进行初步特征提取与标注,为基于机器学习的分类提供特征数据集;
所述协议识别模块,包括自动机器学习子模块和神经网络架构搜索子模块,其中,自动机器学习子模块采用自动机器学习算法对加密流量分类,神经网络架构搜索子模块用于自动构建适合加密流量分类任务的神经网络模型对加密流量分类。
2. 根据权利要求1所述的一种基于自动机器学习的加密流量协议识别装置,其特征在于:还包括WEB UI层,用于提供用户友好的系统使用界面。
3.根据权利要求1所述的一种基于自动机器学习的加密流量协议识别装置,其特征在于:所述基础环境层中的硬件包含CPU/GPU计算资源、存储有训练数据与模型的HDFS集群以及万兆以太网络环境,所述基础环境层中的软件包含Linux操作系统软件和虚拟化平台。
4.根据权利要求1所述的一种基于自动机器学习的加密流量协议识别装置,其特征在于:所述AI支撑环境层包括支撑人工智能应用程序所需要的各种软件资源,主要包括机器学习框架Sklearn、AutoML框架、机器学习算法库、深度神经网络模型库。
5.一种基于自动机器学习的加密流量协议识别方法,其特征在于,包括以下步骤:
步骤1:数据预处理模块对pcap格式的加密流量进行数据预处理,数据预处理包括以下步骤:
步骤1.1:利用流量检测和清洗工具对所述的加密流量数据进行处理,删除异常流量数据和缺失数据;
步骤1.2:提取并保存加密流量的时间戳信息;
步骤1.3:根据时间戳将加密流量按照会话的粒度进行切分,使得同一个会话具有相同的五元组(源IP、目的IP、源端口、目的端口、传输层协议)信息,将单个会话中的数据包按照其到达的时间先后顺序组合为一个流量样本;
步骤1.4:将每个流量样本进行匿名化处理;
步骤2:将数据预处理后的流量样本送入特征工程模块,从每个流量样本的统计信息中提取特征向量构建训练数据集;
17个流特征向量包括:发送端包数量、接收端包数量、总包数量、发送端包长期望、接收端包长期望、发送端平均包个数/秒、接收端平均包个数/秒、发送端包长方差、接收端包长方差、发送端总字节数、接收端总字节数、下载上传比率、会话时长、会话时间的最大、最小期望和方差;
步骤3:利用协议识别模块提供的自动机器学习方法识别加密流量协议,具体包括以下步骤:
步骤3.1:将经过步骤1处理后的加密流量送入神经网络架构搜索子模块,该模块通过设计适应加密流量分类的算子库,基于算子库进行网络结构搜索,自动构建深度神经网络分类模型并自动优化超参数,生成优于或与人工设计的网络性能相当的分类模型;
步骤3.2:将步骤2 中提取的特征向量送入自动机器学习子模块,该模块属于传统机器学习模型的自动化学习,采用Auto-sklearn框架自动选择最优的机器学习算法与模型并自动优化超参数,生成优于或与人工设计的网络性能相当的分类模型;
步骤4:协议识别模块输出分类结果,并保存训练好的模型与参数供后续分析与识别任务使用。
6.根据权利要求5所述的一种基于自动机器学习的加密流量协议识别方法,其特征在于:步骤1.4中,通过丢弃数据链路层信息以及IP地址信息,对每个流量样本进行匿名化处理。
7.根据权利要求5所述的一种基于自动机器学习的加密流量协议识别方法,其特征在于:步骤3.1还包括提取每个流量样本的前n个数据包,若流量样本长度不足则在末尾补全0数据包;提取每个数据包的前l字节的数据,若数据包长度不足则在末尾补0,对每字节的数据分别进行m比特的one-hot编码,将每个数据包转换为l×m的二维数据。
8.根据权利要求5所述的一种基于自动机器学习的加密流量协议识别方法,其特征在于:步骤3.1中的神经网络架构搜索子模块定义算子库由8种基本操作组成,所述基本操作包括3×3最大池化、3×3平均池化、3×3深度可分离卷积、3×3空洞卷积、5×5深度可分离卷积、5×5空洞卷积、零操作和entity映射;
在所述深度神经网络模型中,每两个特征图之间的操作通过softmax函数实现加权平均,权值矩阵表示为alpha,通过梯度下降算法联合优化alpha矩阵和神经网络的参数矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011526966.0A CN112671757B (zh) | 2020-12-22 | 2020-12-22 | 一种基于自动机器学习的加密流量协议识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011526966.0A CN112671757B (zh) | 2020-12-22 | 2020-12-22 | 一种基于自动机器学习的加密流量协议识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112671757A true CN112671757A (zh) | 2021-04-16 |
CN112671757B CN112671757B (zh) | 2023-10-31 |
Family
ID=75407514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011526966.0A Active CN112671757B (zh) | 2020-12-22 | 2020-12-22 | 一种基于自动机器学习的加密流量协议识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112671757B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095426A (zh) * | 2021-04-22 | 2021-07-09 | 西安交通大学 | 一种加密流量分类方法、系统、设备及可读存储介质 |
CN113746758A (zh) * | 2021-11-05 | 2021-12-03 | 南京敏宇数行信息技术有限公司 | 一种动态识别流量协议的方法和终端 |
CN113743542A (zh) * | 2021-11-05 | 2021-12-03 | 北京广通优云科技股份有限公司 | 一种基于加密流量的网络资产识别方法与系统 |
CN114257428A (zh) * | 2021-12-10 | 2022-03-29 | 广东工业大学 | 一种基于深度学习的加密网络流量识别及分类方法 |
CN114726753A (zh) * | 2022-05-24 | 2022-07-08 | 北京金睛云华科技有限公司 | 一种基于多任务学习的网络加密流量识别方法 |
CN115051828A (zh) * | 2022-04-22 | 2022-09-13 | 江苏科技大学 | 面向类别不平衡下的ssl vpn加密流量识别分类方法 |
CN115174198A (zh) * | 2022-07-01 | 2022-10-11 | 东南大学 | 一种基于特征优化的开源代理软件流量识别方法 |
CN115174134A (zh) * | 2022-05-16 | 2022-10-11 | 东南大学 | 一种基于加密流量分析的rtc媒体流实时应用识别方法 |
CN115174240A (zh) * | 2022-07-13 | 2022-10-11 | 中国国家铁路集团有限公司 | 一种铁路加密流量监测系统及方法 |
WO2023004707A1 (zh) * | 2021-07-29 | 2023-02-02 | 西门子股份公司 | 设备类型识别的方法和装置 |
CN116112256A (zh) * | 2023-02-08 | 2023-05-12 | 电子科技大学 | 一种面向应用加密流量识别的数据处理方法 |
CN116668186A (zh) * | 2023-07-18 | 2023-08-29 | 哈尔滨工业大学 | 一种基于多视角特征和集成学习的加密代理协议识别的方法 |
CN117955741A (zh) * | 2024-03-26 | 2024-04-30 | 河北久维电子科技有限公司 | 一种Modbus规约通信设备的加密通信方法、系统 |
CN118432951A (zh) * | 2024-07-04 | 2024-08-02 | 北京启天安信科技有限公司 | 一种基于人工智能的密流量加密算法识别方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101782976A (zh) * | 2010-01-15 | 2010-07-21 | 南京邮电大学 | 一种云计算环境下机器学习自动选择方法 |
CN108200030A (zh) * | 2017-12-27 | 2018-06-22 | 深信服科技股份有限公司 | 恶意流量的检测方法、系统、装置及计算机可读存储介质 |
KR20180116934A (ko) * | 2017-04-18 | 2018-10-26 | 한국기술교육대학교 산학협력단 | Cnn을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템 |
CN110380989A (zh) * | 2019-07-26 | 2019-10-25 | 东南大学 | 网络流量指纹特征二阶段多分类的物联网设备识别方法 |
CN111464485A (zh) * | 2019-01-22 | 2020-07-28 | 北京金睛云华科技有限公司 | 一种加密代理流量检测方法和装置 |
CN111612134A (zh) * | 2020-05-20 | 2020-09-01 | 鼎富智能科技有限公司 | 神经网络结构搜索方法、装置、电子设备及存储介质 |
CN111723516A (zh) * | 2020-05-21 | 2020-09-29 | 河海大学 | 基于自适应dnn替代模型的多目标海水入侵管理模型 |
CN111768004A (zh) * | 2020-06-10 | 2020-10-13 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于智能计算框架的模型自适应方法及系统 |
US20200334569A1 (en) * | 2019-04-18 | 2020-10-22 | Oracle International Corporation | Using hyperparameter predictors to improve accuracy of automatic machine learning model selection |
CN111970169A (zh) * | 2020-08-14 | 2020-11-20 | 中山大学 | 一种基于gru网络的协议流量识别方法 |
-
2020
- 2020-12-22 CN CN202011526966.0A patent/CN112671757B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101782976A (zh) * | 2010-01-15 | 2010-07-21 | 南京邮电大学 | 一种云计算环境下机器学习自动选择方法 |
KR20180116934A (ko) * | 2017-04-18 | 2018-10-26 | 한국기술교육대학교 산학협력단 | Cnn을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템 |
CN108200030A (zh) * | 2017-12-27 | 2018-06-22 | 深信服科技股份有限公司 | 恶意流量的检测方法、系统、装置及计算机可读存储介质 |
CN111464485A (zh) * | 2019-01-22 | 2020-07-28 | 北京金睛云华科技有限公司 | 一种加密代理流量检测方法和装置 |
US20200334569A1 (en) * | 2019-04-18 | 2020-10-22 | Oracle International Corporation | Using hyperparameter predictors to improve accuracy of automatic machine learning model selection |
CN110380989A (zh) * | 2019-07-26 | 2019-10-25 | 东南大学 | 网络流量指纹特征二阶段多分类的物联网设备识别方法 |
CN111612134A (zh) * | 2020-05-20 | 2020-09-01 | 鼎富智能科技有限公司 | 神经网络结构搜索方法、装置、电子设备及存储介质 |
CN111723516A (zh) * | 2020-05-21 | 2020-09-29 | 河海大学 | 基于自适应dnn替代模型的多目标海水入侵管理模型 |
CN111768004A (zh) * | 2020-06-10 | 2020-10-13 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于智能计算框架的模型自适应方法及系统 |
CN111970169A (zh) * | 2020-08-14 | 2020-11-20 | 中山大学 | 一种基于gru网络的协议流量识别方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095426A (zh) * | 2021-04-22 | 2021-07-09 | 西安交通大学 | 一种加密流量分类方法、系统、设备及可读存储介质 |
CN113095426B (zh) * | 2021-04-22 | 2023-03-31 | 西安交通大学 | 一种加密流量分类方法、系统、设备及可读存储介质 |
WO2023004707A1 (zh) * | 2021-07-29 | 2023-02-02 | 西门子股份公司 | 设备类型识别的方法和装置 |
CN113746758A (zh) * | 2021-11-05 | 2021-12-03 | 南京敏宇数行信息技术有限公司 | 一种动态识别流量协议的方法和终端 |
CN113743542A (zh) * | 2021-11-05 | 2021-12-03 | 北京广通优云科技股份有限公司 | 一种基于加密流量的网络资产识别方法与系统 |
CN113746758B (zh) * | 2021-11-05 | 2022-02-15 | 南京敏宇数行信息技术有限公司 | 一种动态识别流量协议的方法和终端 |
CN113743542B (zh) * | 2021-11-05 | 2022-03-01 | 北京广通优云科技股份有限公司 | 一种基于加密流量的网络资产识别方法与系统 |
CN114257428A (zh) * | 2021-12-10 | 2022-03-29 | 广东工业大学 | 一种基于深度学习的加密网络流量识别及分类方法 |
CN114257428B (zh) * | 2021-12-10 | 2024-02-27 | 广东工业大学 | 一种基于深度学习的加密网络流量识别及分类方法 |
CN115051828A (zh) * | 2022-04-22 | 2022-09-13 | 江苏科技大学 | 面向类别不平衡下的ssl vpn加密流量识别分类方法 |
CN115174134A (zh) * | 2022-05-16 | 2022-10-11 | 东南大学 | 一种基于加密流量分析的rtc媒体流实时应用识别方法 |
CN114726753A (zh) * | 2022-05-24 | 2022-07-08 | 北京金睛云华科技有限公司 | 一种基于多任务学习的网络加密流量识别方法 |
CN115174198A (zh) * | 2022-07-01 | 2022-10-11 | 东南大学 | 一种基于特征优化的开源代理软件流量识别方法 |
CN115174240A (zh) * | 2022-07-13 | 2022-10-11 | 中国国家铁路集团有限公司 | 一种铁路加密流量监测系统及方法 |
CN116112256A (zh) * | 2023-02-08 | 2023-05-12 | 电子科技大学 | 一种面向应用加密流量识别的数据处理方法 |
CN116668186A (zh) * | 2023-07-18 | 2023-08-29 | 哈尔滨工业大学 | 一种基于多视角特征和集成学习的加密代理协议识别的方法 |
CN116668186B (zh) * | 2023-07-18 | 2024-02-02 | 哈尔滨工业大学 | 一种基于多视角特征和集成学习的加密代理协议识别的方法 |
CN117955741A (zh) * | 2024-03-26 | 2024-04-30 | 河北久维电子科技有限公司 | 一种Modbus规约通信设备的加密通信方法、系统 |
CN117955741B (zh) * | 2024-03-26 | 2024-06-11 | 河北久维电子科技有限公司 | 一种Modbus规约通信设备的加密通信方法、系统 |
CN118432951A (zh) * | 2024-07-04 | 2024-08-02 | 北京启天安信科技有限公司 | 一种基于人工智能的密流量加密算法识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112671757B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112671757B (zh) | 一种基于自动机器学习的加密流量协议识别方法及装置 | |
CN112564974B (zh) | 一种基于深度学习的物联网设备指纹识别方法 | |
WO2022257436A1 (zh) | 基于无线通信网络数据仓库构建方法、系统、设备及介质 | |
CN109218223B (zh) | 一种基于主动学习的鲁棒性网络流量分类方法及系统 | |
CN113162908A (zh) | 一种基于深度学习的加密流量检测方法及系统 | |
CN110532564A (zh) | 一种基于cnn和lstm混合模型的应用层协议在线识别方法 | |
CN110225001B (zh) | 一种基于主题模型的动态自更新网络流量分类方法 | |
CN112532633B (zh) | 一种基于机器学习的工业网络防火墙规则的生成方法及装置 | |
CN113051914A (zh) | 一种基于多特征动态画像的企业隐藏标签抽取方法及装置 | |
CN111191767A (zh) | 一种基于向量化的恶意流量攻击类型的判断方法 | |
CN114039901A (zh) | 基于残差网络和循环神经网络混合模型的协议识别方法 | |
CN114757307B (zh) | 一种人工智能自动训练方法、系统、装置及存储介质 | |
CN115277587B (zh) | 网络流量识别方法、装置、设备及介质 | |
CN112861894A (zh) | 一种数据流分类方法、装置及系统 | |
CN114915575B (zh) | 一种基于人工智能的网络流量检测装置 | |
CN112685374B (zh) | 日志分类方法、装置及电子设备 | |
CN114826776A (zh) | 一种用于加密恶意流量的弱监督检测方法及系统 | |
CN114095447A (zh) | 一种基于知识蒸馏与自蒸馏的通信网络加密流量分类方法 | |
CN116975733A (zh) | 流量分类系统、模型训练方法、设备和存储介质 | |
Zhang et al. | Transfer learning for encrypted malicious traffic detection based on efficientnet | |
CN115688000A (zh) | Sdn环境下基于改进的残差卷积网络的细粒度流量分类方法 | |
CN114884894B (zh) | 一种基于迁移学习的半监督网络流量分类方法 | |
CN114979017B (zh) | 基于工控系统原始流量的深度学习协议识别方法及系统 | |
CN116599720A (zh) | 一种基于GraphSAGE的恶意DoH流量检测方法、系统 | |
CN118114139A (zh) | 移动应用流量分类模型训练方法、分类方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |