CN113723440A - 一种云平台上加密tls应用流量分类方法及*** - Google Patents
一种云平台上加密tls应用流量分类方法及*** Download PDFInfo
- Publication number
- CN113723440A CN113723440A CN202110669055.1A CN202110669055A CN113723440A CN 113723440 A CN113723440 A CN 113723440A CN 202110669055 A CN202110669055 A CN 202110669055A CN 113723440 A CN113723440 A CN 113723440A
- Authority
- CN
- China
- Prior art keywords
- vector
- application
- self
- classification
- attention
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012549 training Methods 0.000 claims abstract description 59
- 238000013145 classification model Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 13
- 239000013598 vector Substances 0.000 claims description 107
- 238000004364 calculation method Methods 0.000 claims description 33
- 238000012512 characterization method Methods 0.000 claims description 31
- 238000000605 extraction Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000005111 flow chemistry technique Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 238000012935 Averaging Methods 0.000 claims description 2
- 238000010276 construction Methods 0.000 claims description 2
- 238000010606 normalization Methods 0.000 claims description 2
- 230000003416 augmentation Effects 0.000 claims 2
- 230000007246 mechanism Effects 0.000 abstract description 13
- 238000013528 artificial neural network Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 6
- 230000004927 fusion Effects 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 230000007787 long-term memory Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 241000238557 Decapoda Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 241000143060 Americamysis bahia Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000013604 expression vector Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 241000411851 herbal medicine Species 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000010972 statistical evaluation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012418 validation experiment Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (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)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种云平台上加密TLS应用流量分类方法及***,该方法包括训练阶段和分类阶段;训练阶段包括:对加密TLS应用流量样本进行统一处理;对训练数据进行学***台上加密TLS应用流量分类。
Description
技术领域
本发明涉及根据网络流的报文长度序列信息使用深度学***台上加密TLS应用流量进行自动分类,具体涉及一种云平台上加密TLS应用流量分类方法及***。
背景技术
网络流量分类是将网络流量与其生成的具体应用协议或应用相关联的任务,其在计算机网络与网络安全等领域有着众多实际应用,例如网络服务质量保障(QoS)、隧道检测、网络测量、网络追踪溯源与取证、网络入侵检测与防范等。对于网络管理而言,互联网服务提供商需要了解和分类由不同应用混合的网络流量,以获得更好的网络服务质量和网络配置,例如对不同应用类型的网络流量采用不同的优先级策略。基于上述实际应用需求,近十年来,针对该领域的相关研究吸引着来自学术界和工业界的广泛关注,并且各种先进的流量分析方法不断地涌现、演变,这种发展趋势也印证了针对网络流量分类的持久研究兴趣。值得注意的是,当今加密技术已被广泛地应用于确保应用数据传输的隐私性与安全性。随着移动互联网的爆发式增长,加密的TLS流量急剧上升,并且占据了当今互联网流量的很大份额。具体地说,全球最大的两个移动应用程序市场AppleApp Store和Google Play都要求应用程序的网络传输数据进行加密。加密技术的广泛使用使得传统基于载荷应用指纹的分析方法不再可行,因此给网络安全管理带来巨大挑战。对于使用TLS协议作为加密基础的移动应用程序而言,从网络流量上看,他们所传输的真实应用数据不再是纯文本信息,而是通过加密算法隐藏在 TLS协议的消息中的加密内容。2019年,陈等人提出了一个名为MAAF的TLS应用流量分类方法,该方法使用TLS应用流连接建立握手阶段的X.509证书对不同移动应用产生的TLS 应用流进行分类。具体地说,MAAF方法分析每条TLS流中的X.509证书,并提取证书中的“organizationName”字段和“commonName”字段,以开展TLS应用流分类。MAAF对于区分来自于不同公司的应用流非常有效。值得注意的是,由同一公司开发的不同应用程序通常运行在同一“云”平台上并为用户提供相应的互联网服务。然而,这些来自于同一公司的不同的“云”应用程序所产生的TLS应用流,嵌入在TLS应用流中的证书信息通常是相同的。以阿里巴巴公司开发的六款应用,“支付宝”,“高德地图”,“淘宝”,“淘票票”,“虾米音乐”和“优酷”为例;通过解析上述应用的TLS应用流中的X.509证书,注意到这六款应用的TLS应用流中,许多证书都具有相同的“commonName”字段和相同的“organizationName”字段;例如,“commonName”字段为“*.alicdn.com”,“organizationName”字段为“Alibaba(China)Technology Co.,Ltd.”;因此,MAAF方法无法正确区分“云”平台上此类TLS应用流。一种替代解决方案是使用TLS流的数据报文序列或消息类型序列来开展加密流量分类;与直接检查移动应用程序生成的具体内容不同,基于序列信息的方法试图通过观察每个TLS流中的状态转换来了解不同应用程序流量的生成机制;此外,受到深度学***台上加密 TLS流量分类的高级深度学习技术。
本发明设计并实现了一个新颖的“云”平台上加密TLS应用流量分类方法及***,本方法及***通过提取网络流的报文长度序列并结合门限机制、自注意力机制等,从而实现了准确率、效率更优的“云”平台上加密TLS应用流量分类。
现有的主流加密流量分类方法通常可划分为以下两类:(1)基于流统计量的分类方法,该类方法通过识别流量的外部可观察属性中的流量统计模式(例如,流量持续时间,流量空闲时间,数据包到达时间和数据包长度的分布等)对加密数据流进行分类;(2)基于流序列信息的分类方法,该类方法通过在流量的外部可观察属性上识别报文/消息类型序列(例如,消息类型序列中的状态转换)来对加密流进行分类。本发明是基于流序列信息的解决方案,因此现有的基于流统计量的相关工作不在讨论范围之内。现有基于流序列信息的分类方法又可细划分为两个子类:分别是1)基于马尔可夫链的分类方法;和2)基于深度学习的分类方法;接下来,讨论此前基于流序列信息的分类方法的两点局限性:
(1)首先,现有基于马尔可夫链的分类方法对于序列中的元素仅具有短期记忆能力,而没有长期记忆能力。具体地说,现有基于马尔可夫链的方法使用一阶齐次或二阶齐次马尔可夫链模型来构建可用于TLS流量分类的应用程序指纹。每个应用程序的马尔可夫链模型都是根据应用程序生成的有序TLS数据报文序列或者消息序列构建的。回想一下,一阶齐次/二阶齐次马尔可夫链中的状态转换只能考虑两个/三个相邻状态。显然,使用低阶(例如一阶或二阶)马尔可夫链模型很难捕获给定TLS流中状态之间的长期关系。因此,这些模型在加密流量分类的任务中表现不佳。考虑了更多相邻状态的马尔可夫链模型(即高阶马尔可夫链模型) 可以在一定程度上缓解上述问题。但是,值得注意的是,马尔可夫链模型的转移矩阵的大小会随其阶数呈指数增长,因此高阶马尔可夫链模型的转移矩阵通常非常稀疏。因此,高阶马尔可夫链模型面临过度拟合的高风险,这使得分类精度没有明显地提高。
(2)第二,近年来,基于递归神经网络(RNN)的深度学习方法已应用于TLS应用流量分类。然而,RNN的顺序性质成为了利用GPU进行计算、学习的一大主要痛点。当使用RNN处理序列数据时,RNN中每个隐藏状态都需要以先前的隐藏状态作为输入。实践中,值得注意的是GPU具有大量的计算能力,但是RNN的顺序性质使得GPU必须等待数据可用。此外,对于RNN,学习顺序数据中的长程依赖关系仍然是一个挑战性的问题。从理论上讲,高级的RNN模型(例如LSTM和GRU)可以具有更长的记忆能力。但是,实践发现随着给定顺序中数据元素之间距离的增加,这种长期记忆能力仍然会变得模糊。
本专利拟解决此前方法或***存在的两点技术缺陷。
发明内容
本发明的目的在于设计并实现一种“云”平台上加密TLS应用流量分类方法及***,使得其在对“云”平台上加密TLS应用流量分类过程中,可以为不同种类的应用产生的TLS网络数据流构建鲁棒的特征表达,进而以实现高准确率、高效率的加密TLS应用流量分类。
为实现上述目的,本发明采用的技术方案如下:
一种云平台上加密TLS应用流量分类方法,其特征在于,包括训练阶段和分类阶段;
所述训练阶段包括如下步骤:
1)以已知所属类型的加密TLS应用流量为输入,将每条流量转换为格式化的报文长度值序列;
2)以步骤1)得到的报文长度值序列作为输入,形成训练数据集,采用有监督学习的方式,构建加密TLS应用流量分类模型;
所述分类阶段包括如下步骤:
3)以网络流量数据为输入,获取未分类的加密TLS应用流量,并将待测加密TLS应用流量转换为与步骤1)相同格式的报文长度值序列;
4)根据训练阶段中步骤2)得到的加密TLS应用流量分类模型,对待分类的加密TLS应用流量进行类型判别,并输出判别结果。
一种云平台上加密TLS应用流量分类***,包括用于训练阶段的流量处理模块、应用分类模型构建模块,以及用于分类阶段的流量处理模块、应用分类模块;其中,
流量处理模块负责将输入的加密TLS应用的协议流量进行统计处理,将每条流转换为指定格式的报文长度值序列,作为训练样本或待分类样本;
训练阶段的应用分类模型构建模块,负责根据已知所属应用类型的加密TLS流量训练样本,构建加密TLS流量的应用分类模型并进行模型训练,使应用分类模型满足训练终止条件,以供分类阶段使用;
分类阶段的应用分类模块负责根据训练阶段生成的应用分类模型,对流量处理模块获取的待分类加密TLS流量的报文长度值序列进行特征提取,并判别所属应用类别、输出判别结果。
本发明的关键技术点在于:
1.设计了一个门限机制结构,该结构可以形成对给定序列在不同窗口尺度下的不同特征表达,从而自适应地为顺序的输入数据生成融合有多种可变长度表达的新序列特征。
2.设计了一个自注意力机制,该机制可以学习给定序列数据中元素彼此之间的长期依赖关系。该机制不仅捕获了序列数据中相邻元素之间的关联关系(模型对序列元素的短期记忆能力),而且还捕获了序列中距离较远的元素之间的关联关系(模型对序列元素的长期记忆能力)。
利用本发明的方法可以实现对云平台上加密TLS应用流量的精准分类,与已公开的相关技术相比,具有如下优点:
1.能够有效地识别云平台上不同应用产生的加密TLS流量。本发明完全基于每个TLS 应用流的报文长度序列,无需将IP数据报文重新组合为TLS消息。
2.本发明采用门限机制和自注意力机制相结合的方法来构造有关报文长度序列的特征表达。这种设计首先可对原始序列输入灵活地形成在不同窗口尺度下序列的加权特征融合表达。其次,该设计还可以学习序列数据中元素之间的长期依赖关系。通过以上的设计考虑,可以从原始序列输入中自动地学习出鲁棒的特征表达,以进行精准的TLS应用流量分类。
附图说明
图1是加密TLS应用流量分类方法的训练阶段流程图。
图2是加密TLS应用流量分类方法的分类阶段流程图。
图3是加密TLS流量的应用分类***架构图。
图4是六种应用协议在验证集上的实验结果图。
图5是六种应用协议在测试集上的实验结果图。
具体实施方式
本发明的工作流程可分为训练阶段和分类阶段两个阶段。在训练阶段,以已标记类别的加密TLS应用流量作为训练数据集,训练神经网络中的可学习参数,从而实现自动化的加密 TLS流量的特征提取与应用类别分类。在分类阶段,基于已训练完成的加密TLS流量的应用分类模型,对网络环境中获取到的未分类加密TLS应用流量进行特征提取并完成TLS流量的应用分类。
训练阶段:本发明的训练阶段以类型已知的加密TLS应用流量作为输入,并将其作为训练集,迭代地训练得到加密TLS流量的应用分类模型。训练阶段的操作步骤如图1所示。为便于理解,后续将以单条加密TLS应用流量样本为对象,介绍本发明训练阶段的具体操作步骤。
1.加密TLS应用流量处理
给定任意加密TLS应用流量样本flow={packet1,packet2,…,packetk},即该协议流样本由k个报文组成。首先,统计各个报文的实际字节长度,对于报文packeti,其字节长度值si。则流量样本则转化为报文字节长度值序列S′={s1,s2,…,sk}。设分类模型所需输入长度为l,需将序列S′调整到与模型输入长度相等。若k>l,则仅保留序列前l项,丢弃后续序列项;若 k=l,不进行调整;若k<l,则在序列尾部补l-k个0,使得序列长度为l。最终得到定长为 l的报文字节长度值序列S={s1,s2,…,sl}。
训练阶段的关键在于加密TLS应用流量分类模型的构建。本方法使用的加密TLS应用流量分类模型基于深度神经网络,训练阶段构建分类模型的具体实施步骤如下:
2.嵌入表征
在进行特征提取前,需要将单数值形式的报文长度信息转化为向量形式的嵌入表征向量。在本方法中,本发明使用可训练的嵌入表征生成层,为不同的报文长度值生成相应的表征向量。设报文长度值取值范围为{1,2,…,v},则嵌入表征生成层的输入取值空间为{0,1,2,…,v},共计v+1种可能取值,即输入维度为v+1。设嵌入表征生成层的输出维度为d,则任意报文长度值si将被转化为维度为d的长度值嵌入向量报文字节长度值序列S将被转化为维度为 l×d)的加密TLS应用流量样本嵌入向量x。
需要说明的是,嵌入表征生成层中的神经网络参数是可训练的,因此随着应用分类模型的迭代训练,嵌入表征生成层所产生的向量表征也会迭代、更新。
3.位置信息嵌入
在每条TLS应用流量中,报文序列中每个报文的长度、报文间的顺序,都与该应用的类型有密切关系。为利用报文在报文序列中的位置与应用类型之间的关联关系,本发明使用位置信息嵌入的方式来增强样本嵌入向量x的位置表征能力。位置信息嵌入的具体操作方式如下:
首先,为样本嵌入向量中各个元素生成对应的位置编码(Positional Encoding)。设样本嵌入向量中的任意元素表示为x(pos,i),pos为该元素所在的长度值嵌入向量在样本嵌入向量x中的序列位置,i为该元素在长度值嵌入向量中的序列位置,其中, pos∈{0,1,2,…,l-1},i∈{0,1,2,…,d-1}。则x(pos,i)的位置编码PE(pos,i)的计算公式如下:
将计算得到的位置嵌入表征向量xp与样本嵌入向量x进行元素间求和,得到初始表征向量 x′:
x′=xp+x
4.表征扩充
表征扩充以带位置信息的初始表征向量x′为输入,并行使用三个具有不同卷积核尺寸的 1D卷积层,随后为各卷积层的输出结果分配不同权重并进行带权融合,以对低维度的初始表征向量x′进行维度扩充及信息增益。嵌入扩充的具体操作方法如下:
(1)分支表征扩充:设嵌入扩充操作使用的三个1D卷积层分别为Conv1、Conv3和Conv5,三个卷积层的通道数(即卷积核个数)均为1,卷积核滑动步长均为1,。其中,Concv1的卷积核尺寸为1、Concv3的卷积核尺寸为3、Concv5的卷积核尺寸为5。经过嵌入扩充操作后,将扩充表征向量中维度值为1的维度压缩,得到的扩充表征向量集合为{c1,c3,c5},其中任意 ci的维度均为(l×d),i∈{1,3,5}。每个1D卷积层后均使用ReLU作为激活函数,ReLU激活函数计算公式如下:
(2)分支权重生成:权重生成操作以带位置信息的嵌入表征x′为输入,为扩充表征向量集合中的每个扩充表征ci向量生成相应的权重gi,以确定每个扩充表征对最终表征的影响能力。权重生成操作使用1个1D卷积层Convweight计算各个扩充表征分支的权重,Convweight的通道数量为3、卷积核尺寸为1,输出为权重向量的集合{g1,g3,g5},其中任意gi的维度均为(l× d),i∈{1,3,5}。
需要注意的是,为保证同一特征上的各分支的权重值总和为1,需要使用softmax函数对同一特征的各分支权重值进行调整。设任意特征在表征向量中的坐标为(i,j),三个分支在该特征上的权重分别为和则使用softmax算法进行权重调整的公式表示如下:
(3)表征融合:在扩充表征向量集合{c1,c3,c5}与权重向量集合{α1,α3,α5}的基础上进行逐元素的带权融合,得到加密TLS应用流量的表征向量I,带权融合操作表示为公式如下:
I=α1·g1+α3·g3+α5·g5
最终计算得到的表征向量I的维度为(l×d)。
5.自注意力模块
本方法使用多单元自注意力机制以提取表征向量I中对TLS应用流量分类具有较大贡献的关键信息。为提升自注意力特征的表征能力,多单元自注意力机制同时使用h个具有不同的可学习参数的自注意力计算单元,彼此独立地对表征向量I进行特征提取。在多单元自注意力机制的每个自注意力单元中,均需要将表征向量I转换为三个不同分量(设为Q、K、V),从而完成关键信息的查询提取。各个自注意力计算单元独立完成自注意力特征分量的生成,并将所有自注意力特征分量(表示为O1,O2,…,Oh)按序连接并进行权重计算,作为最终的自注意力特征向量O。
以任意自注意力计算单元i(i∈{1,2,…,h})为例,描述自注意力计算单元i生成注意力特征分量Oi的过程如下。
(2)自注意力计算:注意力矩阵Ai由分量Qi与分量Ki生成,计算公式如下:
第i个注意力计算单元生成的自注意力特征子特征Oi,即为注意力矩阵Ai对分量Vi进行取值查询的结果,子特征Oi的计算表示如下:
Oi=Attention(Qi,Ki,Vi)=Vi·Ai
TLS应用的流量分类模型并行地完成所有自注意力特征的提取,得到子特征O1,O2,…,Oh后,将所有子特征连接,通过参数线性变换,得到最终的自注意力特征O。
其中,子特征O1,O2,…,Oh的维度均为(l×dv);运算符代表将各个子特征在第二维连接为同一向量,连接后向量维度为(l×h*dv);WO是维度为(h*dv×d)可训练的参数向量,得到的自注意力特征O的维度为(l×d)。
在自注意力计算后,进行残差融合,将输入表征向量I与自注意力特征向量O逐元素相加并进行层归一化,得到带残差的自注意力特征向量O′,其维度为(l×d),操作表示如下:
O′=LayerNorm(A+O)
需要说明的是,自注意力模块可以顺序堆叠,将前一自注意力模块的输出作为后续自注意力模块的输入,自注意力模块的堆叠个数可根据特征提取的实际需要设定。后续实例展示中,也将探讨自注意力模块使用数量对加密TLS应用流量分类效果的影响。
6.类别敏感的特征提取及判别
本方法将前序步骤提取到的特征向量,转化为与所有可分类的加密TLS应用流量类型对应的多个特征分量,并对每个特征分量求平均值,作为样本属于该协议类型的概率。本小节将详细介绍特征提取及判别的具体操作步骤。
设加密TLS应用流量分类模型可判别的协议类型数量为t,本方法使用t个相互独立的类特征计算单元,分别计算各个可分类的加密TLS应用流量类型对应的特征表达向量,从而判断样本属于该类型的可能性。以任意类特征计算单元i(i∈{1,2,…,t})为例,描述类特征向量Fi的过程如下。
其中,的维度为(d×dq),的维度为(d×dk),的维度为(d×dv),且有dq=dk。另外,在本步骤中dv取值可按需指定,本方法采用的取值为在神经网络结构中,本步骤同样使用神经元个数分别为dq、dk、dv的三个全连接层,分别完成对应的变换计算。
(2)类特征计算:注意力矩阵Ai由分量Qi与分量Ki生成,计算公式如下:
第i个类特征计算单元所生成的类特征Fi,即为注意力矩阵Ai与分量Vi相乘的结果,类特征Fi的计算表示如下:
Fi=Vi·Ai
第i个类特征Fi的维度为(l×dv);所有类特征构成的类特征向量F={F1,F2,...,Ft}的维度为(t×l×dv)。
(3)类判别生成:对于任意样本,本方法使用全局特征平均值来判断其所属的加密TLS 应用流量类型。
首先,对于所有类特征Fi逐元素求和并取平均值,得到第i类的特征全局平均值pi:
相应的,样本的类判别向量为P={p1,p2,…,pt}。可使用softmax函数将类判别向量P转换为总和为1的概率分布表示形式。
7.模型效果评估
完成一轮加密TLS应用流量的分类训练后,判断神经网络计算结果是否满足结束条件L: (a)若计算结果满足结束条件L,则终止训练阶段,将TLS应用的流量分类模型作为训练阶段的最终结果输出;(b)若计算结果不满足结束条件,则根据网络分类结果计算损失函数值,使用反向传播更新神经网络参数,返回步骤(2)嵌入表征,重复上述训练流程。
结束条件L的设置,可包括但不局限于下述条件:达到最大迭代周期、达到期望损失函数值、达到期望统计评价指标等。
分类阶段:本方法的分类阶段建立在训练阶段所构建的加密TLS应用流量分类模型的基础上,对未分类的加密TLS应用流量进行所属协议类型的判别。分类阶段使用的加密TLS应用流量分类模型,即为训练阶段所构建神经网络,因此在分类阶段对加密TLS应用流量样本进行位置信息嵌入、表征扩充、自注意力模块和加密协议应用分类的具体计算过程与训练阶段完全一致,统一概括为加密TLS应用流量分类步骤,不在此赘述。分类阶段的流程如图2 所示,描述如下:
1.加密TLS应用流量处理:以采集到的未分类加密TLS应用流量为输入,参照训练阶段的“1.加密TLS应用流量处理”步骤,将未分类的加密TLS应用流量转换为长度固定在k的报文长度值序列,作为待分类的加密TLS应用流量样本。
2.加密TLS应用流量分类:以处理后的报文长度值序列为输入,使用训练阶段得到的加密TLS应用流量分类模型对报文进行处理,完成待分类的加密TLS应用流量的特征提取和类型判别,最后输出各加密TLS应用流量对应的类型判断。
结合上述一种云平台上加密TLS应用流量分类方法,本专利同时公开了一种云平台上加密TLS应用流量分类***。本***由三个主要模块构成:(1)流量处理模块,负责在训练阶段和分类阶段对输入的加密TLS应用流量进行处理,将每条流转化为指定格式的报文长度值序列;(2)应用分类模型构建模块,该模块工作在训练阶段,以加密TLS应用流量训练数据为基础,负责构建并训练加密TLS流量的应用分类模型;(3)应用分类模块,该模块工作在分类阶段,以训练阶段生成的加密TLS流量的应用分类模型为基础,负责对未分类的加密TLS 应用流量进行类型判别。
本***的工作流程可分为训练阶段和分类阶段,***图架构如图3所示。
1.训练阶段:本阶段以所属类型已知的加密TLS的应用流量为输入,由(1)流量处理模块将属于同一条TLS协议网络流的报文序列,统计并转换为定长的报文长度值序列。(2) 加密TLS流量的应用分类模型构建模块首先搭建加密TLS应用流量分类模型所使用的神经网络结构,对神经网络参数进行初始化或加载预定义的参数;随后在多轮迭代训练过程中,对报文长度值序列进行特征生成并分类,根据每次分类结果与加密TLS应用流量样本实际类型的差异,对神经网络参数进行迭代更新。当模型对已知类型的加密TLS应用流量的分类能力满足分类阶段需求后,(2)加密TLS流量的应用分类模型构建模块输出加密TLS的应用流量分类模型,以供分类阶段使用。
2.分类阶段:本阶段以待分类的加密TLS的应用流量为输入,由(1)流量处理模块将一条加密TLS应用流量,统计并转换为定长的报文长度值序列。(3)加密TLS流量的应用分类模块基于已训练的加密TLS流量的应用分类模型,对待分类的报文长度值序列进行特征生成及类型判断,(3)加密TLS应用流量分类模块的输出为待分类加密协议流的类型判别。
本***可根据TLS应用流量类型变动、分类效果变化等需求,按需重启训练阶段、调整加密TLS流量的应用分类模型,以保证本***对加密TLS流量的应用分类能力持续满足应用场景需求。
在验证实验中,本发明对来自运行在同一云平台上的阿里巴巴公司的六种不同类型的应用(分别是淘票票、高德地图、优酷、虾米音乐、饿了么、淘宝)产生的加密网络流量开展实例验证。实验中所使用的具体的每种应用产生的网络流量信息如表1所示。其中,对于每个应用协议类别,随机地选择了5千条TLS流。因此,实验数据集总计有3万个样本(6个类别*5000)。此外,在实验数据集上开展了5折交叉验证,其中训练集,验证集和测试集的划分比例为3:1:1。
表格1:验证实验中所使用的应用名称及各个类别的网络流量信息,其中M代表106,K代表 103。
应用名称 | 流个数 | 报文个数 | 字节数 |
淘票票 | 6,758 | 766.1K | 1057.8M |
高德地图 | 9,988 | 141.0K | 123.6M |
优酷 | 16,509 | 385.9K | 454.0M |
虾米音乐 | 8,207 | 369.0K | 485.6M |
饿了么 | 9,613 | 210.5K | 225.1M |
淘宝 | 7,470 | 230.7K | 294.4M |
加密TLS应用流量的分类模型设计完成以后,为了评估其分类性能,必须定义合适的分类评估指标。对于正在分析的特定应用程序r,定义如下指标来评估分类器的分类性能:
(1)应用r的真阳率(True Positive Rate,TPR):
(2)应用r的假阳率(False Positive Rate,FPR):
(3)TPRr和FPRr分别反映了整个***的两方面的分类表现,FTFr指标则是TPRr与FPRr之间的折衷,其具体定义如下:
(4)本发明是针对混杂应用流量的多类别分类,多种应用的***整体分类表现采用准确率指标(Accuracy)来评估,ACC指标的具体定义如下:
其中,R表示需要分类的应用类别数。
在验证实验中,有以下三个重要参数,分别是(1)k,代表用于分类的TLS流的前多少个数据报文的个数;(2)d,代表嵌入层的嵌入向量维度;(3)L,代表自注意力机制层重复的次数。在以下针对本发明的评估实验中,具体的参数选择范围是k∈{8,16,32},d∈{128,256,512,1024},L=1。接下来,介绍具体的加密TLS应用流量分类的实验结果。
图4绘制了当参数k和d为不同取值时,六种应用在实验数据集的验证集上的Accuracy 数值的变化情况。对于不同的参数设置,ACC数值在89.81%–91.89%的范围内变化。验证数据集上的最佳参数值为k=32,d=1024和L=1,相应的ACC数值为91.89%。图4可以清楚地注意到,对于d的所有可能值,对于较低的k值,Accuracy数值都会降低。此外,还可以注意到,对于较低的d值,本发明的Accuracy数值通常会下降。
图5绘制了当参数k和d为不同取值时,六种应用在实验数据集的测试集上的Accuracy 数值的变化情况。值得注意的是在验证集上分类表现最好的参数设置(k=32,d=1024和L= 1),其在测试集上的分类准确率为91.82%。
表格2:与现有加密TLS应用流量分类方法对比实验结果
表格2展示了本发明与现有最先进的加密TLS应用流量分类方法的实验对比结果。表格 2详细地展示了每种应用的TPR、FPR,平均TPR、平均FPR以及FTF几种评价指标下的实验结果值。从表格2中,可以明显地观察到,本发明在实验数据集上的FTF数值是90.34;现有TLS加密方法和***MaMPF和FS-Net的FTF数值分别是67.56和87.99。因此,本发明的实验效果优于MaMPF和FS-Net方法。
Claims (11)
1.一种云平台上加密TLS应用流量分类方法,其特征在于,包括训练阶段和分类阶段;
所述训练阶段包括如下步骤:
1)以已知所属类型的加密TLS应用流量为输入,将每条流量转换为格式化的报文长度值序列;
2)以步骤1)得到的报文长度值序列作为输入,形成训练数据集,采用有监督学习的方式,构建加密TLS应用流量分类模型;
所述分类阶段包括如下步骤:
3)以网络流量数据为输入,获取未分类的加密TLS应用流量,并将待测加密TLS应用流量转换为与步骤1)相同格式的报文长度值序列;
4)根据训练阶段中步骤2)得到的加密TLS应用流量分类模型,对待分类的加密TLS应用流量进行类型判别,并输出判别结果。
2.如权利要求1所述的方法,其特征在于,步骤1)进行加密TLS应用流量到报文长度值序列转换的具体操作方法是:
1-1)从加密TLS应用的协议流量中,提取一条完整流量的全部报文,并按序排列;
1-2)统计报文序列中每个报文的字节长度,将报文长度值按报文顺序排列,得到报文长度值序列;
1-3)根据应用分类模型输入格式要求,如果报文长度值序列的总长小于指定值,则在尾部补零,如果报文长度值序列总长大于指定值,则仅保留报文长度值序列前部,丢弃超过指定值的长度值,得到格式化报文长度值序列;
3.如权利要求1所述的方法,其特征在于,步骤2)构建所述加密TLS应用流量分类模型的方法是:
2-1)嵌入表征操作:以步骤1)得到的格式化报文长度值序列为输入,使用嵌入表征生成层,将各个报文长度值转化为给定维度的嵌入向量,得到样本嵌入向量作为输出;
2-2)位置信息嵌入操作:以步骤2-1)得到的样本嵌入向量为输入,根据向量中各元素坐标生成对应的位置嵌入表征向量,并将位置嵌入表征向量与样本嵌入向量整合,得到初始表征向量作为输出;
2-3)表征扩充操作:以步骤2-2)得到的初始表征向量为输入,使用具有不同尺寸的多个卷积层,并行地生成分支表征向量,并融合得到表征向量作为输出;
2-4)自注意力特征提取操作:以步骤2-3)得到的表征向量作为输入,使用不少于一层的自注意力模块进行特征提取,得到自注意力特征向量作为输出;
2-5)类别敏感的特征提取及判别操作:以步骤2-4)得到的自注意力特征向量为输入,与可分类的加密TLS应用类型对应进行类特征提取,得到加密TLS应用流量样本的类判别向量作为输出;
2-6)以步骤2-5)得到类型判别与样本真实的应用类型为输入,计算模型分类准确率、损失函数值等指标,若指标满足终止条件L,则停止模型构建流程,输出应用分类模型;若指标不满足终止条件L,则根据指标更新网络参数,重复步骤2-1)~步骤2-6)。
4.如权利要求2所述的方法,其特征在于,步骤2-1)所述的嵌入表征操作的具体操作方法是:
以步骤1)得到的格式化的报文长度值序列为输入,使用可训练的嵌入表征生成层,将报文长度的数值与向量对应,将报文长度值序列中所有长度值转换为对应向量,得到样本嵌入向量;
5.如权利要求2所述的方法,其特征在于,步骤2-2)所述的位置信息嵌入操作的具体操作方法是:
2-2-1)以步骤2-1)得到的样本嵌入向量为输入,根据向量中任意元素在向量中的维度坐标,为其生成带有位置信息的位置编码。其中,同一报文长度值对应向量中的相邻元素,分别使用两种不同计算公式。所有元素转换为其对应的位置编码,得到位置嵌入表征向量;
2-2-2)将位置嵌入表征向量与样本嵌入向量进行逐元素相加,得到初始表征向量;
6.如权利要求2所述的方法,其特征在于,步骤2-3)所述的表征扩充操作的具体操作方法是:
2-3-1)以步骤2-2)得到初始表征向量为输入,使用多个彼此独立的1D卷积层,分别处理初始表征向量,得到多个分支扩充向量。本方法中,分支总数为3,所有1D卷积层的卷积核尺寸不同,通道数(卷积核个数)相同,卷积操作后使用激活函数;
2-3-2)以步骤2-2)得到的初始表征向量为输入,使用一个卷积核尺寸为1、通道数与2-3-1)中分支个数相同的1D卷积层,为每个分支扩充向量生成相应权重向量;
2-3-3)对权重向量进行归一化,使得同一特征值上的各分支相应的权重之和为1;
2-3-4)将三个分支扩充向量与各分支对应的归一化权重向量相乘,并将赋权后的分支向量逐元素相加,得到表征向量;
7.如权利要求2所述的方法,其特征在于,步骤2-4)所述的自注意力特征提取操作的具体操作方法是:
2-4-1)以2-3)得到的表征向量为输入,本方法使用多个彼此独立的自注意力计算单元,分别进行自注意力计算操作,得到各个自注意力计算单元对应的自注意力特征分量;
2-4-2)将同一样本生成的所有自注意力特征分量在序列中单个元素的特征表示的维度连接。连接前后,序列长度这一维度大小保持不变;
2-4-3)使用可训练的参数矩阵,与连接后的自注意力特征向量进行矩阵乘法,得到自注意力特征向量,自注意力特征向量的向量维度与的2-3)得到的表征向量维度相同;
2-4-4)本方法的应用分类模型可顺序使用多个自注意力特征提取模块。如果应用分类中使用大于一个的自注意力特征提取模块,则后续的自注意力特征提取操作以其前序的自注意力特征提取操作得到的自注意力特征向量为输入,重复步骤2-4-1)至2-4-3);
8.如权利要求2所述的方法,其特征在于,步骤2-5)所述的类别敏感的特征提取及判别操作的具体操作方法是:
2-5-1)以2-4-3)得到的自注意力特征向量为输入,为应用分类模型中每个应用类别分配相应的一个独立计算单元,通过类特征计算操作得到样本在该类别的类特征向量;
2-5-2)将每个应用类别对应的类特征向量分别逐元素求平均值,将每个类别得到的平均值作为样本在该类别的判别值;
2-5-3)将所有类别的判别值整合为向量形式,得到样本的类判别向量;
11.一种云平台上加密TLS应用流量分类***,其特征在于,包括用于训练阶段的流量处理模块、应用分类模型构建模块,以及用于分类阶段的流量处理模块、应用分类模块;其中,
流量处理模块负责将输入的加密TLS应用的协议流量进行统计处理,将每条流转换为指定格式的报文长度值序列,作为训练样本或待分类样本;
训练阶段的应用分类模型构建模块,负责根据已知所属应用类型的加密TLS流量训练样本,构建加密TLS流量的应用分类模型并进行模型训练,使应用分类模型满足训练终止条件,以供分类阶段使用;
分类阶段的应用分类模块负责根据训练阶段生成的应用分类模型,对流量处理模块获取的待分类加密TLS流量的报文长度值序列进行特征提取,并判别所属应用类别、输出判别结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110669055.1A CN113723440B (zh) | 2021-06-17 | 2021-06-17 | 一种云平台上加密tls应用流量分类方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110669055.1A CN113723440B (zh) | 2021-06-17 | 2021-06-17 | 一种云平台上加密tls应用流量分类方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113723440A true CN113723440A (zh) | 2021-11-30 |
CN113723440B CN113723440B (zh) | 2024-05-07 |
Family
ID=78672974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110669055.1A Active CN113723440B (zh) | 2021-06-17 | 2021-06-17 | 一种云平台上加密tls应用流量分类方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113723440B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726800A (zh) * | 2022-03-12 | 2022-07-08 | 北京工业大学 | 一种基于模型解释的规则式应用流量分类方法及*** |
CN115310117A (zh) * | 2022-10-12 | 2022-11-08 | 江苏泰恩特环境技术有限公司 | 一种中央空调远程监控运维*** |
CN115987687A (zh) * | 2023-03-17 | 2023-04-18 | 鹏城实验室 | 网络攻击取证方法、装置、设备及存储介质 |
CN116112288A (zh) * | 2023-04-07 | 2023-05-12 | 天翼云科技有限公司 | 网络入侵检测方法、装置、电子设备和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270392A (zh) * | 2014-10-24 | 2015-01-07 | 中国科学院信息工程研究所 | 一种基于三分类器协同训练学习的网络协议识别方法及*** |
CN109167680A (zh) * | 2018-08-06 | 2019-01-08 | 浙江工商大学 | 一种基于深度学习的流量分类方法 |
CN110020682A (zh) * | 2019-03-29 | 2019-07-16 | 北京工商大学 | 一种基于小样本学习的注意力机制关系对比网络模型方法 |
CN110247930A (zh) * | 2019-07-01 | 2019-09-17 | 北京理工大学 | 一种基于深度神经网络的加密网络流量识别方法 |
CN112839024A (zh) * | 2020-11-05 | 2021-05-25 | 北京工业大学 | 一种基于多尺度特征注意力的网络流量分类方法及*** |
-
2021
- 2021-06-17 CN CN202110669055.1A patent/CN113723440B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270392A (zh) * | 2014-10-24 | 2015-01-07 | 中国科学院信息工程研究所 | 一种基于三分类器协同训练学习的网络协议识别方法及*** |
CN109167680A (zh) * | 2018-08-06 | 2019-01-08 | 浙江工商大学 | 一种基于深度学习的流量分类方法 |
CN110020682A (zh) * | 2019-03-29 | 2019-07-16 | 北京工商大学 | 一种基于小样本学习的注意力机制关系对比网络模型方法 |
CN110247930A (zh) * | 2019-07-01 | 2019-09-17 | 北京理工大学 | 一种基于深度神经网络的加密网络流量识别方法 |
CN112839024A (zh) * | 2020-11-05 | 2021-05-25 | 北京工业大学 | 一种基于多尺度特征注意力的网络流量分类方法及*** |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726800A (zh) * | 2022-03-12 | 2022-07-08 | 北京工业大学 | 一种基于模型解释的规则式应用流量分类方法及*** |
CN114726800B (zh) * | 2022-03-12 | 2024-05-03 | 北京工业大学 | 一种基于模型解释的规则式应用流量分类方法及*** |
CN115310117A (zh) * | 2022-10-12 | 2022-11-08 | 江苏泰恩特环境技术有限公司 | 一种中央空调远程监控运维*** |
CN115987687A (zh) * | 2023-03-17 | 2023-04-18 | 鹏城实验室 | 网络攻击取证方法、装置、设备及存储介质 |
CN115987687B (zh) * | 2023-03-17 | 2023-05-26 | 鹏城实验室 | 网络攻击取证方法、装置、设备及存储介质 |
CN116112288A (zh) * | 2023-04-07 | 2023-05-12 | 天翼云科技有限公司 | 网络入侵检测方法、装置、电子设备和可读存储介质 |
CN116112288B (zh) * | 2023-04-07 | 2023-08-04 | 天翼云科技有限公司 | 网络入侵检测方法、装置、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113723440B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113723440B (zh) | 一种云平台上加密tls应用流量分类方法及*** | |
CN110826059B (zh) | 面向恶意软件图像格式检测模型的黑盒攻击的防御方法及其装置 | |
CN112235264B (zh) | 一种基于深度迁移学习的网络流量识别方法及装置 | |
Wang et al. | App-net: A hybrid neural network for encrypted mobile traffic classification | |
CN113806746B (zh) | 基于改进cnn网络的恶意代码检测方法 | |
CN109543674B (zh) | 一种基于生成对抗网络的图像拷贝检测方法 | |
CN113489685B (zh) | 一种基于核主成分分析的二次特征提取及恶意攻击识别方法 | |
Zhong et al. | A comparative study of image classification algorithms for Foraminifera identification | |
CN111565156A (zh) | 一种对网络流量识别分类的方法 | |
Song et al. | Analysis of operating system identification via fingerprinting and machine learning | |
CN114462520A (zh) | 一种基于流量分类的网络入侵检测方法 | |
CN116827873A (zh) | 一种基于局部-全局特征注意力的加密应用流量分类方法及*** | |
Van Huong et al. | Intrusion detection in IoT systems based on deep learning using convolutional neural network | |
Jampour et al. | Chaos game theory and its application for offline signature identification | |
Tang et al. | Entropy-based feature extraction algorithm for encrypted and non-encrypted compressed traffic classification | |
Rani et al. | Design of an intrusion detection model for IoT-enabled smart home | |
Tan et al. | Recognizing the content types of network traffic based on a hybrid DNN-HMM model | |
CN114826681A (zh) | 一种dga域名检测方法、***、介质、设备及终端 | |
din et al. | Detection of botnet in IoT network through machine learning based optimized feature importance via ensemble models | |
CN117633627A (zh) | 一种基于证据不确定性评估的深度学习未知网络流量分类方法及*** | |
Alam et al. | DeepMalware: a deep learning based malware images classification | |
Sharipuddin et al. | Intrusion detection with deep learning on internet of things heterogeneous network | |
CN111737694A (zh) | 一种基于行为树的恶意软件同源性分析方法 | |
Lu et al. | Cascaded classifier for improving traffic classification accuracy | |
CN116471048A (zh) | 一种实时高效的物联网DDoS攻击检测方法及*** |
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 |