分享自:

引入数据平面中的数据包级别分析以推进网络入侵检测

期刊:computer networksDOI:10.1016/j.comnet.2023.110162

研究报告:基于可编程数据平面的轻量级分布式拒绝服务攻击检测框架P4DDLE

作者与机构

本文的研究由Roberto Doriguzzi-Corin、Luis Augusto Dias Knob、Luca Mendozzi、Domenico Siracusa和Marco Savi共同完成。其中,Roberto Doriguzzi-Corin、Luis Augusto Dias Knob和Domenico Siracusa隶属于Fondazione Bruno Kessler的网络安全中心(Cybersecurity Centre);Luca Mendozzi和Marco Savi来自University of Milano-Bicocca的信息、系统与通信系(DISCo)。该研究论文发表于期刊《Computer Networks》, 文章编号为239 (2024) 110162。

学术背景

本研究主要聚焦于网络安全领域,特别是在检测和应对分布式拒绝服务攻击(DDoS攻击)中的挑战。DDoS攻击是现代通信网络中最具破坏性的问题之一。随着网络攻击事件数量和复杂性的不断增长,实施有效的检测和缓解机制显得尤为紧迫。在过去十年中,软件定义网络(SDN)的崛起以及机器学习技术在网络中的应用,为网络监控和威胁检测带来了新突破。然而,为有效检测网络流量中的威胁,机器学习算法往往需要高度精细的流量特征数据,这在传统的流量采集框架中面临诸多困难。尤其是在数据平面和控制平面间存在资源限制的情况下,流量分析和安全响应可能会因带宽瓶颈和延迟问题而受阻。

近年来,可编程数据平面(Programmable Data Planes)的出现,为解决上述问题提供了新的可能性。其中,基于P4语言的可编程交换机使得数据平面的操作能够进行高度定制化,为网络流量特征的实时提取及预处理提供了新的范式。尽管这一技术在资源利用和性能优化方面表现出色,但其使用的算法和硬件限制也带来了新的挑战。

本研究旨在设计一个框架(称为P4DDLE:P4-Empowered DDoS Detection with Deep Learning),通过在P4数据平面实现高效的分组级(Packet-level)特征提取和预处理,为层级化的分布式拒绝服务攻击检测提供支持。

工作流程和方法详细阐述

总体框架设计

P4DDLE框架分为数据平面和控制平面两部分。数据平面通过安装P4程序对网络流量的分组级特征进行提取和过滤,而控制平面负责进一步分析这些特征,并执行基于深度学习的恶意流量检测和分类。

  1. 数据平面特征提取与存储 为克服数据平面的硬件和内存限制,P4DDLE采用了有效的分组采样及存储方法。提取的特征包括分组的时间戳、长度,TCP/UDP/IP函数标志等。每个分组对应的元数据会存入数据平面的状态寄存器(Stateful Register)。

特点: - 使用了Counting Bloom Filter(计数布隆过滤器)来记录每个流中的分组数目,避免占用过多内存。 - 采用双块环形缓冲区存储技术,通过读写分离降低控制平面和数据平面间的竞争条件。

  1. 数据平面内存管理 数据平面的存储采用了两个寄存器块,分别用于数据的读写操作。这部分通过协调开关寄存器(Switch Register)的值,动态分配写操作的位置,从而防止读写竞争条件。此外,计数布隆过滤器通过哈希函数标记分组,避免重复存储。

  2. 控制平面和数据平面交互 控制平面通过远程过程调用(RPC)与数据平面进行交互,定期读取存储于数据平面的特征数据,并清除写入的数据块,以便为下一个时间窗口腾出存储空间。同时,控制平面的机器学习模型(基于卷积神经网络CNN)利用提取的分组特征,进行DDoS攻击检测。

数据集与实验设计

P4DDLE的评估实验基于CIC-DDoS2019(一个由加拿大大学提供的公开数据集),其中覆盖了13种DDoS攻击类型以及正常的合法流量。

  • 训练集和测试集的预处理:

    • 离线阶段:将攻击流量表示为固定时间窗口内的特征矩阵,采用Lucid框架的工具提取分组特征并进行归一化。
    • 测试阶段:通过Mininet模拟环境对预处理的流量注入交换机,并测试P4DDLE框架和控制平面的性能。
  • 模拟实验设计:

    • 数据平面:通过行为模型BMv2实现P4DDLE方法,使用计数布隆过滤器跟踪分组。
    • 控制平面:部署Lucid深度学习框架,用于流量分类。

研究主要结果

  1. 分组级特征提取的有效性 P4DDLE框架能够以高效的性能提取分组级特征,并高度还原流量流的语义学特征。在保持内存占用低的同时,仅提取对分类模型有用的数据。

  2. Collected Flows的提升 模拟和仿真实验显示,相比于不采用计数布隆过滤器的基线方法(Baseline),P4DDLE能够显著提高存储的流量流数量。当加入背景合法流量时,P4DDLE平均可以增加约30%的流存储。

  3. 误报和漏报率下降 与传统方法相比,P4DDLE通过高效管理和过滤分组,显著降低了DDoS流量漏报率(SFNR)以及系统整体误分类率。

  4. 性能分析 利用数据平面优化的特征存储方法,P4DDLE使控制通道的压力大幅减轻,从而提升了整个系统的响应速度和检测准确性。此外,与扩展配置(例如增加分组特征数量至100)的Lucid网络模型相比,仅提取9个分组特征的模型准确率依然维持在较高水平。

研究结论与意义

P4DDLE为现代网络安全提供了一种高效、轻量级的解决方案,在减少硬件资源和带宽需求的同时,兼具了复杂威胁检测的能力。不同于现有的流级统计方法,P4DDLE更倾向于保留分组级别特征,支持用于高级机器学习分类器的数据输入需求。这不仅提升了DDoS攻击检测的性能和准确性,更有潜力扩展到其他网络安全威胁的识别场景。此外,该框架的模块化特性和开源实现为后续研究和工业应用奠定了技术基础。

研究亮点

  1. 在数据平面中率先结合P4编程语言和计数布隆过滤器,将分组级特征提取用于网络入侵检测。
  2. 解决了数据平面硬件限制和内存竞争问题,通过自定义的寄存器管理技术避免了读写冲突。
  3. 为基于CNN的DDoS检测提供支持,并通过灵活可扩展的控制平面实现集中的网络威胁管理。

未来展望

P4DDLE的设计和实现为网络入侵检测的分布式特征提取提供了一个新的思路。未来的研究可尝试进一步优化存储策略、扩展支持的流量类型,并探索其在更高带宽和复杂环境下的性能表现。

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