一种云平台上加密TLS应用流量分类方法及系统技术方案

技术编号:31080514 阅读:19 留言:0更新日期:2021-12-01 11:55
本发明专利技术公开了一种云平台上加密TLS应用流量分类方法及系统,该方法包括训练阶段和分类阶段;训练阶段包括:对加密TLS应用流量样本进行统一处理;对训练数据进行学习训练,构建应用分类模型;分类阶段包括:对未分类的加密TLS应用流量样本进行统一处理;根据训练阶段得到的应用分类模型,对待测流量样本的应用类型进行判别,并输出判别结果。本方法及系统通过提取网络流的报文长度序列并结合门限机制、自注意力机制等,从而实现了准确率、效率更优的“云”平台上加密TLS应用流量分类。平台上加密TLS应用流量分类。平台上加密TLS应用流量分类。

【技术实现步骤摘要】
一种云平台上加密TLS应用流量分类方法及系统


[0001]本专利技术涉及根据网络流的报文长度序列信息使用深度学习技术对云平台上加密TLS应用流量进行自动分类,具体涉及一种云平台上加密TLS应用流量分类方法及系统。

技术介绍

[0002]网络流量分类是将网络流量与其生成的具体应用协议或应用相关联的任务,其在计算机网络与网络安全等领域有着众多实际应用,例如网络服务质量保障(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流量分类的高级深度学习技术。
[0003]本专利技术设计并实现了一个新颖的“云”平台上加密TLS应用流量分类方法及系统,
本方法及系统通过提取网络流的报文长度序列并结合门限机制、自注意力机制等,从而实现了准确率、效率更优的“云”平台上加密TLS应用流量分类。
[0004]现有的主流加密流量分类方法通常可划分为以下两类:(1)基于流统计量的分类方法,该类方法通过识别流量的外部可观察属性中的流量统计模式(例如,流量持续时间,流量空闲时间,数据包到达时间和数据包长度的分布等)对加密数据流进行分类;(2)基于流序列信息的分类方法,该类方法通过在流量的外部可观察属性上识别报文/消息类型序列(例如,消息类型序列中的状态转换)来对加密流进行分类。本专利技术是基于流序列信息的解决方案,因此现有的基于流统计量的相关工作不在讨论范围之内。现有基于流序列信息的分类方法又可细划分为两个子类:分别是1)基于马尔可夫链的分类方法;和2)基于深度学习的分类方法;接下来,讨论此前基于流序列信息的分类方法的两点局限性:
[0005](1)首先,现有基于马尔可夫链的分类方法对于序列中的元素仅具有短期记忆能力,而没有长期记忆能力。具体地说,现有基于马尔可夫链的方法使用一阶齐次或二阶齐次马尔可夫链模型来构建可用于TLS流量分类的应用程序指纹。每个应用程序的马尔可夫链模型都是根据应用程序生成的有序TLS数据报文序列或者消息序列构建的。回想一下,一阶齐次/二阶齐次马尔可夫链中的状态转换只能考虑两个/三个相邻状态。显然,使用低阶(例如一阶或二阶)马尔可夫链模型很难捕获给定TLS流中状态之间的长期关系。因此,这些模型在加密流量分类的任务中表现不佳。考虑了更多相邻状态的马尔可夫链模型(即高阶马尔可夫链模型) 可以在一定程度上缓解上述问题。但是,值得注意的是,马尔可夫链模型的转移矩阵的大小会随其阶数呈指数增长,因此高阶马尔可夫链模型的转移矩阵通常非常稀疏。因此,高阶马尔可夫链模型面临过度拟合的高风险,这使得分类精度没有明显地提高。
[0006](2)第二,近年来,基于递归神经网络(RNN)的深度学习方法已应用于TLS应用流量分类。然而,RNN的顺序性质成为了利用GPU进行计算、学习的一大主要痛点。当使用RNN处理序列数据时,RNN中每个隐藏状态都需要以先前的隐藏状态作为输入。实践中,值得注意的是GPU具有大量的计算能力,但是RNN的顺序性质使得GPU必须等待数据可用。此外,对于RNN,学习顺序数据中的长程依赖关系仍然是一个挑战性的问题。从理论上讲,高级的RNN模型(例如LSTM和GRU)可以具有更长的记忆能力。但是,实践发现随着给定顺序中数据元素之间距离的增加,这种长期记忆能力仍然会变得模糊。
[0007]本专利拟解决此前方法或系统存在的两点技术缺陷。

技术实现思路

[0008]本专利技术的目的在于设计并实现一种“云”平台上加密TLS应用流量分类方法及系统,使得其在对“云”平台上加密TLS应用流量分类过程中,可以为不同种类的应用产生的TLS网络数据流构建鲁棒的特征表达,进而以实现高准确率、高效率的加密TLS应用流量分类。
[0009]为实现上述目的,本专利技术采用的技术方案如下:
[0010]一种云平台上加密TLS应用流量分类方法,其特征在于,包括训练阶段和分类阶段;
[0011]所述训练阶段包括如下步骤:
[0012]1)以已知所属类型的加密TLS应用流量为输入,将每条流量转换为格式化的报文
长度值序列;
[0013]2)以步骤1)得到的报文长度值序列作为输入,形成训练数据集,采用有监督学习的方式,构建加密TLS应用流量分类模型;
[0014]所述分类阶段包括如本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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)中分支个数相同的1...

【专利技术属性】
技术研发人员:王一鹏云晓春赖英旭
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1