加密流量研究现状
于2021.11.25新开的专栏,深度学习专栏也会继续更新,主要是作为自己的学习笔记,不喜勿喷哈哈
1.研究背景
随着互联网的发展,全球IP流量早已超过了ZB阈值,与此同时,人们的隐私意识也正在提高,因此现如今的大部分流量都是加密流量。
加密流量其实是一把双刃剑,保护了隐私的同时,也为隐藏恶意流量提供了温床。
2.研究意义
2.1流量识别问题
流量识别过程中,加密流量识别与非加密流量识别存在不少差异,主要表现为:
- 部分非加密算法很难适用于加密流量,如DPI算法
- 加密协议常伴随着流量伪装技术,把流量特征伪装成常见应用的流量特征
- 加密协议的加密方式不同导致特点不同,需要特事特办,最后采用多种方法集成
- 当前的加密流量识别主要集中在特定应用,比较粗糙
- 而已流量常采用加密技术来隐藏,给网络安全带来巨大挑战
- 流量分析和网络管理需要精细化分类加密流量。如公司不允许上班摸鱼,需要知道员工的流量是否在看视频。
- 加密流量识别需要时效性。
- 加密通道严重威胁信息安全。
2.2加密流量识别问题的主要挑战
-
精细化分类是一个艰巨的任务。
-
数据多样导致模型对新数据的识别精度下降。
3.评价指标
3.1不同维度
- 实时性
- 准确性
- 计算复杂性
- 方向性
- 兼容性
- 稳健性
3.2常见机器学习的评价维度
- 精确度(判定为正样本的样本为正的概率)
p r e c i s i o n = T P i / ( T P i + F P i ) precision = TP_i/(TP_i+FP_i) precision=TPi/(TPi+FPi) - 召回率(正样本标记正确率)
r e c a l l = T P i / ( T P i + F N i ) recall = TP_i/(TP_i+FN_i) recall=TPi/(TPi+FNi) - 准确率(所有样本标对的比率)
a c c = ∑ i = 1 m ( T P i + T N i ) / ∑ i = 1 m ( T P i + T N i + F P i + F N i ) acc = \sum^m_{i=1}{(TP_i+TN_i)}/\sum_{i=1}^m{(TP_i+TN_i+FP_i+FN_i)} acc=i=1∑m(TPi+TNi)/i=1∑m(TPi+TNi+FPi+FNi) - F-measure
F = 2 ∗ p r e c i s i o n ∗ r e c a l l p r e c i s i o n + r e c a l l F = \frac{2*precision*recall}{precision+recall} F=precision+recall2∗precision∗recall - 完整性
c o m p l e t e n e s s = r e c a l l p r e c i s i o n completeness = \frac{recall}{precision} completeness=precisionrecall - 未识别率(已知流量占比)
U = t o t a l − k n o w n t o t a l U = \frac{total-known}{total} U=totaltotal−known
4.相关研究目标与内容
4.1 加密协议分析
通过对已有加密协议的分析和学习,能更好地提高网络信息传输的安全性。
网络安全加密协议按照网络层次划分,可分为链路层安全协议、网络层安全协议、传输层安全协议和应用层安全协议。
- IPSec是网络层隧道加密协议,由IETF(互联网工程任务组)制定,应用在IP层之上网络数据安全的一整套体系结构,它包括报文首部认证协议AH,封装安全载荷协议ESP,互联网间密钥交换协议IKE和一些用于网络认证及加密的算法等。
- TLS是建立在传输层TCP协议之上的加密协议,前身是SSL,实现了将应用层报文进行加密后再交由TCP进行传输的功能。
- HTTPS安全超文本传输协议是位于应用层的安全加密协议,使用TLS或SSL进行加密,因此又被称为HTTP over TLS/SSL。
- QUIC是Google制定的一种基于UDP的低时延的传输层加密协议,融合了TCP、TLS、HTTP/2.0等协议的特性,时延低且能多路复用。
不同的加密协议封装格式和报文交换流程有很大差别,单都包含了身份认证、密钥协商、握手连接等基本的加密协议操作过程。
4.2 加密与非加密流量识别
由于网络加密流量的比例不断提升,传统分类方法如基于端口、基于payload(有效负载)、基于主机行为等方法对网络流量分类的适用性大大降低。
由于加密流量几乎不包含任何内容可识别的模式特征,因此分类的第一步便是区分加密与非加密。
如今的主要思路是从信息熵来考虑,由于加密后的流量负载的随机性较强,信息熵大,可以将两者分开。
4.3 加密网络特征选择
好的特征选取方法能令机器学习算法如虎添翼,但如何选取是一个难题。
- 网络流变化使得特征选择结果很难保持稳定,特征属性及其数目随之改变。
- 不同的特征选择方法缺少统一的评价指标。
因此,通过多种度量来综合选取高泛化能力的特征子集不失为一个有效的解决途径。
另外,在网络流量的特征提取方面,时间维度是一个比较重要的因素。
4.4 加密流量自适应分类方法
由于网络流随着时间、地域而不断变化,已经学习好的分类器对于新样本的泛化能力会比较差,但频繁更新分类器又是费时费力的,因此需要建立起一个自适应分类器,能不断检测网络流变化,并有效更新分类器。
然而收集无标签的数据非常容易,有标签的数据则是代价昂贵,因此考虑集成学习的方式,使用多种分类器增强泛化能力。
4.5 SSL/TLS加密应用的精细化识别
很多web应用为了保障通信安全都是用SSL/TLS协议对应用数据进行加密。
针对SSL/TLS加密流可用信息有限的问题,可以使用SSL/TLS流本身特征(如支持的加密算法)、上下文特征(如DNS、HTTP流量)和流统计特征实现加密流量识别。
4.6 HTTPS加密流量识别
为了解决HTTP协议的传输安全问题,HTTPS现已成为网络中应用最多的web安全协议之一。
已有的方法是使用网络数据流的行为特征、协议相关的交互特征等进行推测和识别,另一方面也有研究者针对目前防护软件对HTTPS的拦截问题进行了相关研究。
4.7 加密视频QoE参数识别
随着视频业务越来越广泛,视频体验质量评估对ISP(互联网服务提供商)提高QoS具有重要意义。
非加密场景下基于DPI技术可以获取视频大小、可播放时长、码率等信息。
加密场景下,急需DFI解决业务识别、关联、视频码率和清晰度获取问题。
4.8 加密恶意流量识别
加密协议确实能保护隐私,单也让恶意软件能够躲避安全软件的检测。
有研究者针对加密流量提取连接记录、数据包的有效载荷、流行为等组成的高维特征来使用深度学习算法区分。
也有针对TLS/SSL流量,利用协议的握手过程中的铭文特征对恶意流量在协议参数的特征上进行分析。
或是对与加密流量相关联的明文协议同时进行分析。
5.未来研究方向
- 1基于大数据的加密流量精细化识别
- 2基于深度学习的层叠加加密流量识别
- 3基于增量集成学习的协议变化自适应分类
- 4基于区块链的伪装流量识别