文摘

由于越来越多的各种各样的加密协议和服务网络中,应用程序的特点是非常不同的在不同的协议。然而,现有研究很少有加密的应用程序分类考虑类型的加密协议。为了实现加密应用程序的细化分类,本文提出了一个加密Two-Label分类使用CNN (ETCC)方法,它可以识别协议和应用程序。ETCC two-label分类方法分为两个阶段。第一阶段分类协议用于加密流量。第二阶段采用相应的分类器分类应用程序根据协议所使用的流量。实验结果表明,该ETCC达到97.65%的准确率在公共数据集(CICDarknet2020)。

1。介绍

根据思科的年度互联网的预测报告(1),到2023年,全球互联网用户总数将增加从39亿年的2018(51%的全球人口)到53亿(全球人口的66%),和设备连接到IP网络的数量将达到293亿,超过全球人口的三倍。随着越来越多的用户和设备连接到网络,应用程序将变得越来越多样化,和互联网通信方法将变得越来越复杂,这也使网络管理更加复杂(2]。但如果我们能确定应用程序类型的网络流量,提高网络管理水平。例如,许多应用程序占用大量网络带宽,导致其他应用程序运行异常。如果互联网服务提供商(isp)能提供不同级别的服务质量根据不同类型的应用程序中,网络资源的不公平的使用可以解决(3),而用户的互联网体验也会更好。

另一方面,为了满足用户对安全和隐私的需要,各种加密技术广泛应用于网络通信(4]。安全套接字层(SSL)、虚拟私有网络(VPN), Secure Shell (SSH),洋葱路由器(Tor)是目前最常见的加密方法(5]。但加密不仅保护了用户的隐私,也为用户带来了其他威胁。加密技术可以帮助黑客隐藏他们的恶意行为。网络管理人员需要能够及时识别加密流量,以便快速、准确地定位网络上的攻击,切断传播路径,减少用户恶意行为的危害。加密的IT团队也会引起麻烦。交通加密后的载荷将会改变。这种变化带来了额外的挑战的准确识别加密的网络协议和加密的网络应用程序,导致交通分析的复杂性和困难和网络管理6]。此外,即使它可以分类准确,很难保证实时性能。

加密无效许多早期流量分类方法,如出口分类、entropy-based分类、payload-based分类和模式matching-based分类。这是由于港口,熵,有效载荷,头与加密网络流量将会改变的6]。近年来,机器学习方法一直是最常用的分类方法加密流量。这是因为加密是有效负载,通常只和机器学习方法只关心统计特性,有效载荷的值。因此,机器学习方法被加密的影响较小。这使得基于机器学习的方法比其他方法更准确。

大多数加密应用程序分类方法是基于单一的标签。换句话说,他们直接使用分类器来确定应用程序类型的网络流量。但是在不同的加密协议,应用程序的特点也不同。加密协议主要有两个步骤,连接的初始化和加密数据的传输。连接的初始化分为初始握手,身份验证,建立共享密钥。因为不同的加密协议的加密原则是不同的,这些步骤是不同的,从而导致最终的不同表示加密流量(5]。因此,如果我们可以分类加密应用已知加密协议的基础上,我们可以得到比单标牌分类更准确的结果。

在本文中,我们提出一个加密Two-Label分类方法,称为ETCC,提高加密的应用分类的准确性。ETCC two-label分类方法分为两个阶段。这两个标签加密协议和应用程序。第一阶段分类协议用于加密流量。第二阶段采用相应的分类器分类应用程序根据协议所使用的流量。本文的贡献总结如下:(1)称为ETCC我们提出一个两阶段two-label方案,进行精炼应用分类根据使用的加密协议(2)在第二阶段的应用分类、加密流量可以选择相应的分类器根据协议类型,而不是统一使用相同的分类器(3)我们的方案可以识别协议和应用程序中,可以满足各种需求

本文的其余部分组织如下。部分2介绍了加密流量分类方法和一些multilabel分类方法。节3,提出了一种方案实现细化应用分类。一些实验和评估提出了部分4。最后,部分5总结我们的工作,提出了未来的工作。

在本节中,我们介绍一些分类方法加密流量和multilabel分类的方法。为我们研究这些作品给明亮的灵感。

