前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >加密流量识别技术

加密流量识别技术

原创
作者头像
于顾而言SASE
发布2024-03-20 09:33:10
2170
发布2024-03-20 09:33:10
举报
文章被收录于专栏:网络安全随笔网络安全随笔

流量加密大势所趋

互联网应用保持快速发展,各类应用用户规模均呈上升趋势,其中网上外卖用户增长显著,年增长率达到 64.6%。应用使用率分布发生了较大的变化,流量识别模型需要不断更新。表 1-1 描述了 2016-2017 年中国网民各类互联网应用的使用率。

不可否认的是,随着大众网络安全意识的稳步提升,对于数据保护的意识也愈加强烈。根据最新统计报告[3],截止 2017 年 2 月,半数的在线流量均被加密。对于特定类型的流量,加密甚至已成为法律的强制性要求,Gartner 预测到2021 年,83%的流量将被加密

虽然加密技术对于重视隐私的用户来说是一个福音,但 IT 团队将会面临大量不解密就无法检测的流量的挑战。面对大量涌入的流量,如果没有解密技术,IT 团队将无法查看流量内包含的信息。这意味着加密是一把双刃剑,保护隐私的同时也让不法分子有了可乘之机。加密能够像隐藏其他信息一样隐藏恶意流量,从而带来一系列蠕虫、木马和病毒。

加密流量识别什么

  1. 加密与未加密流量,识别出哪些流量属于加密的,剩余则是未加密的
  2. 识别加密流量所采用的加密协议,如 QUIC,SSL,SSH,IPSec
  3. 识别流量所属的应用程序,如Skype,Bittorrent 和 YouTube。这些应用还可以进一步精细化分类,如 Skype 可以分为即时消息,语音通话,视频通话和文件传输
  4. 识别加密流量所属的服务类型,如网页浏览,流媒体,即时通讯,网络存储
  5. 识别 HTTPS协议下的网页浏览,如 Facebook,YouTube,谷歌搜索,淘宝网,凤凰网或中国银行等
  6. 异常流量识别就是识别出 DDoS,APT,Botnet 等恶意流量
  7. 内容参数识别就是对应用流量从内容参数上进一步分类,如视频清晰度,图片格式

加密流量识别方法概览

加密流量识别的首要任务是根据应用需求确定识别对象及识别粒度,根据识别对象及粒度才能选取合适的识别方法。加密流量识别研究内容如图 2-1 所示,加密流量识别方法主要包括六类:基于负载随机性检测的方法、基于有效负载的分类方法、基于数据包分布的分类方法、基于机器学习的分类方法、基于主机行为的分类方法,以及多种策略相结合的混合方法

识别对象是指识别过程中的输入形式,包括流级、包级、主机级和会话级,识别对象中流级和包级识别对象使用最广泛,具体描述如下:

流级:主要关注流的特征及到达过程,IP 流根据传输方向可以分为单向流和双向流。单向流的分组来自同一方向;双向流包含来自两个方向的分组,该连接不一定正常结束,如流超时。有时双向流要求两主机之间从发出 SYN 包开始到第一个 FIN 包发起结束的完整连接。流级特征包括流持续时间,流字节数等。

包级:主要关注数据包的特征及到达过程,包级特征包括包大小分布,包到达时间间隔分布等。

主机级:主要关注主机间的连接模式,如与主机通信的所有流量,或与主机的某个IP 和端口通信的所有流量。主机级特征包括连接度,端口数等。

会话级:主要关注会话的特征及到达过程,如响应视频请求的数据量较大,针对一个请求会分多个会话传输,特征包括会话字节数,会话持续时间等。

加密流量识别方法

  • Deep Packet流量识别

GitHub - PrivPkt/PrivPkt: Privacy Preserving Collaborative Encrypted Network Traffic Classification (Differential Privacy, Federated Learning, Membership Inference Attack, Encrypted Traffic Classification)​github.com/PrivPkt/PrivPkt

Lotfollahi提出一种基于深度学习的方法 Deep Packet,将特征提取和分类阶段集成到一个系统中,该方法可以分类网络流量的主要类别(如FTP 和 P2P)以及识别最终用户的应用(如 BitTorrent 和 Skype),Deep Packet 不仅可以识别加密流量,还可以区分 VPN 和非 VPN 流量,应用识别的 F1-score 为 0.95,业务识别的 F1-score 为 0.97.

  • SSL应用流量识别

