CN112163594A - 一种网络加密流量识别方法及装置 - Google Patents

一种网络加密流量识别方法及装置 Download PDF

Info

Publication number
CN112163594A
CN112163594A CN202010885293.1A CN202010885293A CN112163594A CN 112163594 A CN112163594 A CN 112163594A CN 202010885293 A CN202010885293 A CN 202010885293A CN 112163594 A CN112163594 A CN 112163594A
Authority
CN
China
Prior art keywords
vector
stream
sample
flow
sampling
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
Application number
CN202010885293.1A
Other languages
English (en)
Other versions
CN112163594B (zh
Inventor
徐小龙
林焜达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202010885293.1A priority Critical patent/CN112163594B/zh
Priority to PCT/CN2020/118725 priority patent/WO2022041394A1/zh
Publication of CN112163594A publication Critical patent/CN112163594A/zh
Application granted granted Critical
Publication of CN112163594B publication Critical patent/CN112163594B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网络加密流量识别方法及装置,该方法包含预处理阶段和分类阶段。预处理阶段对原始流量进行流切分,采样,向量化和标准化,并提出大流流中采样方案,解决大流流量的分类问题。分类阶段先使用CNN进行空间特征捕获和抽象特征抽取,然后在抽象特征的基础上使用堆叠双向LSTM学习流量时序特征,实现加密流量的自动特征提取和高效识别。该方法具有通用性,能够自动提取加密流量时空特征而无需专家手动特征设计,并且,它能够适应不同加密技术、混淆技术引起流量特征变化。

Description

一种网络加密流量识别方法及装置
技术领域
本发明具体涉及一种网络加密流量识别方法,还涉及一种网络加密流量识别装置,属于深度学习、网络流量分析和网络空间安全应用技术领域。
背景技术
流量分类是现代网络通讯中最重要的任务之一,但是由于加密技术的普及和网络吞吐量的高速增长,实现高速准确的加密流量识别变得越来越困难。加密流量分类对于流量工程、网络资源管理、QoS(Quality of Service)、网络空间安全管理等有着重要的意义。近年来,在新型网络领域例如物联网网络、软件定义网络、移动互联网中同样出现了加密流量分析管理的巨大需求。因为上述原因,网络流量分类吸引了越来越多的来自学术界、工业界两方面研究人员的注意。
近来,随着人们在安全性和隐私性方面的需求越来越高,流量加密技术逐步发展,加密流量如今已经成为了工业界普遍的做法,研究指出,到2020年将有超过83%的流量被加密。经过加密程序,流量变得随机化,这种伪随机格式使得流量的解析变得非常困难。另一方面,ISP(Internet Service Provider)通常需要对某些类型的流量进行监测或控制(例如P2P,入侵攻击等等),为了规避监测系统或防火墙的检测,一些开发商使用了各种协议嵌入和流量混淆技术。显然,流量加密、混淆技术的出现,一方面满足了人们的需求,提高了安全性和隐私性,另一方面也对网络的管理提出了更大的挑战。因此,加密流量分类成为了流量工程、入侵检测等任务中的关键技术。
现有加密流量分类的解决方案大致可以分为三种:基于端口、基于荷载(例如,深度包检测,Deep Packet Inspection,简称DPI)、基于统计特征。由于动态端口和端口伪装技术的盛行,传统基于端口方法的流量分类的准确率很低。而基于荷载检测方法,如DPI,它类似于字符串正则匹配算法,需要指纹库中的所有样本都需要和完整的流量进行匹配,因而效率很低,更重要的是,这些指纹一般难以用于识别加密流量。现有的工作更多集中于基于统计的机器学习方法。这类方法需要专家手动设计、提取流量的统计特征,从而对流量进行较为准确的分类。然而,基于统计特征的机器学习方法,专家需要对不同场景下的流量设计不同的统计特征,成本很高,也无法保证提取的特征对提高分类结果的有效性。基于以上原因,这些方法难以满足人们在解决加密流量分类问题中的需求。
近来,深度学习迅速发展,在计算机视觉、自然语言处理等等领域取得了令人瞩目的成果,其中包括大量的分类问题(例如,图像分类,文本情感分析)。与此同时,深度学习方法也逐渐应用于网络领域,例如流量分类就可以当作一个典型的分类问题。在深度学习方法中,CNN(卷积神经网络)擅长捕获数据空间特征,RNN(循环神经网络)擅长捕获数据时间特征。已经有一些研究使用深度学习对加密流量进行分类,其中大多数使用CNN,在包级别上捕获流量的字节特征,但对于包与包之间,时间序列的时序特征没有很好的利用。
综上所述,当前工作中对于加密流量分类的研究仍存在以下不足:
1)随着加密技术和混淆技术的普及,流量特征容易变化,基于规则的方法(包括基于端口、基于荷载的方法)规则提取困难,流量变动之后容易失效,时间效率低。
2)基于统计的机器学习方法,手动设计特征困难,为获取更准确流量统计特征通常需要更加耗时的离线算法,实时性差。
3)基于深度学习的研究仍然较少,现有工作没有有效利用流量的时空特征。
发明内容
本发明的目的在于克服现有技术中的不足,提供了一种网络加密流量识别方法及装置,解决了当前网络环境中加密技术导致流量识别算法耗时高、实时性差等问题。
为解决上述技术问题,本发明提供了一种网络加密流量识别方法,包括以下过程:
获取多个待识别的加密流量文件;
对待识别的加密流量进行预处理,所述预处理包括:将加密流量流切分为多个流;然后从每个流中采集多个连续数据包作为样本;最后将每个样本进行向量化、标准化处理,得到格式化的样本向量集合;
将预处理后得到的样本向量集合输入至预设训练的混合神经网络模型,得到预测向量,此预测向量中元素值代表加密流量属于各个分类的预测值;
所述混合神经网络模型包括:1D-CNN网络、堆叠双向LSTM网络和全连接层网络;其中1D-CNN网络对输入样本向量集合进行空间特征学习,输出低维特征图;堆叠双向LSTM网络对输入的特征图进行时序特征学习,得到包含时序特征的特征图向量,全连接层根据输入的时序特征的特征图向量确定预测向量;
基于预测向量计算得到各分类预测概率分布,取其中最大的概率对应的分类作为加密流量最终的分类标签。
进一步的,所述从流中采集多个连续数据包作为样本,包括:
若流为小流,采集流头部预设个数连续数据包组成一个样本,若已有数据包不足预设个数,则选择已有数据包,其余包补零处理;
若流为大流,从流中选取若干个采样点,以每个采样点作为起点,采集连续预设个数连续数据包组成一个样本。
进一步的,所述采样点的选取方案包括:随机点采样,固定步长采样和突发点采样三种策略;其中:
所述随机点采样为流中随机点采样;所述固定步长采样以固定的步长从流量起始开始采样;所述突发点采样为寻找大流中的数据流突发点进行采样。
进一步的,所述将样本进行向量化、标准化处理,包括:
将每个数据包保留预设长度字节数,不足则用全零补全,反之则进行截断;将每个样本转化为的向量;
对向量中每个数据进行标准化处理。
进一步的,所述1D-CNN网络,包括:
1D-CNN网络部分由两层1D-CNN卷积层组成,对输入加密流量样本向量进行两次卷积操作,并且在每一层中对卷积操作输出的新特征图进行批标准化、非线性激活和降采样处理。
进一步的,所述混合神经网络模型的训练包括:
获取多个加密流量文件,对每个加密流量文件标注出对应的分类标签,
对各个加密流量文件进行预处理,所述预处理包括:将每个加密流量流切分为多个流;然后从每个流中采集多个连续数据包作为样本;最后将每个样本进行向量化、标准化处理,得到格式化的样本向量集合作为训练样本;
利用训练样本对混合神经网络模型进行训练,其中包括1D-CNN网络、堆叠双向LSTM网络和全连接层网络三个部分,以得到最佳网络参数;
得到训练完成的混合神经网络模型。
进一步的,所述1D-CNN网络的训练包括:
在向量化过程中保留每个样本中数据包的时序维度,设
Figure BDA0002655384260000051
为一个样本中第t个数据包,t为0到n的任一整数,代指向量中任一数据包,它是一个L维度的向量;
x=[x<1>,x<2>,...,x<M>] (5)
x代表一个样本,它包含M个数据包的向量,在1D-CNN中,x可视为包含M个通道,每个通道都是L维的二维向量;假设xi:i+j代表全部通道从任意位置i到i+j的字节;在x上一维卷积操作如下:
Figure BDA0002655384260000052
通常一个卷积层中包含多个卷积核,每个Filter操作相同,生成新特征图的一个通道;以其中任一卷积核t为例,
Figure BDA0002655384260000053
为在x上滑动窗口,b为偏移值,f则是非线性的激活函数;
Figure BDA0002655384260000054
为任一卷积核t生成的特征;当前Filter在x上滑动时,该Filter的卷积操作应用到窗口内的字节上,从整体来看,序列{x1:h,x2:h+1,...,xn-h+1:n}将会生新特征图;所有Filter操作相同,但是每个Filter对应的参数w和b是不同的;
Figure BDA0002655384260000055
这里
Figure BDA0002655384260000056
代表任一卷积核t生成的新特征图,也可视为输出通道t;对于每个通道的新特征图,通常还会使用池化操作层(MaxPooling)对特征图进行降采样;池化操作层的操作和卷积操作类似,同样是使用Filter做滑动操作,但在每个Filter上通常执行的运算为
Figure BDA0002655384260000057
保留每个滑动窗口中的最大值。
进一步的,所述堆叠双向LSTM网络的训练包括:
在LSTM中,将输入特征图的多个通道视为多个时间步;在每个时间步上有以下公式:
Figure BDA0002655384260000058
其中
Figure BDA0002655384260000061
表示在输入特征图任一时间步t(即通道t)上的向量,其维度与每个时间步输入的特征图维度相同,假设为m(即1D-CNN生成的新特征维度);
Figure BDA0002655384260000062
上一个时间步隐藏层的输出,维度由LSTM单元的隐藏层维度的参数决定,假设为s;
Figure BDA0002655384260000063
为当前层的中间输出;wc和bc分别为参数矩阵和偏差;
在LSTM中,最终输出需要由三个门决定,分别为更新门Γu、遗忘门Γf和输出门Γo;门的值计算公式如下:
Γu=σ(wu[h<t-1>,a<t>]+bu) (9)
Γf=σ(wf[h<t-1>,a<t>]+bf) (10)
Γo=σ(wo[h<t-1>,a<t>]+bo) (11)
其中,σ为非线性激活函数,wu、wf、wo和bu、bf、bo分别为三个门对应的参数矩阵和偏差值;
三个门的值的计算方法,与
Figure BDA0002655384260000064
计算方法类似,它们取值由当前时间步的输入a<t>和上一层隐藏层的输出h<t-1>决定;更新门Γu、遗忘门Γf和输出门Γo的作用类似与开关,用于控制当前LSTM单元是否更新当前信息,是否遗忘过去信息,是否输出最终信息;三个开关(门)产生最终输出的公式如下,其中c<t>当前层的中间输出向量:
Figure BDA0002655384260000065
h<t>=Γo⊙tanh(c<t>) (13)由三个门分别对过去、当前和总输出做取舍;最终输出当前时间步的隐藏层输出h<t>;其中⊙为哈达玛积(Hadamard Product),表示向量之间按位相乘;
堆叠LSTM指多层LSTM单元堆叠而成,而双向LSTM则是在时间步上正向、反向同时进行LSTM运算,Bi-LSTM的计算只需要将当前时间步不同方向的输出做连接即可,如:
Figure BDA0002655384260000066
在每个时间步上,隐藏层的输出h<t>都由时间步上正向的输出
Figure BDA0002655384260000071
和反向的输出
Figure BDA0002655384260000072
连接而成。
进一步的,所述基于预测向量计算得到各分类预测概率分布,包括:
计算预测概率分布,其计算公式如下:
Figure BDA0002655384260000073
其中o为混合神经网络模型原始输出向量,
Figure BDA0002655384260000074
则为经过softmax处理后的预测概率向量,oi为向量o中第i位置的向量值。
相应的,本发明还提供了一种网络加密流量识别装置,包括加密流量获取模块、预处理模块、分类预测模块和分类识别模块;其中:
加密流量获取模块,用于获取待识别的加密流量文件;
预处理模块,用于对待识别的加密流量进行预处理,所述预处理模块包括流切分单元、采集单元和向量化单元,其中:
流切分单元,用于将加密流量流切分为多个流;
采集单元,用于从每个流中采集多个连续数据包作为样本;
向量化单元,用于将每个样本进行向量化、标准化处理,得到格式化的样本向量集合;
分类预测模块,用于将预处理后得到的样本向量集合输入至预设训练的混合神经网络模型,得到预测向量,此预测向量中元素值代表加密流量属于各个分类的预测值;
所述混合神经网络模型包括:1D-CNN网络、堆叠双向LSTM网络和全连接层网络;其中1D-CNN网络对输入样本向量集合进行空间特征学习,输出低维特征图;堆叠双向LSTM网络对输入的特征图进行时序特征学习,得到包含时序特征的特征图向量,全连接层根据输入的时序特征的特征图向量确定预测向量;
分类识别单元,用于基于预测向量计算得到各分类预测概率分布,取其中最大的概率对应的分类作为加密流量最终的分类标签。
进一步的,所述采集单元中,包括:
小流采样单元,用于采集流头部预设个数连续数据包组成一个样本,若已有数据包不足预设个数,则选择已有数据包,其余包补零处理;
大流采样单元,用于从流中选取若干个采样点,以每个采样点作为起点,采集连续预设个数连续数据包组成一个样本。
进一步的,所述大流采样单元中,采样点的选取方案包括:随机点采样,固定步长采样和突发点采样三种策略;其中:
所述随机点采样为流中随机点采样;所述固定步长采样以固定的步长从流量起始开始采样;所述突发点采样为寻找大流中的数据流突发点进行采样。
进一步的,所述向量化单元中将样本进行向量化、标准化处理,包括:
将每个数据包保留预设长度字节数,不足则用全零补全,反之则进行截断;将每个样本转化为的向量;
对向量中每个数据进行标准化处理。
进一步的,所述1D-CNN网络,包括:
1D-CNN网络部分由两层1D-CNN卷积层组成,对输入加密流量向量进行两次卷积操作,并且在每一层中对卷积操作输出的新特征图进行批标准化、非线性激活和降采样处理。
与现有技术相比,本发明所达到的有益效果是:
1)本发明基于深度学习的技术(CNN和RNN),实现对流量特征的自动提取。该方法具有通用性,并不针对特定的网络环境、特定的应用场景,与基于规则的方法相比,该方法可以适应不同加密技术、混淆技术带来的流量特征变化。
2)本发明提出一种混合神经网络模型,结合CNN和RNN,仅使用少量数据包,对流量进行抽象特征抽取,学习数据流的时空特征,实现流量的早期识别。该方法不需要专家进行手动特征设计,在多个真实网络数据集的测试中,表现高于基于传统机器学习的识别方法。
3)本发明对原始加密流量进行自动流切分,向量化,标准化等处理,保留流的时序特征。该方法有效利用流量数据空间分布和时序特征,实现对特征的自动学习,实现了端到端的加密流量识别方法。此外,对于大流流量,该方法提出一种流中采样方案,解决长时间流量的分类问题和数据不平衡性。
附图说明
图1为加密流量识别方法的整体框架;
图2为流量向量化方法示意图;
图3为混合神经网络模型整体架构图;
图4为加密流量识别方法流程图;
图5为分类模型的详细架构及参数设置示意图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例1
本发明提供了一种网络加密流量识别方法,其特征是,包括以下过程:
获取待识别的加密流量文件;
对待识别的加密流量进行预处理,所述预处理包括:将加密流量流切分为多个流;然后从每个流中采集多个连续数据包作为样本;最后将每个样本进行向量化、标准化处理,得到格式化的样本向量集合;
将预处理后得到的样本向量集合输入至预设训练的混合神经网络模型,得到预测向量,此预测向量中元素值代表加密流量属于各个分类的预测值;
所述混合神经网络模型包括:1D-CNN网络、堆叠双向LSTM网络和全连接层网络;其中1D-CNN网络对输入样本向量集合进行空间特征学习,输出低维特征图;堆叠双向LSTM网络对输入的特征图进行时序特征学习,得到包含时序特征的特征图向量,全连接层根据输入的时序特征的特征图向量确定预测向量;
基于预测向量计算得到各分类预测概率分布,取其中最大的概率对应的分类作为加密流量最终的分类标签。
本发明利用混合神经网络技术,实现对加密流量时空特征的自动学习,从而实现对加密流量的高速、准确识别。
实施例2
用于识别加密流量的特征的抽取和流量预处理方式、向量化方法、流量数据流不同部分的信息有关。例如,流量的元信息和荷载信息,它们能够提供不同且有效的特征用于加密流量的识别。在本方案中,一方面,考虑结合使用流量元信息、数据包部分荷载、数据包之间的时序特征等信息,以提高数据完备性。另一方面,该方法中设计了混合神经网络模型对上述信息进行自动表征学习。
图1为本发明方法的整体框架图,主要包含两个阶段:预处理阶段和分类阶段。预处理阶段将原始流量直接转化成标准数据,其中包含流切分,流采样,向量化,标准化四个步骤。分类阶段,通过设计混合神经网络模型捕获流时空特征,包括空间分布特征(抽象特征)学习部分和时序特征学习部分,实现加密流量的分类。
为了方便理解本发明的技术方案,下面定义一些概念:
定义1五元组(T)。
对于网络中的每一个数据包,根据数据包的头部信息(元信息),可以找出相应的五元组信息,表达如下:
T={Src IP,Src Port,Dest IP,Dest Port,Protocol} (1)
分别代表源地址,源端口,目的地址,目的端口和传输层协议。
定义2流中采样技术。
真实网络环境中存在大量长时间通信连接而产生长时间的大流流量,这些流可能包含几万个到几百万个数据包,单个流的体量巨大。例如匿名网络中因为使用了虚电路技术,有大量的数据包具备相同的五元组信息。在一些数据中心中,流量分析管理的重点也在于大流流量,一些文献称其为大象流。若每一个流表示为F=[P0,P1,…,Pn],Pi是F中具有相同五元组的数据包。从流中n个包中选取m个采样点,S={s0,s1,…,sm}。以每个采样点作为起点,采集连续M个连续数据包组成样本,
Figure BDA0002655384260000111
其中i为0到m的整数。本发明中提出三种流采样方案。
①随机点采样(Random Sampling):默认策略,流中随机点采样。采样点si为0到n的随机点。
si∈{0,1,2,…,n} (2)
②固定步长采样(Fixed Step Sampling):以固定的步长从流量起始开始采样。其中步长为固定长度的常数,表示固定的步长,相邻采样点符合以下公式。
s0=0 (3)
si=Si-1+step (4)
③突发点采样(Burst Sampling):寻找大流中的突发点进行采样。在大流流量中,用户不同行为可以引起流量包长度的变化,例如用户点击行为引起数据传输,通常会引起流起伏波动。数据流变动前通常需要一些不携带数据的帧进行通信,在网络中,不携带数据的TCP或UDP帧长不超过60字节。因此,Burst Sampling检测此类数据点,选为采样点。
本发明的一种网络加密流量识别方法,其包括对原始流量文件的预处理,采样,向量化,时空特征学习等过程。本发明的加密流量识别方案流程图如图4所示。其具体操作步骤如下:
步骤1:根据流量数据包五元组信息对原始加密流量进行流切分,得到包含相同五元组信息的数据包的流集合。
真实网络环境中,在某个节点采集的流量并不是来自单一应用的有序序列,而是包含很多应用的混合序列。比如在某时间段在某个网关采集流量,可能包含该网络中经过该网关的所有主机产生的数据包,数据包混合成当前的吞吐流量。为了将各个单一类型产生的数据流进行分离,需要对数据集中提供的原始流量进行流切分。
常见的加密协议有两种,应用层加密和网络层加密。应用层加密主要指对报文的应用层协议进行加密,常见协议例如BitTorrent、Https等。网络层加密是对网络层以上整个报文进行加密。
加密后的流量通常仍会包含未加密部分,例如流量的元信息。因此,我们可以根据流的元信息来对加密流量进行流切分,但无法进一步获取加密部分的应用层信息及荷载信息。在网络中,流指的是包含相同五元组(源IP,源端口,目的IP,目的端口和传输层协议)的所有数据包。按照五元组信息对原始流量文件(PCAP文件,保存网络加密流量)进行读取、缓存、切分生成流F=[P0,P1,…,Pi…,Pn]。Pi是F中具有相同五元组的第i个数据包。流切分后得到包含相同五元组信息的数据包的流组成的流集合。
按照原始流量文件的类型对切分的流进行标注:若网络流量数据集中的PCAP文件有类型标签信息(例如该文件有标注流量服务类型,Chat,Email,Video等,取决于不同分类任务),则将从该文件中获得的所有流标注为该类型。用于训练混合神经网络模型。
步骤2:对步骤1中得到的流集合,根据流持续时常(可划分为大流或小流)使用不同采样方案,从每个流中采样连续数据包组成原始训练样本,得到原始样本集合。
真实网络为不平衡环境,网络中的流的长度差距巨大,流量上行下行通常也不对称。在一些文献中,将数据中的流类型分为大流(长时间数据流)和小流(短时间数据流)。不同流的时长不同,包含的数据包也不相同。小流可能包含几十到几百个数据包,而大流则可能包含几万到几百万个数据包。大流流量通常需要占用极大的存储空间,因而若以流为单位,难以采集到足够的流样本用于训练。对于小流,通常只包含一次通信交互请求,因而连接特征多集中在前期少量数据包中;而在大流中,包含应用多次通信交互过程,所以流中数据包应该同样包含大量可用于流量分类的有效信息。因此,在本方法中,每个小流使用流头部少量数据包作为一个单独样本,而每个大流则考虑采用流中采样技术,从流中采集多个样本,缓解网络流量数据不平衡问题(在现有数据集中,大流样本容量大,但样本数量极少)。
根据流类型(大流或小流)使用不同采样方案,从每个流中选取预设个数(记为M个,M为较小常数,例如M=10)连续数据包组成一个训练样本。对于小流,采集流头部数据包,其包含大部分通信连接建立信息。对于大流,使用流中采样技术,从大流中选择适量采样点,选取每个采样点的少量连续数据包组成单独样本,从而解决大流流量数据不平衡问题。
采集得到的每个样本,都保留M个数据包的原因包括两个方面:一方面,有利于实现流量早期识别,只使用少量的包完成加密流量识别(每个流可能包含几十个到几万个包,本方法仅使用少量的包,例如M=10),使方法轻量化,极大减轻识别方法的存储需求。另一方面,在实践上,格式化的数据有助于计算机训练模型时的运算。
此步骤的具体过程为:
①若输入流为小流,则使用下面步骤②,执行小流采样方案。若输入流为大流,则进入下面步骤③,执行流中采样方案。
②对于小流,采集流头部M个数据包,Fsub=[P0,P1,…,PM]组成一个样本,若已有数据包不足M个则全选已有数据包,其余包补零处理。
③对于大流,从流中n个包中选取m个采样点,S={s0,s1,…,sm}。以每个采样点作为起点,采集连续M个连续数据包组成样本,
Figure BDA0002655384260000141
其中i为0到m的整数。采样点选取方法有三种策略:随机点采样(Random Sampling),默认策略,流中随机点采样;固定步长采样(Fixed Step Sampling),以固定的步长从流量起始开始采样;突发点采样(Burst Sampling),寻找大流中的数据流突发点进行采样。
步骤3:对于步骤2的原始样本集合,每个样本都包含M个数据包,每个数据包保留L字节的长度,将每个样本转化为维度为(M,L)的向量,从而将原始流量规整为统一形状(Shape)的便于计算机读取、运算的向量。然后对于每个样本向量进行标准化处理,得到格式化的样本向量集合,现有研究表明,数据标准化处理能够加速梯度下降,使模型快速收敛。
具体处理过程如下:
①步骤2中得到的每个原始样本都包含M个数据包,每个数据包保留固定预设长度L,不足则用全零补全,反之则进行截断。其中L默认取值1500,这是因为以太网中的MTU(Maximum transmission Unit,即以太网最大帧长)为1500字节,为了方法的通用性,每个包默认保留长度L。图2以二维的形式展示了经过格式化后的每个样本。
②对步骤①格式化后的样本,按字节读取二进制数据流,将每个字节中8位的二进制数码以十进制的方式读取,得到0到255的整数。以整数形式来表示字节,进而表示整个向量的方法,实现了对原始样本的向量化,方便运算。每个原始样本被转化为维度为(M,L)的向量。
③为了加速计算,减少深度学习中梯度爆炸问题,对步骤②中得到向量进行标准化处理。由于向量化中将每个字节读取为一个整型数字(0到255),所以这里可以直接将这些数除以255进行标准化,得到格式化的样本集合。
步骤4:重复步骤1-步骤3得到大量格式化的训练样本,将训练样本输入混合神经网络模型进行训练。
不同流量具备不同的时序和空间分布特征(时空特征),混合神经网络模型可以提取流的时空特征,提高模型预测的准确性。传统方法需要专家根据流量未加密信息(例如数据报头部信息)、通信交互行为、荷载分布等信息,手动设计规则或统计特征(例如流时长,流大小,包大小,包间隔等)用于流量分类。混合神经网络模型不需要手动特征设计,实现了流量特征的自动提取。
混合神经网络模型包含空间特征(抽象特征)学习部分和时序特征学习部分。卷积神经网络(CNN)在图像领域被广泛应用,现有研究表明,经过多层CNN的降采样,模型能够学习图像空间分布上的更抽象特征(例如动物图像的局部特征,眼镜,嘴巴,四肢等)。步骤3得到的原始向量维度较高,引入有效信息的同时会带来更多噪声,使得模型更难进行特征学习。因此本发明中空间特征(抽象特征)学习部分使用一维卷积神经网络(1D-CNN),进行多次降采样,从而降低特征维度,学习到流量在空间分布上的抽象特征。时序特征学习部分使用堆叠双向LSTM(长短期记忆单元,Long Short-term Memory)捕获流量数据包之间的时间相关性。
为了详细阐述混合神经网络模型的设计,将从原理,整体架构,详细参数三方面详细展示模型的细节:
1)原理
本发明考虑在向量化过程中保留每个样本中数据包的时序维度。设
Figure BDA0002655384260000151
为一个样本中第t个数据包,t为0到n的任一整数,代指向量中任一数据包,它是一个L维度的向量。
x=[x<1>,x<2>,...,x<M>] (5)
x代表一个样本,它包含M个数据包的向量,在1D-CNN中,x可视为包含M个通道,每个通道都是L维的二维向量。假设xi:i+j代表全部通道从任意位置i到i+j的字节。在x上一维卷积操作如下:
Figure BDA0002655384260000161
通常一个卷积层中包含多个卷积核(Filter),每个Filter操作相同,生成新特征图的一个通道。以其中任一卷积核t为例,
Figure BDA0002655384260000162
为在x上滑动窗口,b为偏移值,f则是非线性的激活函数。
Figure BDA0002655384260000163
为任一卷积核t生成的特征。当前Filter在x上滑动时,该Filter的卷积操作应用到窗口内的字节上,从整体来看,序列{x1:h,x2:h+1,...,xn-h+1:n}将会生新特征图。所有Filter操作相同,但是每个Filter对应的参数w和b是不同的。
Figure BDA0002655384260000164
这里
Figure BDA0002655384260000165
代表任一卷积核t生成的新特征图,也可视为输出通道t。对于每个通道的新特征图,通常还会使用池化操作层(MaxPooling)对特征图进行降采样。池化操作层的操作和卷积操作类似,同样是使用Filter做滑动操作,但在每个Filter上通常执行的运算为
Figure BDA0002655384260000166
保留每个滑动窗口中的最大值。
本质上,1D-CNN和全连接神经网络其实是类似的,但1D-CNN的特点在于卷积核权重共享,并进行稀疏连接,这对于高维向量的运算有较大帮助。另一方面,在1D-CNN中对流量进行多次降采样,随着层次的增加,卷积操作将会产生更加抽象的特征图,因此,混合神经网络模型将会从原始流量中学习更高级的空间分布上的抽象特征,这会帮助随后的时序特征的学习。
网络流量也是一种时间相关性极强的数据,因此也适用于LSTM。但网络原始流量文件向量化之后特征维度非常大,因此我们考虑在学习到抽象特征上基于LSTM设计网络架构。在LSTM中,将输入特征图的多个通道视为多个时间步。在每个时间步上有以下公式:
Figure BDA0002655384260000171
其中
Figure BDA0002655384260000172
表示在输入特征图任一时间步t(即通道t)上的向量,其维度与每个时间步输入的特征图维度相同,假设为m(即1D-CNN生成的新特征维度)。
Figure BDA0002655384260000173
上一个时间步隐藏层的输出,维度由LSTM单元的隐藏层维度的参数决定,假设为s。
Figure BDA0002655384260000174
为当前层的中间输出。wc和bc分别为参数矩阵和偏差。
但在LSTM中,最终输出需要由三个门决定,分别为更新门Γu、遗忘门Γf和输出门Γo。门的值计算公式如下:
Γu=σ(wu[h〈t-1>,a〈t>]+bu) (9)
Γf=σ(wf[h〈t-1>,a<t>]+bf) (10)
Γo=σ(wo[h<t-1>,a<t>]+bo) (11)
其中,σ为非线性激活函数,wu、wf、wo和bu、bf、bo分别为三个门对应的参数矩阵和偏差值。
可以看到,三个门的值的计算方法,与
Figure BDA0002655384260000175
计算方法类似,它们取值由当前时间步的输入a<t>和上一层隐藏层的输出h<t-1>决定。更新门Γu、遗忘门Γf和输出门Γo的作用类似与开关,用于控制当前LSTM单元是否更新当前信息,是否遗忘过去信息,是否输出最终信息。三个开关(门)产生最终输出的公式如下,其中c<t>当前层的中间输出向量:
Figure BDA0002655384260000176
h<t>=Γo⊙tanh(c<t>) (13)
由三个门分别对过去、当前和总输出做取舍。最终输出当前时间步的隐藏层输出h〈t>。其中⊙为哈达玛积(Hadamard Product),表示向量之间按位相乘。
由于先进行抽象特征学习,为了增强时序特征捕获能力,我们使用堆叠双向LSTM网络,堆叠LSTM指多层LSTM单元堆叠而成,而双向LSTM(Bi-LSTM)则是在时间步上正向、反向同时进行LSTM运算,这是考虑到当前时间步的上下文信息(context),信息包含前后两个方面。Bi-LSTM的计算只需要将当前时间步不同方向的输出做连接即可,例如:
Figure BDA0002655384260000181
即在每个时间步上,隐藏层的输出h〈t>都由时间步上正向的输出
Figure BDA0002655384260000182
和反向的输出
Figure BDA0002655384260000183
连接而成。
2)整体架构
混合神经网络模型分为两个阶段,图3是混合神经网络模型整体的架构图。输入加密流量的高维向量,首先使用基于1D-CNN网络进行抽象空间特征学习,经过两个一维卷积层(Conv-1,Conv-2)对输入样本向量集合进行空间特征学习和降采样,得到新的低维特征图。然后在此基础上,第二部分基于堆叠双向LSTM网络捕获时序特征,堆叠两层双向LSTM,在每个时间步上,输入1D-CNN得到的特征图的每个通道的向量,通过堆叠双向LSTM学习特征图的时序特征,得到包含时序特征的特征图向量。最后,通过全连接层,将上一层特征图的维度转化为c维向量,c为流量类型数量(例如流量服务类型,Chat,Email,Video等,取决于不同分类任务)。最后可以通过softmax函数从中得到加密流量的预测标签。
抽象特征学习部分,先基于1D-CNN设计模型网络,对流量进行自动抽象特征提取。1D-CNN的特点在于卷积核权重共享,并进行稀疏连接,这降低了参数量,有利于捕获流量数据流中位于不同位置的相似空间特征。另一方面,1D-CNN对流量进行多次降采样,随着层次的增加,卷积操作将会产生更加抽象的特征图,模型将会从原始流量中学习更高级的抽象特征,这会帮助随后的时序特征的学习。
时序特征学习部分,我们使用堆叠双向LSTM网络,堆叠LSTM指多层LSTM单元堆叠而成,而双向LSTM(Bi-LSTM)则是在时间步上正向、方向同时进行LSTM运算,这是考虑到当前时间步的上下文信息包含当前位置前后两个方向的信息。
混合神经网络模型通过抽象特征学习和时序特征学习两部分实现了对流量特征的自动提取,无需专家进行手动特征设计。
对于每个输入样本,模型先使用1D-CNN进行空间特征学习和低采样,得到低维特征图,再使用LSTM学习得到包含时序特征的特征图,最后经过全连接层输出c维的预测向量o,c为流量类型数量(例如流量服务类型,Chat,Email,Video等,取决于不同分类任务),预测向量o中每个元素值代表待识别的加密流量属于各个分类的预测值。由于神经网络输出向量
Figure BDA0002655384260000191
包含正数和负数,为了得到预测概率分布(全部概率相加为1),我们需要使用指数运算将各个预测值转化为正数,即使用softmax函数处理向量o,计算出模型的预测概率分布向量
Figure BDA0002655384260000192
同样为c维向量,第i位置上的输出代表该样本属于分类i的概率。注意softmax不参与混合神经网络模型的训练,用于计算预测概率分布,其计算公式如下:
Figure BDA0002655384260000193
其中o为混合神经网络模型原始输出向量,
Figure BDA0002655384260000194
则为经过softmax处理后的预测概率向量,oi为向量o中第i位置的向量值。公式15的计算原理为:e为自然底数,利用指数运算
Figure BDA0002655384260000195
将oi转为正实数。然后,将各个位置上的计算结果除以
Figure BDA0002655384260000196
计算出模型的预测概率分布向量
Figure BDA0002655384260000197
最后使用交叉熵作为损失函数,利用梯度下降算法训练模型。
3)详细参数设置
图5为混合神经网络模型的详细参数设置,包含13个层(见“层次名称”),13层又可划分为4个大的层次(见“层次”),图中包含各层输入输出向量的大小(见“输入”、“输出”)以及每一层所使用的参数量(见“参数”),剩余卷积核大小和步长的则是1D-CNN的可设定参数(见“卷积核”、“步长”),整体可训练参数量为2,897,104,整体参数可以代表神经网络模型的规模和整体模型的大小。分类模型由三部分的组成:
第一部分为卷积相关层次。这个部分包含两个大卷积层(包含Conv-1,Conv-2),每个大卷积层包含一层1D-CNN,卷积核大小设定为3,卷积核移动步长为1,然后应用批标准化(Batch Normalization)对当前层次输出进行标准化,使得梯度下降变得容易。然后经过激活层(ReLU),最后使用MaxPooling做降采样,卷积核大小为2,卷积核移动步长为2。这一部分,输入加密流量高维向量进行降采样和学习空间特征,输出新的低维特征图向量。
第二部分为LSTM相关结构。每个LSTM单元的隐藏层维度设置为256,由于为双向LSTM,它将正反两个方向的输出做了连接,所以每个时间步的输出为512维。需要注意的是,这里采用了堆叠双向LSTM的结构,则除了最后一层外,中间Bi-LSTM需要保留每个时间步的输出。为了减轻过拟合的现象,在Bi-LSTM后增加Dropout层(最终输出神经元的激活值以一定概率停止工作,这个概率称为dropout rate),设定dropout rate为0.5。
第三部分为全连接层部分。使用全连接层输入512维度,输出c维(最终输出维度和类型数相同,在图5中最终示例输出为16)。
最后使用softmax计算各个分类的预测概率。
因为先进行抽象空间特征学习再捕获双向时序特征,整体的参数量要比基于CNN或LSTM的网络参数量少很多。混合神经网络模型结合了CNN的速度和RNN(循环神经网络,本方法使用了LSTM,属于RNN的一种)的时间步敏感性,使得整体模型轻量化的同时,保留了两方面的优点。模型训练过程中batchsize(批次大小)设置为128,使用Adam optimizer(Adam优化器)进行训练。可以使用learning rate(学习率)调度技术,帮助模型更好地收敛。
利用训练样本对混合神经网络模型进行训练,其中包括1D-CNN网络、堆叠双向LSTM网络和全连接层网络三个部分,以得到最佳网络参数;
步骤5:获取待识别的加密流量文件,使用步骤1-步骤3处理待识别的加密流量文件,将得到的样本向量输入训练完成的混合神经网络模型中,模型输出加密流量的原始预测向量o,o为实数向量。需要通过softmax处理o,得到各分类预测概率分布
Figure BDA0002655384260000201
Figure BDA0002655384260000202
是c维向量(c为流量类型数量),第i位置上的输出代表该样本属于分类i的概率,其计算公式如公式(15)所示。通过预测分布向量
Figure BDA0002655384260000211
可以得到输入流量的最终分类标签label。
Figure BDA0002655384260000212
其中
Figure BDA0002655384260000213
为预测结果,它是c维的概率分布向量,通过argmax得到向量
Figure BDA0002655384260000214
中最大的概率的下标(对应的分类)作为最终的分类标签label,label代表某种类型的流量(例如流量服务类型,Chat,Email,Video等,取决于不同分类任务,所有分类从0编号)。
本发明方法包含预处理阶段和分类阶段。预处理阶段对原始流量进行流切分,采样,向量化和标准化,并提出大流流中采样方案,解决大流流量(长时间数据流)的分类问题。分类阶段先使用CNN进行空间特征捕获和抽象特征抽取,然后在抽象特征的基础上使用堆叠双向LSTM学习流量时序特征,实现加密流量的自动特征提取和高效识别。该方法具有通用性,能够自动提取加密流量时空特征而无需专家手动特征设计,并且,它能够适应不同加密技术、混淆技术引起流量特征变化。
实施例3
相应的,本发明还提供了一种网络加密流量识别装置,包括加密流量获取模块、预处理模块、分类预测模块和分类识别模块;其中:
加密流量获取模块,用于获取待识别的加密流量文件;
预处理模块,用于对待识别的加密流量进行预处理,所述预处理模块包括流切分单元、采集单元和向量化单元,其中:
流切分单元,用于将加密流量流切分为多个流;
采集单元,用于从每个流中采集多个连续数据包作为样本;
向量化单元,用于将每个样本进行向量化、标准化处理,得到格式化的样本向量集合;
分类预测模块,用于将预处理后得到的样本向量集合输入至预设训练的混合神经网络模型,得到预测向量,此预测向量中元素值代表加密流量属于各个分类的预测值;
所述混合神经网络模型包括:1D-CNN网络、堆叠双向LSTM网络和全连接层网络;其中1D-CNN网络对输入样本向量集合进行空间特征学习,输出低维特征图;堆叠双向LSTM网络对输入的特征图进行时序特征学习,得到包含时序特征的特征图向量,全连接层根据输入的时序特征的特征图向量确定预测向量;
分类识别单元,用于基于预测向量计算得到各分类预测概率分布,取其中最大的概率对应的分类作为加密流量最终的分类标签。
本实施例装置中各模块的具体实现,以及混合神经网络模型的构建、训练等内容,采取实施例2的实施方式。
进一步的,所述采集单元中,包括:
小流采样单元,用于采集流头部预设个数连续数据包组成一个样本,若已有数据包不足预设个数,则选择已有数据包,其余包补零处理;
大流采样单元,用于从流中选取若干个采样点,以每个采样点作为起点,采集连续预设个数连续数据包组成一个样本。
进一步的,所述大流采样单元中,采样点的选取方案包括:随机点采样,固定步长采样和突发点采样三种策略;其中:
所述随机点采样为流中随机点采样;所述固定步长采样以固定的步长从流量起始开始采样;所述突发点采样为寻找大流中的数据流突发点进行采样。
进一步的,所述向量化单元中将样本进行向量化、标准化处理,包括:
将每个数据包保留预设长度字节数,不足则用全零补全,反之则进行截断;将每个样本转化为的向量;
对向量中每个数据进行标准化处理。
进一步的,所述1D-CNN网络,包括:
1D-CNN网络部分由两层1D-CNN卷积层组成,对输入加密流量向量进行两次卷积操作,并且在每一层中对卷积操作输出的新特征图进行批标准化、非线性激活和降采样处理。本发明装置有效利用加密流量数据流的时空特征,提出了一种基于流时空特征的新型加密流量混合神经网络识别模型,仅使用流的少量数据包,对流量进行准确的识别。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

