APP下载

加密流量分类的特征回放集成学习方法

2023-02-13梁翔宇张恒汝周瑶余一帆闵帆

关键词:分类器加密准确率

梁翔宇,张恒汝*,周瑶,余一帆,闵帆,2

(1.西南石油大学 计算机科学学院,四川 成都 610500;2.西南石油大学 人工智能研究院,四川 成都 610500)

0 引言

根据Netmarketshare发布的数据显示,截止到2019年10月全球使用HTTPS加密的网络流量的比例已经超过了九成。不难看出HTTPS网站加密传输协议几乎已经接近普及。而网络加密流量与未加密流量识别之间的本质区别在于,用来区分的特征因为加密而发生变化。网络流量数据因加密而发生的改变主要包括以下3个方面:①网络数据包的明文信息内容变为密文,具有不可识别性[1];②加密流量数据包的负载的统计特性(如随机性或熵)发生了改变[2];③流量加密后一些流特征发生了改变,如数据包长度、流字节数以及数据包到达的时间间隔等[3]。这些特征的稀疏化使得流量识别变得更为困难。

网络流量检测技术可以归纳为两类:传统的端口检测技术[4]与基于机器学习的分类技术[5]。端口检测技术的依据为不同种类的程序所注册的端口信息不同。然而,随着混合端口和伪装端口等技术的出现,该类方法的可靠性有所降低[6]。基于机器学习的分类模型选取的特征通常基于数据包、数据流或者会话[7-8]。虽然这类方法缓解了端口检测技术精度低的问题[9-12],却无法克服在流量表征阶段所出现的困难。

本文提出一种加密流量分类的特征回放集成学习方法,其分为三个阶段。特征提取阶段统计报文的到达平均时间间隔、最大长度等信息作为加密流量数据集的特征表示。特征回放阶段训练多个预分类器并将其相应的预测结果加入数据集以增强特征表示能力。集成学习阶段基于Stacked Generalization集成思想训练最终的决策分类器。为了检验所提方法的效果,使用思博伦公司的Cyberflood工具来构建多种类别的加密流量数据来进行实验。实验结果表明提出的方法在准确率上比常用的加密流量机器学习方法提高了近5%。

本文主要贡献包括3个方面:

1) 应用流量构造和采集:利用Cyberflood工具来构建多种类别的加密流量数据,为实验研究提供有效数据。其中流量的类别分为聊天交流、P2P、社交网络与流媒体。

2) PCAP文件的预处理和特征选择:提取单向流中的时间间隔数据和载荷量等统计信息,以此作为机器学习模型用于训练的数据集。

3) 提出了一种基于特征回放的加密流量分类的集成学习方法:以增强特征表示,从而提升机器学习分类器的准确率。

加密流量与特征提取处理后的数据集可在https://drive.google.com/file/d/11bbvxQXxlR1UE 4gZwl23PXM536EpqZi1/view?usp=sharing下载。

1 网络应用流量采集和预处理

1.1 实验环境配置

本文采用的数据来自于思博伦的Cyber⁃flood网络应用和安全测试仪[13],Cyberflood的基本配置如图1所示。测试仪可以提供不同类型的应用流量和恶意流量,其内部存储了多种类型的仿真环境。搭建该系统的基本硬件要求为:16 GB可用内存、6核的CPU、180 GB可用磁盘空间与支持ESXi 6.X的服务器/工作站。

图1 Cyberflood组网示意图Fig. 1 Cyberflood networking diagram

具体而言,分别搭建服务器和客户端并通过交换机将两者进行连接。在两者进行通信时,交换机通过端口镜像功能将流量包发送到捕获设备上[14],流量数据的存储格式为pcap包。

1.2 数据采集

为了开展不同类型应用数据流量的分类工作,本文采集了四种不同大类的应用数据流量[15]。表1展示了选用的四个类别的应用数据的来源和数量。

表1 所采集的应用流量的特点与数量Table 1 Characteristics and quantity of collected application traffic

本文从Cyberflood上选取4912条应用的流量数据,应用流量选取聊天交流、P2P、社交网络与流媒体4个类别。聊天交流流量主要是聊天网页或应用产生的实时通信流量;P2P流量通常运用在文件共享技术上,它的突出特点是持续时间长并具有非突发性;社交网络流量主要推特、微博等应用流量;流媒体[16]流量通常为实时传输影音而产生的。这四类流量在常用的统计特征可能会表现出不同的特性[17],因此如何提取适合模型的流量特征也是一项重要的工作。