https://hal.inria.fr/hal-01097556/document

先通过未加密头部识别SSL,再通过前几个报文载荷部分进行训练,识别出哪些应用。

代码语言:javascript
复制
If bit2[0] = 1 and bit2[1] = 0 and bit2[2 : 15] = Size2 and Byte2[3] = 4
Connection is an SSLv2 connection
Else If Byte2[1] = 22 and Byte2[2] = 3
If Byte2[3] = 0
Connection is an SSLv3.0 connection
Else If Byte2[3] = 1
Connection is a TLS connection
Else Connection is not using SSL
Else Connection is not using SSL
  • 思科恶意流量识别

“在针对单独、加密流量的识别中,我们在恶意程序家族归类的问题上,能够达到90.3%的准确率。在5分钟窗口全部加密流量分析中,我们的准确率为93.2%(make use of all encrypted flows within a 5-minute window)。”

思科的研究人员扩展现有的异常流量检测方法提出一种新的方法,该方法不需要对加密的恶意流量进行解密就能检测到采用 TLS 连接的恶意程序。首先,分析百万级的正常流量和恶意流量中 TLS 流、DNS 流和 HTTP 流之间的差异,具体包括未加密的 TLS 握手信息、与目的 IP 地址相关的 DNS 响应信息、相同源 IP地址 5min 窗口内 HTTP 流的头部信息;然后,选取具有明显区分度的特征集来识别加密恶意流量。

http://library.usc.edu.ph/ACM/SIGSAC%202017/aisec/p35.pdf

识别TLS加密恶意流量 - bonelee - 博客园 (cnblogs.com)

  • 内容参数识别

Iustitia 的基本思路是统计特定数量的连续字节的熵,再采用机器学习方法进行识别,可以实时识别文本流,二进制流和加密流。该方法主要针对文本流熵值最低,加密流熵值最高,以及二进制流熵值处于中间的特性

  • Korczynski提出针对 Skype 流量的统计识别方法以确定通信类型(语音通话,视频会议,聊天,文件上传和下载)。采用前向选择方法选取 9 种流特征,可以有效的提高识别精度。

https://mkorczynski.com/Classifying%20Service%20Flows%20in%20the%20Encrypted%20Skype.pdf

  • P2P与Voip识别

Qin提出一种基于数据包大小分布签名的新方法,在减少数据包处理量的同时实现 P2P 和 VoIP 应用的准确识别。首先,采用双向流模型将流量包聚集成双向流,从而可以捕捉到不同终端之间的交互行为特征。然后,使用报文大小分布的签名捕获流动态性,即双向流中包的有效载荷大小分布概率。其次,针对不同应用的报文大小分布不同的特点,收集 P2P 和 VoIP 应用的报文大小分布

https://www.sciencedirect.com/science/article/pii/S0950705115000842

  • TLS识别

Korczynski提出一种采用基于马尔可夫链的随机指纹方法识别 SSL/TLS 应用。该方法采用嵌入在 SSL/TLS 头部的消息类型创建会话的统计指纹分类 SSL/TLS 应用。指纹对应于反映 SSL/TLS 会话序列的一阶马尔可夫链。采用该方法对 12 种代表性 SSL/TLS 应用进行分类,如 Twitter,Skype 和 Dropbox,取得了较好的分类精度,同时发现许多 SSL/TLS 协议实现未严格遵循 RFC 规范,而是根据效率和安全性需求设计交互过程。

https://ieeexplore.ieee.org/document/6848005

加密协议知识补充

IPSec协议抓包详解和IPSec NAT穿越报文解析 - 阿鹏2019 - 博客园 (cnblogs.com)

(16条消息) SSL协议原理详解_曹世宏的博客-CSDN博客_ssl协议

L2tp Vpn 详解 - 知乎 (zhihu.com)

SSH协议详解 - zmlctt - 博客园 (cnblogs.com)

SSH 详解 - SegmentFault 思否

MCMC(二)马尔科夫链 - 刘建平Pinard - 博客园 (cnblogs.com)

Reference

[1]潘吴斌. 加密流量精细化分类技术研究[D].东南大学,2018.

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 流量加密大势所趋
  • 加密流量识别什么
  • 加密流量识别方法概览
  • 加密流量识别方法
  • 加密协议知识补充
  • Reference
相关产品与服务
VPN 连接
VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档