CN113079069A - 一种面向大规模加密网络流量的混合粒度训练及分类方法 - Google Patents
一种面向大规模加密网络流量的混合粒度训练及分类方法 Download PDFInfo
- Publication number
- CN113079069A CN113079069A CN202110623165.4A CN202110623165A CN113079069A CN 113079069 A CN113079069 A CN 113079069A CN 202110623165 A CN202110623165 A CN 202110623165A CN 113079069 A CN113079069 A CN 113079069A
- Authority
- CN
- China
- Prior art keywords
- sample
- training
- vector
- data packet
- prediction
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种面向大规模加密网络流量的混合粒度训练及分类方法,包括,获取待识别的加密网络流量进行预处理,得到样本向量;将所述样本向量输入至预设训练的目标网络模型中,输出得到一个预测序列;提取所述预测序列最后一个预测向量,所述预测向量中元素值代表流量属于各个分类的最终预测值;基于提取出的所述预测向量,选取其中最大的预测值的分类作为所述加密网络流量最终的分类标签。本发明提出的训练方式,结合提出的模型特征,和预处理方法,仅需要从流中抽取少量的数据,即可通过流中的数据的特征判断所属流的类别,该方法不需要专家进行手动特征设计,在多个真实网络数据集的测试中,表现高于基于传统机器学习的识别方法。
Description
技术领域
本发明涉及深度学习、网络流量分析和网络空间安全应用的技术领域,尤其涉及一种面向大规模加密网络流量的混合粒度训练及分类方法。
背景技术
作为网络安全和服务质量(Quality of Service,QoS)的前置要求,网络流量分类从互联网早期开始就一直是一个重要研究课题。到目前为止,在传统网络环境下已经有许多流量分类技术被提出,且可以被分为基于端口,基于统计和基于数据载荷几大类。然而,在当今时代下,接入网络的设备数量迅速增加、网络规模和网络吞吐量的扩大,特别是加密技术和端口混淆技术的广泛使用,新型网络的出现如软件定义网络 (Software DefinedNetwork,SDN),工业互联网(Industrial Internet of Things,IIoT),和移动互联网的出现对流量分类带来了更大的挑战。
基于端口的流量分类通过探测TCP或是UDP 数据包头部中的端口号分类流量 ,然而在动态端口技术和网络地址端口转换(Network Address Port Translation,NAPT)的广泛使用下已经不适合现在的网络环境了。基于数据载荷的流量分类方法,如深度数据包探测(Deep Packet Inspection,DPI)尝试从数据包中找到特定的关键字或是特定的模式。这种方法计算代价巨大且无法处理使用传输层安全性协议(Transport Layer Security,TSL)的加密流量。
综上,当前工作中对于大规模加密网络流量分类的研究仍存在以下不足:一、随着加密技术和混淆技术的普及,流量特征容易变化,基于规则的方法(包括基于端口、基于荷载的方法)规则提取困难,流量变动之后容易失效,时间效率低。二、基于统计的机器学习方法,手动设计特征困难,为获取更准确流量统计特征通常需要更加耗时的离线算法,实时性差。三、基于深度学习的算法受限于现有技术,往往选择固定长度的样本,但这与不同分类的流量数据长度极不均衡的特征不匹配。四、基于深度学习的算法选择长度较短的固定长度样本时,样本中有效信息的不足往往会导致分类器性能下降,而长度较长的固定长度样本又因为监督信息不足导致分类器特征提取能力下降,以及较大的计算开销。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明提供了一种面向大规模加密网络流量的混合粒度训练及分类方法,能够解决基于统计的机器学习方法,手动设计特征困难,为获取更准确流量统计特征通常需要更加耗时的离线算法,实时性差、分类准确度低的问题。
为解决上述技术问题,本发明提供如下技术方案:包括,获取待识别的加密网络流量进行预处理,得到样本向量;将所述样本向量输入至预设训练的目标网络模型中,输出得到一个预测序列;提取所述预测序列最后一个预测向量,所述预测向量中元素值代表流量属于各个分类的最终预测值;基于提取出的所述预测向量,选取其中最大的预测值的分类作为所述加密网络流量最终的分类标签。
作为本发明所述的面向大规模加密网络流量的混合粒度训练及分类方法的一种优选方案,其中:所述预处理包括,从流中连续采集若干数据包;对所述采集的数据包进行过滤,并屏蔽IP地址;将样本进行向量化、标准化处理,得到格式化的所述样本向量。
作为本发明所述的面向大规模加密网络流量的混合粒度训练及分类方法的一种优选方案,其中:所述目标网络模型为混合神经网络模型,包括,对于一个包含若干步的序列化模型输入,则模型输出为有同样步数的序列,且每一步的输出仅与当前步的所有输入有关,而和所述当前步之后的所有输入无关。
作为本发明所述的面向大规模加密网络流量的混合粒度训练及分类方法的一种优选方案,其中:包括,对流中的每一个数据包,检测其是否为一个有效的IP数据包,不是则直接移除所述数据包;对于剩余的IP数据包,进一步检测其数据字段是否非空,不是则直接移除所述剩余IP数据包;对于剩余的IP数据包,检测其数据字段是否为TCP或是UDP数据包,不是则直接移除所述剩余IP数据包。
作为本发明所述的面向大规模加密网络流量的混合粒度训练及分类方法的一种优选方案,其中:还包括,若为所述TCP数据包,检测其是否为没有数据字段的TCP三次握手数据包,若是则直接移除所述TCP数据包;将所述IP数据包的源IP地址和目的IP地址修改为0.0.0.0,避免神经网络模型通过IP地址判断识别分类。
作为本发明所述的面向大规模加密网络流量的混合粒度训练及分类方法的一种优选方案,其中:包括,从流中采样起点开始顺序读取并过滤所述数据包,直到达到预设数据包数,若直到流的末尾仍未采集到所述预设数据包数,则用全零补全;将每个数据包保留预设长度字节数,不足则用全零补全,反之则进行截断;将每个样本转化为向量;对所述向量中每个数据进行标准化处理。
作为本发明所述的面向大规模加密网络流量的混合粒度训练及分类方法的一种优选方案,其中:所述混合神经网络模型需进行训练,包括,获取多个加密流量文件,对每个所述加密流量文件中的流标注出对应的分类标签;在各个流中随机选择若干采样起点,从所述采样起点连续采集若干数据包;对采集的数据包进行过滤,并屏蔽IP地址;将每个样本进行向量化、标准化处理,得到格式化、样本向量集合作为训练样本;利用所述训练样本对神经网络模型进行训练,每个训练样本都为形式的单精度浮点数一维向量;将所述训练样本视为具有m步的序列,每步长为s,同时,并分n步顺序输入目标网络模型,每步输入的向量;对每步输入,所述神经网络模型均输出一个预测向量;其中,第i步输出的预测向量中每一个值代表对样本开头长度为的子样本中每一类的置信度预测;对于整个样本,所述神经网络模型最终输出包含m个预测向量的预测序列。
作为本发明所述的面向大规模加密网络流量的混合粒度训练及分类方法的一种优选方案,其中:还包括,从所述神经网络模型的所有n步输出中,随机选择第步输出的预测向量;对于选出的每一个预测向量,计算与样本标签y的交叉熵损失,并根据抽取的位置加权计算样本的总损失,如下,
本发明的有益效果:一、本发明提出的训练方式,结合提出的模型特征,和预处理方法,仅需要从流中抽取少量的数据,即可通过流中的数据的特征判断所属流的类别,该方法不需要专家进行手动特征设计,在多个真实网络数据集的测试中,表现高于基于传统机器学习的识别方法;二、本发明在使用固定长度样本以保证训练效率的前提下,通过模型的特征和损失函数的设计,通过抽取模型输出等效的实现混合粒度的训练,大大增强了模型特征提取能力,一定程度上克服了较短样本导致的模型表现下降,以及较长样本导致模型特征提取能力下降的问题,在多个真实网络数据集的测试中,对于同样一个模型,使用本发明提出训练方式训练获得的分类器表现高于使用传统训练方式获得传统的分类器;三、使用本发明提出的训练策略和分类方式的基于深度学习的加密流量分类模型,在多个真实网络数据集的测试中,显示出,即使实际应用或推断中模型输入样本长度明显小于训练时样本长度,模型的准确度表现也不会出现明显下降。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明一个实施例所述的面向大规模加密网络流量的混合粒度训练及分类方法的流程示意图;
图2为本发明一个实施例所述的面向大规模加密网络流量的混合粒度训练及分类方法的目标模型结构示意图;
图3为本发明一个实施例所述的面向大规模加密网络流量的混合粒度训练及分类方法的混合粒度算法的核心思想示意图;
图4为本发明一个实施例所述的面向大规模加密网络流量的混合粒度训练及分类方法的过滤并屏蔽IP地址处理的流程示意图;
图5为本发明一个实施例所述的面向大规模加密网络流量的混合粒度训练及分类方法的样本数据向量化示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
基于统计的流量分类方法利用从连续数据包中提取出的统计特征,诸如持续时间、数据包间到达时间、数据包长度和流量空闲或是时序特征完成分类,传统的算法可以同时处理加密和非加密的流量,通常使用类似数据挖掘的机器学习算法实现,然而传统方法普遍需要对于整个流量的统计特征,使其非常耗时,有时甚至需要人类专家手工设计的特征提取方式。
为了在各种网络结构上有效的分类经过加密的流量,近年来兴起的深度学习技术被许多研究尝试应用在各种网络的加密流量分类里面,且取得了较包括传统机器学习在内的传统流量分类方式更好的分类效果;然而,一方面流量数据包含大量无关分类的冗余信息,例如TCP/UDP的头部,且即使是人类也很难标记哪部分数据是有效的,相关的数据集也缺乏有效的标记技术,这使得基于深度学习的流量分类技术准确度受限,另一方面,目前基于深度学习的流量分类技术需要从流量中采集相当长的样本数据才能有效的完成识别。
基于深度学习的流量分类算法往往具有不同的模型以及相应的模型输入,例如,有的选择TCP/IP中应用层的数据(Layer-7,L7),有的选择所有层中的数据,但是这些算法的数据预处理步骤中往往包含裁剪/零填充步骤,这使得输入模型的数据都是固定长度的样本,同时网络输出的分类也是整个样本的分类置信度或是分类概率,这可能是因为将长度不定的原始数据(流、流中的一部分或是若干个包)处理为固定长度的样本作为模型输入相对于长度可变的样本更易于实现高效的并行训练,然而相比于其他机器学习任务,流量分类任务有以下两个特殊之处:
(1)流量分类任务并没有明确的粒度;以ISCXVPN2016数据集为例,每一类都包含1~32个PCAP/PCAPNG格式文件,每类又包含数量极不平衡的流(120~113111),每个流中又包含数量极度不平衡的包(1~1614673),每个包的字节数也非常不平衡,因此一个样本究竟该由哪些数据构成并没有一个共识。
(2)流量分类任务数据集的标记往往是在PCAP/PCAPNG文件的级别。;虽然可以粗略的认为文件中的所有流和文件的标记相同,但由于流量数据中存在大量的噪声(背景流量)并不能认为流量中的每个包都有同样的标记,例如,每个类中都包含一定量的不携带数据字段的TCP三次握手数据包,不同类间这些包的区别往往仅在于端口号,然而基于端口的流量分类方法已经证明了仅凭端口号这一信息是无法可靠的分类的。
这两个特征带来的问题是,对于从流中抽取的一段数据,没有一个可靠的办法知道其中的数据是否能够支持分类,或是可以何种程度的支持分类,这导致基于深度学习的流量分类算法不得不选择较长的样本以避免长度较短的(携带有效数据不足的样本)使分类器表现下降,然而较长的样本导致分类器更难从输入数据中学习特征,带来巨大计算开销的同时削减了样本的数量。
参照图1,为本发明的第一个实施例,提供了一种面向大规模加密网络流量的混合粒度训练及分类方法,具体包括:
S1:获取待识别的加密网络流量进行预处理,得到样本向量。
对流中的每一个数据包,检测其是否为一个有效的IP数据包,不是则直接移除数据包;
对于剩余的IP数据包,进一步检测其数据字段是否非空,不是则直接移除剩余IP数据包;
对于剩余的IP数据包,检测其数据字段是否为TCP或是UDP数据包,不是则直接移除剩余IP数据包;
若为TCP数据包,检测其是否为没有数据字段的TCP三次握手数据包,若是则直接移除TCP数据包;
将IP数据包的源IP地址和目的IP地址修改为0.0.0.0,避免神经网络模型通过IP地址判断识别分类。
从流中采样起点开始顺序读取并过滤数据包,直到达到预设数据包数,若直到流的末尾仍未采集到预设数据包数,则用全零补全;
将每个数据包保留预设长度字节数,不足则用全零补全,反之则进行截断;
将每个样本转化为向量;
对向量中每个数据进行标准化处理。
具体的,预处理包括:
从流中连续采集若干数据包;
对采集的数据包进行过滤,并屏蔽IP地址;
将样本进行向量化、标准化处理,得到格式化的样本向量。
S2:将样本向量输入至预设训练的目标网络模型中,输出得到一个预测序列。
目标网络模型为混合神经网络模型,包括:
对于一个包含若干步的序列化模型输入,则模型输出为有同样步数的序列,且每一步的输出仅与当前步的所有输入有关,而和当前步之后的所有输入无关。
混合神经网络模型需进行训练,包括:
获取多个加密流量文件,对每个加密流量文件中的流标注出对应的分类标签;
在各个流中随机选择若干采样起点,从采样起点连续采集若干数据包;
对采集的数据包进行过滤,并屏蔽IP地址;
将每个样本进行向量化、标准化处理,得到格式化、样本向量集合作为训练样本;
对每步输入,神经网络模型均输出一个预测向量;
对于整个样本,神经网络模型最终输出包含m个预测向量的预测序列;
对于选出的每一个预测向量,计算与样本标签 y的交叉熵损失,并根据抽取的位置加权计算样本的总损失,如下,
S3:提取预测序列最后一个预测向量,预测向量中元素值代表流量属于各个分类的最终预测值。
S4:基于提取出的预测向量,选取其中最大的预测值的分类作为加密网络流量最终的分类标签。
基于深度学习的流量分类算法的性能极大程度取决于神经网络模型对于流量或是流量中一个样本的时序特征和空间特征的提取和识别能力,限于目前的技术,为了达到较为理想的模型训练速度,训练时往往采用固定长度的样本,这带来的问题是,选择的长度较短时,样本中有效信息较少,其中包含的特征代表性不足,训练出的分类器性能较差,选择的长度较长时,由于流中噪音占比巨大,模型难以从样本中学习到特征,同时带来巨大的计算开销;在本实施例中,针对一类满足特定条件的目标模型,设计了一种训练和分类方式,实现了在不引入额外模型推断开销的前提下,通过模型本身的特征和训练算法的设计,在保持训练时模型的输入为固定长度的样本的同时,通过从序列化的模型输出中提取若干步的预测向量,根据每一步预测向量对应的等效子样本包含的有效信息量估计加权计算总损失,并使用反向传播算法更新模型权重,这种训练算法加强了训练出模型的特征提取能力,并提高了分类准确度。
参照图1,其展示了混合粒度训练方法和分类方法的主要步骤,混合粒度训练和分类都需要使用相同的预处理流程,预处理流程将从流中抽取的连续的多个数据包转换为序列化的输入样本,分类方法仅需要流中的一个样本即可完成对流的分类,而混合粒度训练方法需要随机从流中抽取多个样本;分类算法将序列化的样本输入目标模型中,并获得模型的序列化输出,提取序列化预测中最后一步的预测向量,该向量中置信度最大的值对应的类即为分类结果;混合粒度训练方法将每一个序列化的样本输入目标模型中;获得对应的模型序列化输出;从序列化的模型输出中提取若干步的预测向量;根据每一步预测向量对应的等效子样本包含的有效信息量估计加权计算总损失;最后使用反向传播算法更新模型权重;反复训练直到模型收敛,分类方法中目标模型的权重即为混合粒度训练算法获得的模型权重。
本实施例中的目标模型,即一类具有指定特征的基于深度学习的流量分类模型,所述指定特征是:对于一个包含若干步的序列化模型输入,模型输出为有同样步数的序列,且每一步的输出仅与仅与到这步为止的所有输入有关,而和这步之后的所有输入无关,一个典型的满足所述要求的模型如图2所示,该模型由一维卷积神经网络、长短期记忆神经网络、全连接层堆叠而成,其结构和功能包括:
两层一维卷积神经网络层,一维卷积神经网络层可以捕获样本的空间特征,通常一个卷积层中包含多个卷积核,每层中每一个卷积核操作都相同,在对该层输入进行卷积一维卷积操作,生成新特征图的一个通道,但由于卷积核的参数不相同,生成的新特征图每个通道也不相同;以其中任一卷积核t为例,对于一个序列化的输入:
在x上一维卷积操作如下:
堆叠单向长短期记忆神经网络层,长短期记忆神经网络层可以捕获样本的时间特征,将输入特征图的多个通道视为多个时间步;在每个时间步上有以下公式:
其中,,表示在输入特征图任一时间步t(即通道t)上的向量,其维度与每个时间步输入的特征图维度相同,假设为m(即1D-CNN生成的新特征维度);,上一个时间步隐藏层的输出,维度由长短期记忆神经网络单元的隐藏层维度的参数决定,假设为s;为当前层的中间输出;和分别为参数矩阵和偏差;类似的,对于一个序列化输入,其输出也为具有同样步数的序列:
全连接神经网络层,在该模型中,用于将网络每一步输出的特征图转换为对每个分类的置信度,由于全连接网络对于一个序列化输入,其输出不一定为同样步数的序列,因此并不直接将上层堆叠单向长短期记忆神经网络层的输出作为全连接层的输入,而是对于堆叠单向长短期记忆神经网络层的每一步输出均输入一次全连接层,并作为该步的预测,通过该方法保证对于一个序列化输入,其输出也为具有同样步数的序列。
整个模型每一层都保证输入和输出序列具有相同的步数,同时,信息总是单向传递的,这意味着每一步的输出仅与到这步为止的所有输入有关,而和这步之后的所有输入无关。
优选的,本发明利用神经网络技术的特征提取能力,仅通过流中的一段样本数据,即可高精度、高速的识别加密流量的分类。
实施例2
参照图2~图5,为本发明的第二个实施例,该实施例不同于第一个实施例的是,提供了一种面向大规模加密网络流量的混合粒度训练及分类方法的详细验证说明,(图2中的Conv-1为卷积层1、Conv-2为卷积层2)具体包括:
本实施例中的训练方法包括,预处理阶段和训练阶段,分类方法包括预处理阶段和分类阶段。
本实施例的预处理包括,过滤、向量化和标准化三个阶段,预处理的输入为流中和一个指定的起点,目的为通过过滤减少流中数据包中的噪声,并通过向量化,标准化将数据包转换为具有固定步数的序列化样本,具体操作步骤如下:
S1:从给定起点开始,读取一个数据包,对这个数据包如图4所示进行过滤并屏蔽IP地址,具体处理过程如下:
①检测其是否为一个有效的IP数据包,不是则直接移除这个数据包。
②对于剩余的IP数据包,进一步检测其数据字段是否非空,不是则直接移除这个数据包。
③对于剩余的IP数据包,进一步检测其数据字段是否为一个有效的TCP或是UDP数据包,不是则直接移除这个数据包。
④对于剩余的数据包,检测其是否为TCP数据包,若为TCP数据包,检测是否为没有数据字段的TCP三次握手数据包,若是则直接移除这个数据包
⑤将IP数据包的源IP地址和目的IP地址修改为0.0.0.0,避免神经网络模型通过IP地址判断识别其分类。
S3:将每个样本转化为长度为的向量,从而将原始流量转化统一形状(Shape)的便于计算机读取、运算的向量,本方法中=5,M=256,选择较小的和M的原因是,实践证明=5,M=256,足以实现高精度的分类。
具体过程如下:
对于每个包保留M字节的数据,若包中数据不足M字节,则保留前M字节,剩余空间补0处理,若包中数据超过M字节则截断,图5展示了这一过程。
将每个字节中8位的二进制数码以十进制的方式读取,得到0到255的整数,以整数形式来表示字节,进而表示整个向量的方法,实现了对原始样本的向量化。
为了避免深度学习中梯度爆炸问题,对得到向量进行标准化处理,由于已经将每个字转化为整数(0到255),所以直接除以256即可实现完成标准化。
分类方法包含预处理阶段和分类阶段,任意指定流中一个起点,该起点后若干数据包将被处理为样本并作为满足特定特征的目标模型的输入,并根据输出完成流的分类。
具体操作步骤如下:
S1:任意将流中一个位置指定为起点,和流一并作为预处理阶段的输入,预处理后获得长度为L的样本向量。
S3:提取模型最后一步输出的预测向量,此预测向量中元素值代表流量属于各个分类的最终预测值。
S4:基于提取出的预测向量,取其中最大的预测值的分类作为加密流量最终的分类标签。
混合粒度训练方法的原理为:
由于流中包含大量的噪声(背景流量),且目前没有有效的手段移除这些噪声或标记非噪声数据,因此无论样本的长度如何,噪声总是远远多于有效数据的,由于这些噪声的存在,传统的基于深度学习的加密流量分类算法在选择的样本长度较短时,样本中有效信息较少,其中包含的特征代表性不足,训练出的分类器性能较差,选择的长度较长时,由于流中噪音占比巨大,模型难以从样本中学习到特征,同时带来巨大的计算开销。
无论是完整的样本还是其子样本中都包含大量的噪声,只有少量的是可以支持分类的“有效数据”,假设样本x属于类别c,同时用表示所有非c的类别,用表达完整的样本中属于类别c的“有效数据”量, 表达不属于类别c的“有效数据”量,类似的分别表达子样本中c, 的“有效数据”量,显然因为对于有推断,在足够大时类别c的置信度仅取决于而类别的置信度既取决于也取决于。
故一个样本的总损失为:
混合粒度训练方法包含预处理阶段和训练阶段,在流中指定若干个起点;将所有起点和流作为预处理的输入;获得预处理后的若干训练样本;将每个样本输入模型,并获得对应的序列化模型输出;按损失函数理论计算每个样本的损失并;使用反向传播算法更新权重。具体实施步骤为:
S1:获取多个加密流量文件,对每个加密流量文件中的流标注出对应的分类标签。
S2:从每个流中随机选择N个起点,样本将从选择的起点生成。
S3:将起点和流输入预处理步骤,获得N个长度为L的样本向量。
S4:对于每个样本,根据上述理论计算其总损失,具体过程如下:
①将样本向量以步长s分m步输入满足特定特征的目标模型,并获得模型输出的m步预测序列。
③对选择的每个输出,计算其与流标记的交叉熵损失;
④根据输出对应的子样本估计子样本的权重;
⑤对于这个子样本,其损失是每个子样本的损失与权重积的和构成,即:
S5:对于每个样本,根据求得的总损失,使用反向传播更新权重。
S6:重复步骤S3和S4,直到模型收敛,即完成混合粒度训练。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (8)
1.一种面向大规模加密网络流量的混合粒度训练及分类方法,其特征在于:包括,
获取待识别的加密网络流量进行预处理,得到样本向量;
将所述样本向量输入至预设训练的目标网络模型中,输出得到一个预测序列;
提取所述预测序列最后一个预测向量,所述预测向量中元素值代表流量属于各个分类的最终预测值;
基于提取出的所述预测向量,选取其中最大的预测值的分类作为所述加密网络流量最终的分类标签。
2.根据权利要求1所述的面向大规模加密网络流量的混合粒度训练及分类方法,其特征在于:所述预处理包括,
从流中连续采集若干数据包;
对所述采集的数据包进行过滤,并屏蔽IP地址;
将样本进行向量化、标准化处理,得到格式化的所述样本向量。
3.根据权利要求1或2所述的面向大规模加密网络流量的混合粒度训练及分类方法,其特征在于:所述目标网络模型为混合神经网络模型,包括,
对于一个包含若干步的序列化模型输入,则模型输出为有同样步数的序列,且每一步的输出仅与当前步的所有输入有关,而和所述当前步之后的所有输入无关。
4.根据权利要求3所述的面向大规模加密网络流量的混合粒度训练及分类方法,其特征在于:包括,
对流中的每一个数据包,检测其是否为一个有效的IP数据包,不是则直接移除所述数据包;
对于剩余的IP数据包,进一步检测其数据字段是否非空,不是则直接移除所述剩余IP数据包;
对于剩余的IP数据包,检测其数据字段是否为TCP或是UDP数据包,不是则直接移除所述剩余IP数据包。
5.根据权利要求4所述的面向大规模加密网络流量的混合粒度训练及分类方法,其特征在于:还包括,
若为所述TCP数据包,检测其是否为没有数据字段的TCP三次握手数据包,若是则直接移除所述TCP数据包;
将所述IP数据包的源IP地址和目的IP地址修改为0.0.0.0,避免神经网络模型通过IP地址判断识别分类。
6.根据权利要求5所述的面向大规模加密网络流量的混合粒度训练及分类方法,其特征在于:包括,
从流中采样起点开始顺序读取并过滤所述数据包,直到达到预设数据包数,若直到流的末尾仍未采集到所述预设数据包数,则用全零补全;
将每个数据包保留预设长度字节数,不足则用全零补全,反之则进行截断;
将每个样本转化为向量;
对所述向量中每个数据进行标准化处理。
7.根据权利要求6所述的面向大规模加密网络流量的混合粒度训练及分类方法,其特征在于:所述混合神经网络模型需进行训练,包括,
获取多个加密流量文件,对每个所述加密流量文件中的流标注出对应的分类标签;
在各个流中随机选择若干采样起点,从所述采样起点连续采集若干数据包;
对采集的数据包进行过滤,并屏蔽IP地址;
将每个样本进行向量化、标准化处理,得到格式化、样本向量集合作为训练样本;
对每步输入,所述神经网络模型均输出一个预测向量;
对于整个样本,所述神经网络模型最终输出包含m个预测向量的预测序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110623165.4A CN113079069B (zh) | 2021-06-04 | 2021-06-04 | 一种面向大规模加密网络流量的混合粒度训练及分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110623165.4A CN113079069B (zh) | 2021-06-04 | 2021-06-04 | 一种面向大规模加密网络流量的混合粒度训练及分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113079069A true CN113079069A (zh) | 2021-07-06 |
CN113079069B CN113079069B (zh) | 2021-09-17 |
Family
ID=76616973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110623165.4A Active CN113079069B (zh) | 2021-06-04 | 2021-06-04 | 一种面向大规模加密网络流量的混合粒度训练及分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113079069B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113887642A (zh) * | 2021-10-11 | 2022-01-04 | 中国科学院信息工程研究所 | 一种基于开放世界的网络流量分类方法及系统 |
CN114338437A (zh) * | 2022-01-13 | 2022-04-12 | 北京邮电大学 | 网络流量分类方法、装置、电子设备及存储介质 |
CN114337849A (zh) * | 2021-12-21 | 2022-04-12 | 上海交通大学 | 基于互信息量估计神经网络的物理层保密方法及系统 |
CN114615172A (zh) * | 2022-03-22 | 2022-06-10 | 中国农业银行股份有限公司 | 流量检测方法及系统、存储介质及电子设备 |
CN114679606A (zh) * | 2022-04-02 | 2022-06-28 | 哈尔滨工业大学 | 一种基于Burst特征的视频流量识别方法、系统、电子设备及存储介质 |
CN115134305A (zh) * | 2022-06-25 | 2022-09-30 | 聂博 | 双核协作sdn大数据网络流量精准分类方法 |
CN115168345A (zh) * | 2022-06-27 | 2022-10-11 | 天翼爱音乐文化科技有限公司 | 数据库分级分类方法、系统、装置及存储介质 |
CN115694947A (zh) * | 2022-10-26 | 2023-02-03 | 四川大学 | 基于对抗生成dqn的网络加密流量威胁样本生成机制方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105430021A (zh) * | 2015-12-31 | 2016-03-23 | 中国人民解放军国防科学技术大学 | 基于载荷相邻概率模型的加密流量识别方法 |
CN110011931A (zh) * | 2019-01-25 | 2019-07-12 | 中国科学院信息工程研究所 | 一种加密流量类别检测方法及系统 |
CN110197234A (zh) * | 2019-06-13 | 2019-09-03 | 四川大学 | 一种基于双通道卷积神经网络的加密流量分类方法 |
CN111464485A (zh) * | 2019-01-22 | 2020-07-28 | 北京金睛云华科技有限公司 | 一种加密代理流量检测方法和装置 |
CN112163594A (zh) * | 2020-08-28 | 2021-01-01 | 南京邮电大学 | 一种网络加密流量识别方法及装置 |
-
2021
- 2021-06-04 CN CN202110623165.4A patent/CN113079069B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105430021A (zh) * | 2015-12-31 | 2016-03-23 | 中国人民解放军国防科学技术大学 | 基于载荷相邻概率模型的加密流量识别方法 |
CN111464485A (zh) * | 2019-01-22 | 2020-07-28 | 北京金睛云华科技有限公司 | 一种加密代理流量检测方法和装置 |
CN110011931A (zh) * | 2019-01-25 | 2019-07-12 | 中国科学院信息工程研究所 | 一种加密流量类别检测方法及系统 |
CN110197234A (zh) * | 2019-06-13 | 2019-09-03 | 四川大学 | 一种基于双通道卷积神经网络的加密流量分类方法 |
CN112163594A (zh) * | 2020-08-28 | 2021-01-01 | 南京邮电大学 | 一种网络加密流量识别方法及装置 |
Non-Patent Citations (1)
Title |
---|
KUNDA LIN等: "TSCRNN: A novel classification scheme of encrypted traffic based on flow spatiotemporal features for efficient management of IIoT", 《COMPUTER NETWORKS》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113887642A (zh) * | 2021-10-11 | 2022-01-04 | 中国科学院信息工程研究所 | 一种基于开放世界的网络流量分类方法及系统 |
CN114337849A (zh) * | 2021-12-21 | 2022-04-12 | 上海交通大学 | 基于互信息量估计神经网络的物理层保密方法及系统 |
CN114337849B (zh) * | 2021-12-21 | 2023-03-14 | 上海交通大学 | 基于互信息量估计神经网络的物理层保密方法及系统 |
CN114338437B (zh) * | 2022-01-13 | 2023-12-29 | 北京邮电大学 | 网络流量分类方法、装置、电子设备及存储介质 |
CN114338437A (zh) * | 2022-01-13 | 2022-04-12 | 北京邮电大学 | 网络流量分类方法、装置、电子设备及存储介质 |
CN114615172A (zh) * | 2022-03-22 | 2022-06-10 | 中国农业银行股份有限公司 | 流量检测方法及系统、存储介质及电子设备 |
CN114615172B (zh) * | 2022-03-22 | 2024-04-16 | 中国农业银行股份有限公司 | 流量检测方法及系统、存储介质及电子设备 |
CN114679606A (zh) * | 2022-04-02 | 2022-06-28 | 哈尔滨工业大学 | 一种基于Burst特征的视频流量识别方法、系统、电子设备及存储介质 |
CN115134305A (zh) * | 2022-06-25 | 2022-09-30 | 聂博 | 双核协作sdn大数据网络流量精准分类方法 |
CN115134305B (zh) * | 2022-06-25 | 2024-01-23 | 鸿蒙天禄(北京)科技有限责任公司 | 双核协作sdn大数据网络流量精准分类方法 |
CN115168345A (zh) * | 2022-06-27 | 2022-10-11 | 天翼爱音乐文化科技有限公司 | 数据库分级分类方法、系统、装置及存储介质 |
CN115168345B (zh) * | 2022-06-27 | 2023-04-18 | 天翼爱音乐文化科技有限公司 | 数据库分级分类方法、系统、装置及存储介质 |
CN115694947A (zh) * | 2022-10-26 | 2023-02-03 | 四川大学 | 基于对抗生成dqn的网络加密流量威胁样本生成机制方法 |
CN115694947B (zh) * | 2022-10-26 | 2024-04-16 | 四川大学 | 基于对抗生成dqn的网络加密流量威胁样本生成机制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113079069B (zh) | 2021-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113079069B (zh) | 一种面向大规模加密网络流量的混合粒度训练及分类方法 | |
CN112163594B (zh) | 一种网络加密流量识别方法及装置 | |
CN110311829B (zh) | 一种基于机器学习加速的网络流量分类方法 | |
CN111147396B (zh) | 一种基于序列特征的加密流量分类方法 | |
Audebert et al. | Generative adversarial networks for realistic synthesis of hyperspectral samples | |
CN110730140A (zh) | 基于时空特性相结合的深度学习流量分类方法 | |
CN112906019B (zh) | 基于改进dcgan模型的流量数据生成方法、装置及系统 | |
CN113989583A (zh) | 一种互联网恶意流量检测方法及系统 | |
CN116260642A (zh) | 一种基于知识蒸馏时空神经网络的轻量化物联网恶意流量识别方法 | |
Wang et al. | An encrypted traffic classification framework based on convolutional neural networks and stacked autoencoders | |
CN114358118A (zh) | 一种基于跨模态特征融合的多任务加密网络流量分类方法 | |
CN115277888B (zh) | 一种移动应用加密协议报文类型解析方法及系统 | |
CN116405419A (zh) | 一种基于小样本学习的未知网络协议分类方法 | |
CN112910853A (zh) | 基于混合特征的加密流量分类方法 | |
CN110365659B (zh) | 一种小样本场景下的网络入侵检测数据集的构造方法 | |
CN114915575A (zh) | 一种基于人工智能的网络流量检测装置 | |
Zhou et al. | Encrypted network traffic identification based on 2d-cnn model | |
Chen et al. | RIDE: Real-time Intrusion Detection via Explainable Machine Learning Implemented in a Memristor Hardware Architecture | |
CN114095447A (zh) | 一种基于知识蒸馏与自蒸馏的通信网络加密流量分类方法 | |
CN117557843A (zh) | 一种基于半监督学习的流量识别方法及系统 | |
CN117082118A (zh) | 基于数据推导及端口预测的网络连接方法 | |
Zhang et al. | Network traffic classification method based on improved capsule neural network | |
CN116827873A (zh) | 一种基于局部-全局特征注意力的加密应用流量分类方法及系统 | |
CN115688000A (zh) | Sdn环境下基于改进的残差卷积网络的细粒度流量分类方法 | |
CN113904961B (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 |