分享自:

可编程交换机中基于机器学习的实时加密流量分类

期刊:NOMS 2024 - IEEE/IFIP Network Operations and Management SymposiumDOI:10.1109/noms59830.2024.10575394

Aristide Tanyi-Jong Akem(IMDEA Networks Institute and Universidad Carlos III de Madrid, Spain)、Guillaume Fraysse(Orange Innovation Networks, France)和Marco Fiore(IMDEA Networks Institute, Spain)在IEEE的《NOMS 2024 - IEEE/IFIP Network Operations and Management Symposium》期刊上发表了一篇题为“Encrypted Traffic Classification at Line Rate in Programmable Switches with Machine Learning”的文章。这项研究提出了一种在可编程交换机上以线速实现加密流量分类的方法,基于随机森林(Random Forest, RF)机器学习模型,使用P4编程语言完成实现。文章在以线速及低延迟为目标的情况下,解决了加密网络流量分类(ETC)领域的挑战,推动了实时流量分类研究。

学术背景

加密网络流量在现代网络中的比例日益增加,据统计,截至2023年9月,Google流量中超过95%已经被加密。加密流量的分类(Encrypted Traffic Classification, ETC)对于网络运营商自动执行入侵检测、服务质量预测、路由优化等任务具有重要意义。然而,现有ETC方法仍存在诸多问题:以端口为基础的分类方法不适应端口随机化,深度包检测(Deep Packet Inspection, DPI)无法处理加密后的随机比特流,同时还会带来数据隐私问题。而依赖机器学习(ML)、深度学习(DL)的模型,尽管在离线环境下表现优异,却难以在实时场景下应用。

此外,大多数现有在线ETC解决方案运行在基于CPU的软件定义网络(SDN)控制平面之上,但难以实现在数据面(Data Plane)环境中并以线速率实时分类流量。特定领域芯片(ASIC)的可编程发展带来了在交换机数据平面进行机器学习推理的新可能性,但在严格的内存、数学运算和每包操作次数限制的交换机硬件中实现ETC模型仍面临巨大挑战。

本研究旨在解决这一空白,提出在Intel Tofino等生产级可编程交换机中运行随机森林模型,以实现低延迟、高吞吐量的实时加密流量分类任务。

方法流程

本研究包括两个主要部分:离线/控制平面的模型准备以及数据平面的分类实现。以下将详细介绍两部分内容。

离线随机森林模型准备

  1. 特征提取与选取
    在离线阶段,研究从网络流量中提取两类基础特征:包大小(Packet Size)和包到达时间间隔(Inter Packet Arrival Time, IAT)。这些特征通常不受加密算法的影响。通过Python工具(如Tshark和Scapy),进一步计算流级统计量,包括包大小和IAT的最大值、最小值、总和和平均值,以及当前包大小,共9个特征被选中。

  2. 随机森林模型训练与优化
    使用Scikit-learn工具库,研究首先通过网格搜索优化了随机森林的超参数(如树的最大深度和数量)。之后将基础特征按重要性排序,通过逐步添加高重要性特征,训练出一个能够达到高分类准确率阈值的随机森林模型。最终模型通过12折交叉验证进行评估。

  3. 模型映射至交换机表项
    模型必须转换为交换机的匹配/动作(Match and Action, M/A)表项以便加载到数据平面。研究采用了Planter方案,将随机森林结构分为两类表项:特征表项和编码表项。技术细节包括对阈值的范围匹配(Range Match)和编码字的生成等。

数据平面加密流量分类

数据平面设计基于SDN架构,包括如下主要部分:

  1. 解析器(Parser)
    交换机从数据包中提取报头信息以及包大小和到达时间,形成元数据。

  2. 流量过滤器(Traffic Filter)
    通过匹配表判断流(Flow)是否属于目标加密流量域。如果流尚未分类且属于目标域,则进入后续模块。

  3. 流追踪器(Flow Tracker)
    利用哈希对流信息进行标记,存储流相关统计量至交换机内部的状态寄存器,并计算流级特征。

  4. ETC模块
    该模块执行随机森林推理,通过匹配特征表项生成编码字,然后与编码表项进行匹配以生成分类结果。分类结果直接更新到过滤器表,避免重复分类。

  5. 反解析器(Deparser)
    编码分类结果并将其发送回控制平面,用于后续统计和流量管理。

主要结果

  1. 分类准确性
    在三个用例中(加密即时通讯应用指纹分类、QUIC流量分类和VPN流量分类),该方案均取得高分类准确率:

    • NIMS IMA数据集(即时通讯)中,整体准确率为89.7%,F1加权和宏观得分分别为89.8%和90.3%,如Signal类的分类准确率高达97%。
    • NetFlow QUIC数据集中,准确率达到95.3%,如文件传输类别的准确率接近100%。
    • ISCX VPN数据集中,分类准确率为87.2%,尽管一些类别(如P2P)较具挑战性,其余类别性能仍表现出色。
  2. 资源使用
    在Edgecore Wedge100BF-QS Intel Tofino交换机上测试,基于P4 Insight工具分析表明:

    • 平均资源使用低于10%,其中TCAM资源使用为7.3%至15.3%,SRAM使用仅为4.0%-5.5%。
  3. 延迟性能
    数据包分类延迟低于400纳秒,完全满足亚微秒级别的严格延迟要求。

研究意义与价值

本研究首次在生产级可编程交换机中实现了基于随机森林的流量分类,并在精确性、吞吐量和延迟性能上达到了均衡。 该方案为未来应用机器学习进行实时加密流量分类提供了重要借鉴: - 科学意义上,提出了一种高效解决数据平面内分类任务的先进技术; - 应用意义上,为自动入侵检测、服务质量管理及路由优化铺平了道路。

研究亮点

  1. 创新性方法
    提出了完全在交换机中实现的ETC解决方案,并针对加密场景优化了随机森林设计。

  2. 高效性与实用性结合
    方案不仅实现了高分类准确率,还满足交换机硬件资源和实时性要求。

  3. 开源贡献
    作者公开了研究代码,为进一步学术和实践研究提供了基础。

未来展望

文章提及未来可进一步改进分类算法以提高准确率,并探索更复杂的分类场景(如多类流量数据集)以及完全隧道化流量下的研究,增强ETC技术的广度和深度。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com