1.3 特征提取

数据预处理是基于机器学习的加密流量识别方法中不可或缺的一个环节,而特征提取在数据预处理阶段尤为重要[18-20]。

传统的端口检测技术通常基于流量本身的特征来进行识别。这类技术通过抓取分析流量数据报文传输层数据特征(例如:网络五元组、数据包长度与字节分布等),结合各个网络节点呈现的连接特性,来判断数据包所属类别。该类技术的分类性能较高,扩展性较强。但是,随着混合端口和伪装端口等技术的出现,使得网络环境变得复杂,该类技术的可靠性有所下降[6]。

基于机器学习的分类技术通常基于流量的特征来进行分类。这类技术通过训练一个模型来对流量进行分类。在训练模型时,特征维度越大并不代表分类性能就会更好。特征维度过大就可能存在冗余或无用特征,这不仅会增加分类器的计算复杂度,甚至还可能会降低分类器的分类能力[21-22]。本文选择一条数据流作为一个样本,提取每条流的包间隔平均时间、包间隔最大时间、包间隔最小时间、包平均载荷、包最大载荷、包最小载荷、初始数据载荷、前20个包的平均载荷等统计特征[23-26]作为数据集原始特征。相比与流量本身的内容特征,其统计特征所包含的信息更为丰富,且无须对数据包所采用的协议进行分析与解密[27-29]。

2 基于特征回放的集成学习方法设计

2.1 特征回放

样本数量与特征维度之间的比例直接影响机器学习模型的效果。然而,加密流量数量大与特征维度小的比值关系通常使得机器学习模型在训练时发生欠拟合。因此,提出一种特征回放的方法来缓解这一问题。

如图2所示,经过特征选择后的样本作为原始数据集。基于 Stacked Generalization[30]的思想,将KNN、逻辑回归与决策树设为预分类器。与Stacked Generalization不同,这种技术单独将预分类器的预测结果作为决策分类器训练的输入,而特征回放是将预分类器的预测结果与原始特征合并,之后再用以训练决策分类器。

之所以将预分类器结果与原始特征一起用于训练决策分类器,是因为我们认为预分类器的结果是对原有特征信息有侧重的呈现,是一种有选择的信息提取,多个不同的预分类器给出的结果信息会为决策分类器提供有价值的参考意义。Stacked Generalization之所以删除原始特征,是因为这种技术通常用于处理特征维度高的数据集,过多的特征会增加计算量。而在加密流量特征维度小的情况下,删除原始特征会导致部分信息损失。

2.2 集成方法

如图2所示,整体集成框架分为两层结构。第一层结构采用KNN、逻辑回归(LG)与决策树(DR)作为预分类器。第二层结构将预分类器的预测结果并入原始数据集作为决策分类器的输入。分别尝试了将AdaBoost、Bagging与随机森林等模型设为决策分类器。此外,我们还将数据集按8∶1∶1随机划分为训练集、验证集和测试集[31],训练集用于训练模型,验证集用于调整模型的超参数,而测试集用于评估模型的最终效果。具体流程如下:

图2 特征回放与集成学习Fig. 2 Feature playback and ensemble learning

1) 训练KNN、逻辑回归与决策树作为预分类器,将其预测结果按相同的顺序进行排列;

2) 将排列好的预分类器结果加入原始数据集种,达到扩增特征维度的效果;

3) 用新数据集训练决策分类器,得到样本的最终分类器结果。

算法1描述了加密流量的特征回放集成学习方法。

3 实验结果

3.1 效果评估指标

为了评估所提方法的有效性,还需要设计对比实验来验证。在评价指标中,我们选取了精确率、召回率、准确率与F值[32-33],它们的公式如下:

1) 准确率(Accuracy):被预测正确的样本占全部样本的比例:

2) 精确率(Precision):被正确预测为正类的样本占全部被预测为正类的样本的比例:

3) 召回率(Recall):被正确预测为正类的样本占所有实际为正类的样本的比例:

4) F-Measure:表示精确率和召回率的调和平均值:

式中的基础字母的含义如表2所示,其中TP、FP、TN与FN分别代表真阳性、假阳性、真阴性与假阴性。