Claims (10)

1.一种网络加密流量识别方法,其特征是,包括以下过程:
获取待识别的加密流量文件;
对待识别的加密流量进行预处理,所述预处理包括:将加密流量流切分为多个流;然后从每个流中采集多个连续数据包作为样本;最后将每个样本进行向量化、标准化处理,得到格式化的样本向量集合;
将预处理后得到的样本向量集合输入至预设训练的混合神经网络模型,得到预测向量,此预测向量中元素值代表加密流量属于各个分类的预测值;
所述混合神经网络模型包括:1D-CNN网络、堆叠双向LSTM网络和全连接层网络;其中1D-CNN网络对输入样本向量集合进行空间特征学习,输出低维特征图;堆叠双向LSTM网络对输入的特征图进行时序特征学习,得到包含时序特征的特征图向量,全连接层根据输入的时序特征的特征图向量确定预测向量;
基于预测向量计算得到各分类预测概率分布,取其中最大的概率对应的分类作为加密流量最终的分类标签。
2.根据权利要求1所述的一种网络加密流量识别方法,其特征是,所述从流中采集多个连续数据包作为样本,包括:
若流为小流,采集流头部预设个数连续数据包组成一个样本,若已有数据包不足预设个数,则选择已有数据包,其余包补零处理;
若流为大流,从流中选取若干个采样点,以每个采样点作为起点,采集连续预设个数连续数据包组成一个样本。
3.根据权利要求2所述的一种网络加密流量识别方法,其特征是,所述采样点的选取方案包括:随机点采样,固定步长采样和突发点采样三种策略;其中:
所述随机点采样为流中随机点采样;所述固定步长采样以固定的步长从流量起始开始采样;所述突发点采样为寻找大流中的数据流突发点进行采样。
4.根据权利要求1所述的一种网络加密流量识别方法,其特征是,所述将样本进行向量化、标准化处理,包括:
将每个数据包保留预设长度字节数,不足则用全零补全,反之则进行截断;将每个样本转化为的向量;
对向量中每个数据进行标准化处理。
5.根据权利要求1所述的一种网络加密流量识别方法,其特征是,所述1D-CNN网络,包括:
1D-CNN网络由两层1D-CNN卷积层组成,对输入加密流量样本向量进行两次卷积操作,并且在每一层中对卷积操作输出的新特征图进行批标准化、非线性激活和降采样处理。
6.根据权利要求1所述的一种网络加密流量识别方法,其特征是,所述混合神经网络模型的训练包括:
获取多个加密流量文件,对每个加密流量文件标注出对应的分类标签;
对各个加密流量文件进行预处理,所述预处理包括:将每个加密流量流切分为多个流;然后从每个流中采集多个连续数据包作为样本;最后将每个样本进行向量化、标准化处理,得到格式化的样本向量集合作为训练样本;
利用训练样本对混合神经网络模型进行训练,其中包括1D-CNN网络、堆叠双向LSTM网络和全连接层网络三个部分,以得到最佳网络参数;
得到训练完成的混合神经网络模型。
7.根据权利要求6所述的一种网络加密流量识别方法,其特征是,所述1D-CNN网络的训练包括:
在向量化过程中保留每个样本中数据包的时序维度,设
Figure FDA0002655384250000031
为一个样本中第t个数据包,t为0到n的任一整数,代指向量中任一数据包,它是一个L维度的向量;
x=[x<1>,x<2>,...,x<M>] (5)
x代表一个样本,它包含M个数据包的向量,在1D-CNN中,x视为包含M个通道,每个通道都是L维的二维向量;假设xi:i+j代表全部通道从任意位置i到i+j的字节;在x上一维卷积操作如下:
Figure FDA0002655384250000032
通常一个卷积层中包含多个卷积核,每个Filter操作相同,生成新特征图的一个通道;以其中任一卷积核t为例,
Figure FDA0002655384250000033
为在x上滑动窗口,b为偏移值,f则是非线性的激活函数;
Figure FDA0002655384250000034
为任一卷积核t生成的特征;
当前Filter在x上滑动时,该Filter的卷积操作应用到窗口内的字节上,序列{x1:h,x2:h+1,...,xn-h+1:n}将会生新特征图;所有Filter操作相同,每个Filter对应的参数w和b是不同的;
Figure FDA0002655384250000035
这里
Figure FDA0002655384250000036
代表任一卷积核t生成的新特征图,也可视为输出通道t;对于每个通道的新特征图,还使用池化操作层对特征图进行降采样;池化操作层的操作同样使用Filter做滑动操作,但在每个Filter上通常执行的运算为
Figure FDA0002655384250000037
保留每个滑动窗口中的最大值。
8.根据权利要求7所述的一种网络加密流量识别方法,其特征是,所述堆叠双向LSTM网络的训练包括:
在LSTM中,将输入特征图的多个通道视为多个时间步;在每个时间步上有以下公式:
Figure FDA0002655384250000038
其中
Figure FDA0002655384250000039
表示在输入特征图任一时间步t上的向量,其维度与每个时间步输入的特征图维度相同;
Figure FDA0002655384250000041
上一个时间步隐藏层的输出,维度由LSTM单元的隐藏层维度的参数决定;
Figure FDA0002655384250000042
为当前层的中间输出;wc和bc分别为参数矩阵和偏差;
在LSTM中,最终输出由三个门决定,分别为更新门Γu、遗忘门Γf和输出门Γo;门的值计算公式如下:
Γu=σ(wu[h<t-1>,a<t>]+bu) (9)
Γf=σ(wf[h<t-1>,a<t>]+bf) (10)
Γo=σ(wo[h<t-1>,a<t>]+bo) (11)
其中,σ为非线性激活函数,wu、wf、wo和bu、bf、bo分别为三个门对应的参数矩阵和偏差值;
三个门的值的计算方法,与
Figure FDA0002655384250000043
计算方法类似,它们取值由当前时间步的输入a<t>和上一层隐藏层的输出h<t-1>决定;更新门Γu、遗忘门Γf和输出门Γo的作用用于控制当前LSTM单元是否更新当前信息,是否遗忘过去信息,是否输出最终信息;三个开关产生最终输出的公式如下,其中c<t>当前层的中间输出向量:
Figure FDA0002655384250000044
h<t>=Γo⊙tanh(c<t>) (13)
由三个门分别对过去、当前和总输出做取舍;最终输出当前时间步的隐藏层输出h<t>;其中⊙为哈达玛积,表示向量之间按位相乘;
堆叠双向LSTM的输出将当前时间步不同方向的输出做连接,如:
Figure FDA0002655384250000045
在每个时间步上,隐藏层的输出h<t>都由时间步上正向的输出
Figure FDA0002655384250000046
和反向的输出
Figure FDA0002655384250000047
连接而成。
9.根据权利要求1所述的一种网络加密流量识别方法,其特征是,所述基于预测向量计算得到各分类预测概率分布,包括:
计算预测概率分布,其计算公式如下:
Figure FDA0002655384250000051
其中o为混合神经网络模型原始输出向量,
Figure FDA0002655384250000052
则为经过softmax处理后的预测概率向量,oi为向量o中第i位置的向量值。
10.一种网络加密流量识别装置,其特征是,包括加密流量获取模块、预处理模块、分类预测模块和分类识别模块;其中:
加密流量获取模块,用于获取待识别的加密流量文件;
预处理模块,用于对待识别的加密流量进行预处理,所述预处理模块包括流切分单元、采集单元和向量化单元,其中:
流切分单元,用于将加密流量流切分为多个流;
采集单元,用于从每个流中采集多个连续数据包作为样本;
向量化单元,用于将每个样本进行向量化、标准化处理,得到格式化的样本向量集合;
分类预测模块,用于将预处理后得到的样本向量集合输入至预设训练的混合神经网络模型,得到预测向量,此预测向量中元素值代表加密流量属于各个分类的预测值;
所述混合神经网络模型包括:1D-CNN网络、堆叠双向LSTM网络和全连接层网络;其中1D-CNN网络对输入样本向量集合进行空间特征学习,输出低维特征图;堆叠双向LSTM网络对输入的特征图进行时序特征学习,得到包含时序特征的特征图向量,全连接层根据输入的时序特征的特征图向量确定预测向量;
分类识别单元,用于基于预测向量计算得到各分类预测概率分布,取其中最大的概率对应的分类作为加密流量最终的分类标签。
CN202010885293.1A 2020-08-28 2020-08-28 一种网络加密流量识别方法及装置 Active CN112163594B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010885293.1A CN112163594B (zh) 2020-08-28 2020-08-28 一种网络加密流量识别方法及装置
PCT/CN2020/118725 WO2022041394A1 (zh) 2020-08-28 2020-09-29 一种网络加密流量识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010885293.1A CN112163594B (zh) 2020-08-28 2020-08-28 一种网络加密流量识别方法及装置

