粗粒度>------------------------------------------------->细粒度
是否加密>协议>应用>服务>网页>异常流量>内容参数
第二节将重点介绍
这是加密流量识别的首要任务。
Dorfinger等人提出一种加密流量实时识别放大RT-ETD
Lotfollahi提出一种基于神父学习的方法Deep Packet,将特征提取和分类阶段集成到一个系统中,不但能判断是否是加密流量,还能区分VPN和非VPN流量,网络模型为SAE(堆叠自编码器)和CNN。
加密协议识别由于各种协议封装格式不同,需要了解协议的交互过程,找出交互过程中的可用于区分不同应用的特征及规律才能总结出网络流量中各应用协议的最佳特征属性,最终为提高总体流识别的粒度和精度奠定基础。
加密协议交互过程大体可分为两个阶段
目前主流的加密协议有以下三种
一组确保IP层通信安全的协议栈,保护TCP/IP通信免遭窃听和篡改,其中包含了
详细链接(百度百科)
安全套接层协议SSL提供应用层和传输层之间的数据安全性机制,在客户端和服务器之间建立安全通道,对数据进行加密和隐藏,确保数据在传输过程中不被改变。SSL协议在应用层协议通信之前就已经完成加密算法和密钥的协商,在此之后所传送的数据都会被加密,从而保证通信的私密性。
详细链接(百度百科)
安全外壳协议是一种在不安全网络上提供安全远程登录及其他安全网络服务的协议。主要包括传输层协议、用户认证协议和连接协议。
详细链接(百度百科)
服务识别就是识别加密流量所属的应用类型,如
Maiolini利用K-means进行分类,准确率达到99.8%
基于信息熵的异常检测算法比传统的流量分析提供更细粒度的识别。
Adami提出Skype-hunter,基于签名和流统计特征相结合的策略,能识别信令任务和数据业务
指对加密应用流量从内容属性上进一步识别,如视频清晰度及图片格式等。
Khakpour提出内容参数识别方法Iustitia
通过分析数据包的有效载荷来识别流量,准确率高,但识别复杂度也高。由于解析数据包负载触犯隐私逐渐被取代。
网络应用的数据流并不是完全随机加密,由于每个分组会携带一些相同的特征字段,所以分组的这些字节可能并不是随机的,因此可以根据数据流的特定字节的随机性来识别
基于机器学习的识别方法只需处理传输层以下的内容,加密技术一般只对载荷信息进行加密而不对流量特征进行处理,该方法受加密影响小。
这种方法首先是从主机的角度来分析不同应用的行为特征,识别结果通常是粗粒度的,如P2P和Web,其次对传输层加密无能为力,最后使用网络地址转换和非对称路由等技术会因为不完整的连接信息而影响其识别精度。
实际网络环境中,为了提高用户体验,不同的应用对数据流中的数据包大小要求不同,例如流媒体的数据包不宜过大,否则网络拥塞时影响播放流畅度,文件下载的数据包可以以最大报文长度传输。
很多特定方法只对特定协议有效,因此可以将多种加密流量识别方法集成实现高效的加密流量识别。
方法 | 负载随机性 | 有效负载 | 机器学习 | 基于行为 | 数据包大小 | 混合方法 |
---|---|---|---|---|---|---|
检测内容 | 部分负载 | 全部负载 | 流统计特征 | 主机行为 | 数据包大小 | 多种特征 |
成本代价 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
识别速度 | ⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
实时性 | ⭐ | ⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
识别粒度 | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
准确性 | ⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
隧道技术常用在不安全的网络上建立安全通道,将不同协议的数据包封装在负载部分后通过隧道发送。识别隧道协议相对容易,关键在于如何识别隧道协议下承载的应用。因此加密流i昂识别需要考虑隧道技术的影响
加密流量识别就还要客服代理技术带来的影响。数据压缩代理技术可以有效减少带宽使用,但对流量识别技术产生较大的影响。
流量伪装技术(如协议混淆、流量变种)将一种流量的特征伪装成零一种流量的特征,组织基于流统计特征的识别方法的准确识别,木马蠕虫等恶意程序越来越多地采用流量伪装技术进行恶意攻击和隐蔽通信。
为了降低延迟和提高安全性,Google提出了新的协议,不久的将来,这两种协议将被广泛应用,如何识别协议下承载的应用面临新的挑战。
特征提取方向的研究非常广泛,但很少有人关注类别不均衡和概念漂移的问题。
分类HTTPS加密流量给网络带来了新的挑战。
近年来,视频QoE评估被广泛研究。卡顿和初始缓冲时延时QoE评估的关键性能指标。