在早期的研究中,常用的方法包括出口分类、entropy-based分类、matching-based payload-based分类,模式分类。在互联网发展的早期,每个应用程序都有一个固定的端口号由IANA分配(7]。因此,我们只需要检查IANA TCP / UDP知道类型的应用程序列表。然而,随着港口等技术的出现混乱和网络地址转换(NAT),出口变得不再可行方法。Entropy-based分类加密流量的方法提取几何特征之间的交通。赌场et al。8)提出一个方法来区分加密和nonencrypted交通基于熵值。他们只分析一个随机子集,而不是完整的网络流量,确保实时性能。payload-based方法可以不再分析包的内容,不能使用了9]。基于模式匹配的方法判断是否加密流量和加密协议类型通过检查消息头格式但不能进一步判断应用程序类型。总之,我们需要更先进的方法来实现加密流量分类的任务。

最常用的方法是基于机器学习。这些方法的差异反映在特征提取、模型选择和参数设置。刘等人。10)只考虑前N包在一个滑动窗口,这不仅降低了加密流量特征的维度,还减少了数据包的数量在每一个流。同样,哈桑et al。11]分析第一个64包识别Android应用程序。最后,他们国家,大多数Android应用程序可以通过TCP / IP报头标识。沈et al。12)结合认证数据包长度和第一个应用程序数据大小作为一个独特的指纹对于一个给定的应用程序,然后使用二阶马尔可夫链对加密应用程序进行分类。崔et al。13]提出SPCaps模型,它使用胶囊神经网络(CapsNet)学习加密流量的空间特性。这种模式的优点是,它同时学习功能的位置在包和包之间的秩序。Ly Vu et al。14)使用时间序列作为切入点对加密流量进行分类。他们的方法分为两个步骤。的第一步是提取行为模式基于数据包的时间序列。第二步是根据时间序列样本之间的相关性进行分类。曾庆红et al。(15想得更全面。他们的方案不仅分析空间特性,还分析时序特征和编码特征。然而,这些作品仍然忽视网络流量的意外,不能捕获复杂的非线性特性。该框架提出了(16)利用多重分形特征提取技术,可以捕获网络流量的自相似性结构在一个时间范围宽。因为它总是很难提取特征时考虑全面,王et al。17)采取了不同的方法和直接流量转化成图像,把它放到分类的模型。Lotfollahi et al。18)采用CNN和SAE分类加密流量,分别。不需要专家来提取特征和许多后来的研究提供参考。

分类介绍了一般的场景,但对于特定的场景,使用特定的方法可以更有效率。沈et al。19在Ethereum]介绍了流量分类。因为这些流量都是在相同的平台上生成的,它将更加难以区分。为此,他们研究现有的方法很容易分类和提取特点从三个方面:数据包长度、包破裂,时间序列。为了评估质量的经验(体验质量),给用户带来更好的服务,Orsolic et al。20.)提出一个叫做在YouTube视频系统。他们收集YouTube视频的体验质量和评估视频基于每个视频会话的流量特性。类似地,塔伦Mangla et al。21)评价基于http的自适应流媒体加密的QoS(已经)会话。安德森et al。22]分析TLS加密会话在商业恶意软件沙箱和两个企业网络。他们声称的选择特性对性能有很大的影响。为了监测和检测特定用户,Pierre-Olivier Brissaud et al。23]提出一个方案来监控HTTP / 2基于TLS协议通信。这个方案的目的是检测是否指定的用户执行某些操作。QUIC(快速UDP网络连接)协议是一个新的默认加密的网络通信协议,它提供了许多改进,加快HTTP通信而使其更加安全。然而,由于它是一种新型的协议,可用的数据量很小。雷et al。24)提出一个基于semisupervised学习方法,首先火车模型与大量的未标记数据,然后通过与少量的标签数据模型。网络流量分类,它大大减少了所需的带安全标签的数据。

multilabel分类的研究很少。有两种常见的方式来处理multilabel分类。multilabel分类问题转化为多个单标牌分类方法,或将multilabels集成到单个标签。Grigorios Tsoumakas et al。25]给出一个详细介绍multilabel分类和比较几种分类方法,这对我们的研究提供了很多指导。Tien Thanh阮et al。26)提出一个Bayes-based方法不仅考虑标签和功能之间的关系,还考虑标签对之间的关系。杰西读et al。27构造一个multilabel霍夫丁树分类器在树叶。此外,他们创建一个新的设置的基准预测性能和时间复杂度。Darshin Kalpesh沙et al。28)使用RNN和LSTM multilabel文本进行分类。性能明显优于逻辑回归和ExtraTrees。Ou Guangjin et al。29日]目前基于图像卷积网络multilabel zero-shot学习模式识别小说类别。大多数multilabel分类的目的是一类独立的问题。然而,纳迪亚Ghamrawi et al。30.研究高标签依赖的问题。杰西读et al。31日)也研究高标签之间的依赖关系。他们使用标签链接方法模型的关系。杨Pengcheng et al。32)作为multilabel分类任务序列生成和序列生成模型用于分类问题。实验表明,该方法可以有效地捕获标签之间的相关性。这些作品帮助我们很多。同样,在我们的论文中,提出了两级two-label方法的协议在第一阶段进行分类,然后应用程序分类在第二阶段。我们的方法的最大区别和其他multilabel分类方法,我们的方法将为第二阶段选择相应的分类器分类结果的基础上第一阶段。我们实现精细分类和two-label分类可以满足各种需求。

