原文标题:Machine Learning Classification on Traffic of Secondary Encryption原文作者:Meng Shen, Jinpeng Zhang, Siqi Chen, Yiting Liu, Liehuang Zhu原文链接:https://ieeexplore.ieee.org/document/9013272发表会议:IEEE Global Communications Conference笔记作者:宋坤书@安全学术圈主编:黄诚@安全学术圈
1、研究背景
随着SSL/TLS等加密协议的广泛应用,用户通信的安全性得到了增强,但仍可从加密流量的部分特征(如服务器名称指示,SNI)中获取信息。为进一步保护用户隐私,可以采用SSH等二次加密机制提升安全性。然而,在二次加密流量中,用户隐私泄露的程度仍不明确。传统的流量分类方法依赖于端口分析和深度包检测,但这些方法并不能在加密环境下使用,因此目前多采用基于统计特征的加密流量分类方法,例如利用数据包长度和时间序列信息进行流量分析。然而,二次加密会削弱数据包长度等统计特征的区分度,使得现有方法的有效性受到挑战。
针对二次加密流量的隐私泄露问题,本文提出了一种新的基于机器学习的网站指纹识别方法Bali。其核心思想是通过增加网站指纹的多样性来提升分类准确性。由于部分网站可能具有相似的数据包长度序列,Bali方法引入了聚类模型,以进一步增强网站指纹的区分度,从而提高流量分类的效果。
2、分类模型
本文提出的分类模型主要包括三个组件:判别性数据包提取模型、聚类模型和机器学习分类模型。其中,数据包提取模型用于筛选出具有较大区分度的数据包,聚类模型进一步增加网站指纹的多样性,最终利用机器学习模型进行分类。分类模型结构如下:
2.1 判别性数据包提取模型
加密流量中的不同数据包对分类的贡献不同。例如,[ACK]数据包的区分度较低,而特定的[SYN]、[SYN, ACK]、[FIN, ACK]等标志的数据包可能包含更多可区分的信息。因此,Bali设计了一种基于数据包方向、数据包长度和数据包类型的筛选策略,并定义了一个计算公式衡量数据包的判别贡献度。其中,是数据包在流中的出现频率,而该数据包在所有流量中的稀缺性,通过Bali方法可以筛选出贡献度较高的数据包。
2.2 基于数据包长度和时间间隔的聚类模型
由于部分网站具有相同的元素,它们的数据包序列几乎相同,仅依靠数据包长度难以区分它们。因此,本文引入了基于数据包长度和时间间隔聚类模型来增加不同网页的多样性。模型定义关键数据包为包含PUSH和ACK信息的数据包,使用客户端发出的首个关键数据包的长度和客户端请求与服务器响应之间首个关键数据包的时间间隔作为聚类特征。由于时间间隔数值较小,此处将时间间隔放大1000倍,使其与数据包长度的数量级相匹配。
为了证明这两个聚类特征的可行性,本文可视化了7个不同网站的这两个特征的数据分布,发现它们之间有明显的界线,因此可以通过聚类方法建立更具区分性的网站指纹。7个不同网站的数据分布如下:
该聚类方法基于K-Means算法,但由于无法预设合适的聚类数k,采用了一种动态选择k的策略,计算不同k值下的SSE(误差平方和),并通过SPVW、SPVP和SUS等指标评估聚类质量,最终选择最佳聚类数,提高分类的区分度。
本文使用欧氏距离衡量数据点之间的距离,并采用K-Means聚类算法获得聚类中心。为解决K-Means需要预设聚类数的问题,算法通过遍历不同的k值并重复10次聚类,以最小化代价函数(每个聚类点与其对应聚类中心的距离之和)来确定最佳聚类中心。此外,通过SPVW、SPVP和SUS等指标评估聚类质量[1],以提高聚类过程的效率和准确性。
2.3 基于机器学习的分类方法
本文使用提取的高贡献度数据包和聚类点与聚类中心之间的距离作为分类模型的输入,采用k近邻(k-NN)、支持向量机(SVM)和随机森林(RF)三种机器学习算法进行分类。
4、模型评估
本文评估了所提出的分类方法的有效性,包括分类准确性和时间开销分析,并与现有方法进行比较。
4.1 分类准确率
-
判别性数据包提取模型的效果:本文将使用Bali方法提取的数据包和原始数据包的三种不同特征输入(数据包长度、数据包长度统计特征、数据包归一化统计特征)在kNN、SVM和RF三种分类器下的表现进行对比,综合所有方法来看,判别性数据包提取模型平均可以提高4%的准确率,其中RF分类器表现最佳,准确率可以达到78.36%。不同分类方法的准确率如下:
-
聚类模型的效果:引入聚类模型可有效提升分类效果,采用聚类模型后,大部分网页的准确率和召回率都有所提高。加权平均准确率提高了9.09%,加权召回率提高了8.33%,采用聚类方法分类准确率可以达到79.86%。在去除具有相似结构的google.*网页后,分类准确率可以达到95.21%。采用聚类模型与不采用聚类模型的对比如下:
-
与现有方法对比:与现有的APPS和CUMUL方法对比发现,本文提出的Bali方法在F1-score和准确率上比CUMUL高15%、比APPS高8.38%。对比图如下:
4.2 时间开销
在训练时间方面,Bali由于需要提取数据包并进行聚类,因此训练时间最长;在测试时间方面,CUMUL的测试时间最长,而Bali由于特征维度较高,测试时间略长于APPS。不同方法的时间开销如下:
4.3 实用性讨论
本文提出的Bali方法可以有效分类大部分网站,但对于具有相似结构的网页(如 Google.*),仍存在误分类问题。但在实际应用中,相较于区分网站的不同地区版本,更有价值的是识别用户是否访问了某个网站。
5、本文贡献
-
提出了Bali方法:Bali方法可以选择具有判别性的流量数据包,以提升传统机器学习分类器的准确性。 -
引入聚类方法:通过利用首个出站关键数据包的长度和客户端请求与服务器响应之间首个关键数据包的时间间隔,进一步增强网站指纹的区分度。 -
实验验证与对比分析:在真实流量数据集上进行了实验评估,结果表明,所提出的方法在分类准确率上优于现有的最先进方法。
参考文献:
[1]M. Shen, M. Wei, L. Zhu, and M. Wang, “Classification of encrypted traffic with second-order markov chains and application attribute bigrams,” IEEE Trans. Information Forensics and Security, vol. 12, no. 8, pp. 1830–1843, 2017.
安全学术圈招募队友-ing 有兴趣加入学术圈的请联系 secdr#qq.com
专题最新征文
-
期刊征文 | 暗网抑制前沿进展 (中文核心)
-
期刊征文 | 网络攻击分析与研判 (CCF T2)
-
期刊征文 | 域名安全评估与风险预警 (CCF T2)
原文始发于微信公众号(安全学术圈):北京理工大学 | 基于机器学习的二次加密流量分类
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论