Publications (2)

Publication Number Publication Date
CN112163594A true CN112163594A (zh) 2021-01-01
CN112163594B CN112163594B (zh) 2022-07-26

Family

ID=73859335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010885293.1A Active CN112163594B (zh) 2020-08-28 2020-08-28 一种网络加密流量识别方法及装置

Country Status (2)

Country Link
CN (1) CN112163594B (zh)
WO (1) WO2022041394A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112910853A (zh) * 2021-01-18 2021-06-04 南京信息工程大学 基于混合特征的加密流量分类方法
CN113015167A (zh) * 2021-03-11 2021-06-22 杭州安恒信息技术股份有限公司 加密流量数据的检测方法、系统、电子装置和存储介质
CN113037730A (zh) * 2021-02-27 2021-06-25 中国人民解放军战略支援部队信息工程大学 基于多特征学习的网络加密流量分类方法及系统
CN113079069A (zh) * 2021-06-04 2021-07-06 南京邮电大学 一种面向大规模加密网络流量的混合粒度训练及分类方法
CN113141364A (zh) * 2021-04-22 2021-07-20 西安交通大学 一种加密流量分类方法、系统、设备及可读存储介质
CN113783795A (zh) * 2021-07-19 2021-12-10 北京邮电大学 加密流量分类方法及相关设备
CN113824729A (zh) * 2021-09-27 2021-12-21 杭州安恒信息技术股份有限公司 一种加密流量检测方法、系统及相关装置
CN113938290A (zh) * 2021-09-03 2022-01-14 华中科技大学 一种用户侧流量数据分析的网站去匿名方法和系统
CN113949653A (zh) * 2021-10-18 2022-01-18 中铁二院工程集团有限责任公司 一种基于深度学习的加密协议识别方法及系统
CN114679606A (zh) * 2022-04-02 2022-06-28 哈尔滨工业大学 一种基于Burst特征的视频流量识别方法、系统、电子设备及存储介质
CN114978585A (zh) * 2022-04-12 2022-08-30 国家计算机网络与信息安全管理中心 基于流量特征的深度学习对称加密协议识别方法
CN114978931A (zh) * 2022-07-29 2022-08-30 国电南瑞科技股份有限公司 基于流形学习的网络流量预测方法、装置及存储介质
CN115883263A (zh) * 2023-03-02 2023-03-31 中国电子科技集团公司第三十研究所 基于多尺度载荷语义挖掘的加密应用协议类型识别方法
CN116896469A (zh) * 2023-07-18 2023-10-17 哈尔滨工业大学 一种基于Burst序列的加密代理应用识别的方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114866485B (zh) * 2022-03-11 2023-09-29 南京华飞数据技术有限公司 一种基于聚合熵的网络流量分类方法及分类系统
CN114866486A (zh) * 2022-03-18 2022-08-05 广州大学 一种基于数据包的加密流量分类系统
CN114386079B (zh) * 2022-03-23 2022-12-06 清华大学 基于对比学习的加密流量分类方法及装置
CN115334005B (zh) * 2022-03-31 2024-03-22 北京邮电大学 基于剪枝卷积神经网络和机器学习的加密流量识别方法
CN115150840B (zh) * 2022-05-18 2024-03-12 西安交通大学 一种基于深度学习的移动网络流量预测方法
CN114997333B (zh) * 2022-06-29 2024-04-23 清华大学 一种风力发电机的故障诊断方法和装置
CN115134176B (zh) * 2022-09-02 2022-11-29 南京航空航天大学 一种基于不完全监督的暗网加密流量分类方法
CN115842647A (zh) * 2022-09-19 2023-03-24 上海辰锐信息科技有限公司 一种基于流量数据的网络安全威胁检测方法
CN115277888B (zh) * 2022-09-26 2023-01-31 中国电子科技集团公司第三十研究所 一种移动应用加密协议报文类型解析方法及系统
CN116074087B (zh) * 2023-01-17 2023-08-04 哈尔滨工业大学 一种基于网络流量上下文表征的加密流量分类方法、电子设备及存储介质
CN116112256A (zh) * 2023-02-08 2023-05-12 电子科技大学 一种面向应用加密流量识别的数据处理方法
CN116094885A (zh) * 2023-03-06 2023-05-09 青岛科技大学 基于One2ThreeNet的信号调制方式识别方法
CN116708023B (zh) * 2023-07-28 2023-10-27 中国电信股份有限公司 流量异常检测方法、装置、电子设备和可读存储介质
CN116743506B (zh) * 2023-08-14 2023-11-21 南京信息工程大学 一种基于四元数卷积神经网络的加密流量识别方法及装置
CN116994073B (zh) * 2023-09-27 2024-01-26 江西师范大学 一种自适应正负样本生成的图对比学习方法和装置
CN117313004B (zh) * 2023-11-29 2024-03-12 南京邮电大学 一种在物联网中基于深度学习的QoS流分类方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682216A (zh) * 2017-09-01 2018-02-09 南京南瑞集团公司 一种基于深度学习的网络流量协议识别方法
CN110197234A (zh) * 2019-06-13 2019-09-03 四川大学 一种基于双通道卷积神经网络的加密流量分类方法
CN110751222A (zh) * 2019-10-25 2020-02-04 中国科学技术大学 基于cnn和lstm的在线加密流量分类方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108710829A (zh) * 2018-04-19 2018-10-26 北京红云智胜科技有限公司 一种基于深度学习的表情分类及微表情检测的方法
US10708363B2 (en) * 2018-08-10 2020-07-07 Futurewei Technologies, Inc. Artificial intelligence based hierarchical service awareness engine
CN109905696B (zh) * 2019-01-09 2020-12-01 浙江大学 一种基于加密流量数据的视频服务体验质量的识别方法
CN110502753A (zh) * 2019-08-23 2019-11-26 昆明理工大学 一种基于语义增强的深度学习情感分析模型及其分析方法
CN110896381B (zh) * 2019-11-25 2021-10-29 中国科学院深圳先进技术研究院 一种基于深度神经网络的流量分类方法、系统及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682216A (zh) * 2017-09-01 2018-02-09 南京南瑞集团公司 一种基于深度学习的网络流量协议识别方法
CN110197234A (zh) * 2019-06-13 2019-09-03 四川大学 一种基于双通道卷积神经网络的加密流量分类方法
CN110751222A (zh) * 2019-10-25 2020-02-04 中国科学技术大学 基于cnn和lstm的在线加密流量分类方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭路路等: "基于卷积自编码的Open VPN加密流量识别方法", 《信息工程大学学报》 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112910853A (zh) * 2021-01-18 2021-06-04 南京信息工程大学 基于混合特征的加密流量分类方法
CN113037730A (zh) * 2021-02-27 2021-06-25 中国人民解放军战略支援部队信息工程大学 基于多特征学习的网络加密流量分类方法及系统
CN113015167A (zh) * 2021-03-11 2021-06-22 杭州安恒信息技术股份有限公司 加密流量数据的检测方法、系统、电子装置和存储介质
CN113141364A (zh) * 2021-04-22 2021-07-20 西安交通大学 一种加密流量分类方法、系统、设备及可读存储介质
CN113079069A (zh) * 2021-06-04 2021-07-06 南京邮电大学 一种面向大规模加密网络流量的混合粒度训练及分类方法
CN113079069B (zh) * 2021-06-04 2021-09-17 南京邮电大学 一种面向大规模加密网络流量的混合粒度训练及分类方法
CN113783795A (zh) * 2021-07-19 2021-12-10 北京邮电大学 加密流量分类方法及相关设备
CN113783795B (zh) * 2021-07-19 2023-07-25 北京邮电大学 加密流量分类方法及相关设备
CN113938290A (zh) * 2021-09-03 2022-01-14 华中科技大学 一种用户侧流量数据分析的网站去匿名方法和系统
CN113824729A (zh) * 2021-09-27 2021-12-21 杭州安恒信息技术股份有限公司 一种加密流量检测方法、系统及相关装置
CN113824729B (zh) * 2021-09-27 2023-01-06 杭州安恒信息技术股份有限公司 一种加密流量检测方法、系统及相关装置
CN113949653A (zh) * 2021-10-18 2022-01-18 中铁二院工程集团有限责任公司 一种基于深度学习的加密协议识别方法及系统
CN113949653B (zh) * 2021-10-18 2023-07-07 中铁二院工程集团有限责任公司 一种基于深度学习的加密协议识别方法及系统
CN114679606A (zh) * 2022-04-02 2022-06-28 哈尔滨工业大学 一种基于Burst特征的视频流量识别方法、系统、电子设备及存储介质
CN114978585A (zh) * 2022-04-12 2022-08-30 国家计算机网络与信息安全管理中心 基于流量特征的深度学习对称加密协议识别方法
CN114978585B (zh) * 2022-04-12 2024-02-27 国家计算机网络与信息安全管理中心 基于流量特征的深度学习对称加密协议识别方法
CN114978931A (zh) * 2022-07-29 2022-08-30 国电南瑞科技股份有限公司 基于流形学习的网络流量预测方法、装置及存储介质
CN115883263A (zh) * 2023-03-02 2023-03-31 中国电子科技集团公司第三十研究所 基于多尺度载荷语义挖掘的加密应用协议类型识别方法
CN115883263B (zh) * 2023-03-02 2023-05-09 中国电子科技集团公司第三十研究所 基于多尺度载荷语义挖掘的加密应用协议类型识别方法
CN116896469A (zh) * 2023-07-18 2023-10-17 哈尔滨工业大学 一种基于Burst序列的加密代理应用识别的方法
CN116896469B (zh) * 2023-07-18 2023-12-08 哈尔滨工业大学 一种基于Burst序列的加密代理应用识别的方法