表2 混淆矩阵[34-36]Table 2 Confusion matrix

3.2 预分类器的训练结果

预分类器分别选择了KNN、逻辑回归与决策树。首先,用训练集来调整模型权重;其次,评估模型在验证集上的效果;最后,根据评估结果选择最优的模型超参数。关于预分类器性能与超参数之间的关系如图3所示。

图3 预分类器效果Fig. 3 Effect of pre-classifier

在训练预分类器过程中发现,KNN模型在K值较小的情况下会出现较为严重的过拟合现象,这种现象同样发生在节点深度较大时的决策树模型。此外,当迭代次数增大时,逻辑回归模型的准确率不会发生较大的波动,一直保持在一个范围之间。三个预分类器的最佳参数时的效果评价指标记录并整理为表3所示。

表3 预分类器结果Table 3 Results of pre-classifier

不难看出,在KNN、逻辑回归与决策树这三种传统机器学习模型中,分类效果最佳的为KNN,其分类正确率约为69%。KNN在准确率、召回率与F-Measure均高于另外两种模型。其次,KNN仅在精确率稍稍低于决策树(仅低了约2%)。这部分实验不仅仅评估了预分类器效果,也为后面的方法提供了对比的方法。具体而言,预分类器的效果评估也可以视为传统机器学习算法在无特征回放扩展特征维度时对加密流量的分类实验。

3.3 决策分类器的训练结果

特征回放将三种预分类器的预测结果作为新的特征值加入原有样本的特征集合后,这相当于原有特征的维度增加了三维。我们分别尝试了 AdaBoost(AB)、Bagging、KNN、J48决策树、Gradient Boosting(GB)、逻辑回归(LG)、随机森林(RF)与神经网络(两层隐藏层的ANN网络)为决策分类器。之后,分别用特征回放后的训练集和验证集调整模型的权重与超参数。

决策分类器性能与模型超参数的关系如图4所示。从图中可以看出,部分模型出现了过拟合现象,例如J48决策树随着树节点深度的增高,训练集上的精度快速上升,而测试集上的精度却有所下降。其中的原因可能为过于复杂的模型较好的拟合了训练集中的噪声与没有代表性的特征,从而导致了过拟合现象的发生。此外,图4中还存在着部分模型无法拟合的现象。例如全连接神经网络在训练完成10轮之后,其准确率不再发生过大的波动,一直维持在50%左右。其中可能存在的原因为:1)网络复杂度过低,无法很好地对数据进行拟合;2)训练数据集特征维度过低,网络无法学习到有效的信息。

图4 决策分类器效果Fig. 4 Effect of decision classifier

不同的决策分类器模型效果如图5所示。不难看出,最优的决策分类器模型为随机森林,它在四种指标上都优于其他7种模型。此外,在与之前的预分类器结果对比,它在四种指标上也是优于三种预分类器。具体而言,随机森林的准确率达到了约73.8%,比预分类器中最佳的KNN模型高出约5%。然而,全连接网络的准确率仅达到了约57%,仅高于预分类器中逻辑回归的准确率。

图5 决策分类器对比效果Fig. 5 Comparison of effect among different decision classifiers

4 总结与展望

本文针对互联网加密流量分类问题,提出了一种基于特征回放的集成学习方法,在准确率提升的基础上,开展了对该方法的有效性验证工作。首先基于Cyberflood系统构造并采集了四种不同类别类的加密流量,并提取单向流中的统计特征建立流样本的数据集合。其次,训练三种预分类器为特征回放做准备工作。最后,将经过特征回放处理后的数据集用于训练决策分类器。实验选用了多种模型作为决策分类器。结果表明所提出的方法在准确率上比最佳的传统分类器高约5%。

加密流量数据的特性让它的内容特征变得难以提取,仅仅用一些统计量特征来进行分类往往会发生分类效果较差的情况。如何去提取更多有用的特征与如何更有效的优化分类效果将成为未来加密流量分类研究工作的重心。同时,大数据大流量的情况下怎么去进行精准分类,以及在保证分类准确率的同时关注性能也是本文未来的研究工作。

猜你喜欢

分类器加密准确率
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
一种基于熵的混沌加密小波变换水印算法
高速公路车牌识别标识站准确率验证法
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
认证加密的研究进展
基于ECC加密的电子商务系统
基于格的公钥加密与证书基加密