3所示。方法

在本节中,我们提出了一个两阶段,two-label计划分类加密应用程序,称为ETCC。我们的计划包括三个模块:预处理,首先标签,第二个标签模块。它们用于预处理数据,分类协议,分别和分类应用程序。图1介绍了细节。

3.1。预处理模块

该模块用于处理原始数据,将它们转换为格式适合分类器的输入。

首先,我们收集一些加密流量和标签协议和应用程序。

第二,我们选择和提取一些特征。流是一家集包相同的IP five-tuple{来源IP、目标IP,源端口,目的端口和协议}。因为相同的流的数据包通常是相同的加密协议和应用程序,我们在单位处理数据流。我们使用的空间特性和时间特性来区分加密流量,因为这两个特点是不易受到加密。空间特性相关的数量和大小。时间特性与时间序列特性相关。具体功能如表所示1

第三,我们使用顺序向前漂浮的选择(设定触发器)算法(33)选择最合适的功能。我们最终选择41对港口功能,协议,流持续时间、数据包的长度,流字节/秒,包/ s,流IAT, IAT,向后IAT,国旗,和活跃的时间。详细的功能如表所示1。通过这些简化的特性,我们可以得到一个分类器与更好的泛化和更快的速度。

最后,我们应用Min-Max缩放(34规范化功能来满足输入要求的监督分类器和加速模型的训练。Min-Max扩展所示的公式 在哪里 样本数据的最大值, 样本数据的最小值, 当前的样本值, 的归一化值是当前样本。

之后,特征值都映射到区间[0,1],输入第一个标签模块。

3.2。第一个标签模块

我们利用这个模块分类各种加密协议类别。首先,我们选择CNN和LSTM分类器和测试他们的表现,分别。最后,我们应用CNN,执行得更好。应用CNN的原因是部分解决4.3

2描述了CNN的体系结构。它包含的卷积,池、压平,致密层。卷积层是用于提取不同的特征输入。然而,如果连续几个卷积层使用,计算量将会非常大,和汇聚层能有效地减少计算通过将采样。接下来,平层将卷积的数据转换为一维,促进致密层连接。致密层结合地方特色到全球所有功能在最后的分类结果。

3描述了LSTM架构。输入层和输出层LSTM类似于CNN,但区别在于中间计算过程。LSTM细胞可以学习两条信息:新的输入信息和以前的记忆。这允许LSTM有效地利用历史信息,以便它可以学习长期依赖项(35]。

输入和计算后,输出层可以流分类的概率分布 我们定义 这决定了预测类别。

最后,协议类型的加密流量。我们发送这个加密应用程序流量到下一个模块。

3.3。第二个标签模块

已知的加密协议的基础上,我们利用此模块进一步分类加密应用程序n类别。

对应于加密协议获得的最后一个模块,我们准备分类器。也就是说,每个协议对应一个分类器。加密流量选择相应的分类器根据协议类型,和每个分类器只负责应用程序分类的一个特定的协议。通过对不同的协议使用不同的分类器,我们可以得到更准确的结果。

我们选择CNN和LSTM在这个模块。最后,我们应用CNN。这两个算法的性能在部分4.3

4所示。实验和评价

在本节中,我们做一些实验来评估ETCC和比较先进的方法。我们部署模型在Ubuntu 16.04操作系统,配备了NVIDIA GPU GTX 1050。

4.1。数据集描述

三个公共数据集CICDarknet2020 [36],ISCXTor2016 [37],ISCXVPN2016 [38)是用来评估ETCC。这些数据集包含四种类型的协议和5个类型的应用程序。四个协议Tor, Non-Tor VPN, Non-VPN。五个应用程序是聊天、FTP、电子邮件、音频和视频,如表所示2

CICDarknet2020是一个完整的数据集覆盖Tor交通流量和VPN。每种类型的数据的具体数量如表所示3。自从ISCXTor只有Tor交通和ISCXVPN只有VPN交通,我们混合在一起作为一个数据集,称为ISCX-Tor-VPN。为了消除错误造成数据样本选择、ISCX-Tor-VPN CICDarknet2020使用相同的样本数量。此外,我们将训练集测试集的比例与4:1。

4.2。参数设置

我们在每个阶段部署为每个分类器实验。

第一标签模块,CNN分类器和LSTM分类器的结构如图所示4。辍学层是用来丢弃神经元有一定概率防止模型过度拟合,提高泛化能力。此外,我们设置激活函数,损失函数,批量大小,并与ReLU时代,categorical_crossentropy, 32岁,分别和15。优化器,CNN分类器使用SGD, LSTM分类器使用亚当。

第二标签模块,我们有四个分类器分类加密应用程序。CNN分类器和LSTM分类器的结构如图5。其他参数是一样的最后一个模块。

4.3。结果与讨论

在本节中,我们分析的性能在两个数据集和比较ETCC ETCC最先进的方法。

我们第一个标签模块后评估的分类结果。图6显示了结果的混淆矩阵。行和列代表真正的类别,并预测类别。值代表一个类别的概率被分为每个类别。

从图6我们发现,在相同的模式下,结果CICDarknet2020比ISCX-Tor-VPN的结果。这是因为CICDarknet2020的数据是同一网络环境下生成的,和ISCX-Tor-VPN是一个复杂的数据集,这使得Tor Non-Tor和VPN之间的区别Non-VPN小。两个分类器的结果很明显,CNN是更好的,所以我们选择CNN作为第一阶段分类器。此外,我们还发现容易混淆类别是VPN Tor和Non-VPN Non-Tor。不难理解,之间有一些相似的特征加密流量和nonencrypted流量。

45显示第二个标签模块的实验结果的前提,第一个标签模块使用CNN分类器。准确度、精密度、召回和F1是用来评估方案。他们定义如下:

对于类别X, 是正确的数量分为X, 正确的数量分为不是x, 是错误的数量分为X,然后呢 数量错误分为不是x。

从表可以看出45,比LSTM CNN性能更好。CICDarknet2020,除了F1 Tor,其他指标CNN表现更好。除了Tor的精度,ISCX-Tor-VPN Non-VPN的精度,和Non-VPN F1,其他指标CNN表现更好。这是因为美国有线电视新闻网有一个更好的理解当地的特性,虽然LSTM可以记住一些上下文信息。在我们的数据集,一个流的类别之前和之后没有与流量的关系,所以CNN性能更好。因此,我们也选择了CNN作为第二阶段分类器;最糟糕的指标也超过91.1%。

67显示性能与第二个标签模块和CNN分类器。我们发现Non-Tor和Non-VPN分类器的分类能力比Tor和VPN分类器。这证明加密使交通分类更加困难。另一个观察是电子邮件的精度很低;这是因为电子邮件的数据集的样本大小非常小。这种现象不会发生当样本容量平衡。此外,音频和视频实现最佳分类结果。

最后,我们比较的结果CICDarknet2020, ISCX-Tor-VPN和最先进的方法39),如表所示8。的结果CICDarknet2020比ISCX-Tor-VPN要好。原因是如前所述;ISCX-Tor-VPN是一个复杂的数据集,和数据是不区分。此外,相比之下,(39),除了电子邮件的精度和召回的视频,其他指标都有所改善。总精度和召回增加1%和1.6%,分别。一般来说,我们ETCC显著提高分类精度的加密应用程序通过一个两阶段two-label方法。这证明应用程序在不同的协议有不同的特点,和分类的基础上的应用程序协议将导致更准确的结果。

5。结论和未来的工作

在本文中,为了实现加密应用程序的细化分类,我们提出一个两阶段two-label方案。第一阶段分类协议用于加密流量。第二阶段采用相应的分类器分类应用程序根据协议所使用的流量。实验结果证明我们的方案是有效的和可行的。

此外,我们讨论two-label分类。在未来我们将考虑更多的标签并提出更可行的解决方案。此外,我们的方法是基于身份的加密协议。一旦交通使用一个未知的加密协议,应用分类结果将受到影响。因此,我们将考虑未知的加密协议的使用在我们的未来的工作。

数据可用性

本文中使用的数据主要是通过网站https://www.unb.ca/cic/datasets/darknet2020.html;https://www.unb.ca/cic/datasets/tor.html;https://www.unb.ca/cic/datasets/vpn.html。所需的原始/处理数据复制这些发现也不能在这个时候作为数据共享一个正在进行的研究的一部分。

的利益冲突

作者宣称没有利益冲突有关的出版。

确认

这项研究支持部分由中国国家自然科学基金批准号下61702267,江苏规划项目博士后研究基金,支持的开放项目计划的一部分数学工程国家重点实验室和先进的计算。