Also Published As

Publication number Publication date
CN112163594B (zh) 2022-07-26
WO2022041394A1 (zh) 2022-03-03

Similar Documents

Publication Publication Date Title
CN112163594B (zh) 一种网络加密流量识别方法及装置
Lin et al. TSCRNN: A novel classification scheme of encrypted traffic based on flow spatiotemporal features for efficient management of IIoT
Wang et al. A survey of techniques for mobile service encrypted traffic classification using deep learning
Shapira et al. Flowpic: Encrypted internet traffic classification is as easy as image recognition
Shapira et al. FlowPic: A generic representation for encrypted traffic classification and applications identification
CN111860628A (zh) 一种基于深度学习的流量识别与特征提取方法
CN113179223B (zh) 一种基于深度学习和序列化特征的网络应用识别方法及系统
CN113037730A (zh) 基于多特征学习的网络加密流量分类方法及系统
CN111464485A (zh) 一种加密代理流量检测方法和装置
CN110751222A (zh) 基于cnn和lstm的在线加密流量分类方法
CN113989583A (zh) 一种互联网恶意流量检测方法及系统
Soleymanpour et al. CSCNN: cost-sensitive convolutional neural network for encrypted traffic classification
CN112949739A (zh) 一种基于智能流量分类的信息传输调度方法及系统
CN111565156A (zh) 一种对网络流量识别分类的方法
CN115118653A (zh) 一种基于多任务学习的实时业务流量分类方法及系统
CN114650229B (zh) 基于三层模型sftf-l的网络加密流量分类方法与系统
Soleymanpour et al. An efficient deep learning method for encrypted traffic classification on the web
CN110365659B (zh) 一种小样本场景下的网络入侵检测数据集的构造方法
CN114726802A (zh) 一种基于不同数据维度的网络流量识别方法及装置
Zhou et al. Encrypted network traffic identification based on 2d-cnn model
Banihashemi et al. Encrypted network traffic classification using deep learning method
CN114979017B (zh) 基于工控系统原始流量的深度学习协议识别方法及系统
CN116340814A (zh) 加密流量分类方法、装置、电子设备和计算机可读介质
Al-Saadi et al. Unsupervised machine learning-based elephant and mice flow identification
CN116094971A (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