Page 425 - 《软件学报》2025年第8期
P. 425
3848 软件学报 2025 年第 36 卷第 8 期
方式能够显著地提高 DDoS 攻击检测效率, 更适用于高性能网络. 我们使用 DDoS 攻击检测延时对不同的 DDoS
部署方法的检测性能进行评估. 我们将 DDoS 攻击检测延时定义为在单次 DDoS 攻击中, 网络中第 1 个包含
DDoS 攻击数据包的观察窗口出现至 DDoS 攻击防御机制部署到数据面的时间. DDoS 攻击检测延时的值越低, 说
明检测机制的检测性能越高.
5.4 对比实验方法
本文中重点关注能够完全部署于可编程数据平面上的 DDoS 攻击检测与防御机制. 在实验中, 本文所设计的
机制将与现有的研究工作进行比较. 选取的对比机制包括 Jaqen [10] 和 Euclid [11] . 同时, 为了评价可编程数据面部署
的优势, 我们使用传统的检测方法进行流量采集, 即将所有数据包的头部信息采集至控制面或远程服务器, 并在控
制面上使用本文所提出的检测机制进行 DDoS 攻击检测. 这 4 种方法的对比如表 3 所示.
表 3 DDoS 攻击检测与防御机制对比
是否可以在Tofino 是否无须针对特定 是否数据平面无须
名称 DDoS检测机制部署方式
交换机中实现 攻击类型进行配置 与控制平面交互
本文机制 是 是 是 可编程数据面
Jaqen 是 否 否 可编程数据面 + 控制面查询接口
Euclid 否 是 是 可编程数据面 (BMv2模拟)
流量采集 否 是 否 控制面程序
其中, Jaqen 在可编程交换机中利用 Sketch 与计数器等方法收集网络中流量的信息并上报至控制平面. 同
时, 在控制平面和前端页面中为用户提供了多种可用的原语, 从而在交换机上部署不同的测量任务. 通过不同
原语的组合使用可以实现对多种类型 DDoS 攻击的检测与防御. 针对本文中所需的实验, 使用 Jaqen 提供的原
语实现了 4 种基于阈值的 DDoS 攻击检测机制, 所检测的 DDoS 攻击类型分别为 TCP SYN 洪泛攻击、UDP 洪
泛攻击、DNS 反射放大攻击和 ICMP 洪泛攻击. Jaqen 需要预先根据所需检测的 DDoS 攻击类型, 使用不同的
控制原语.
Euclid 能够完全在数据平面实现细粒度、低开销、低延迟的 DDoS 攻击检测和防御. Euclid 单独考虑源目 IP
地址熵的变化情况, 并利用基于指数加权移动平均 (EWMA) 的自适应阈值实现 DDoS 攻击检测, 在受到 DDoS 攻
击时将会过滤攻击数据包. 由于检测算法操作复杂且缺乏针对真实可编程交换机硬件的部署技术, Euclid 仅能部
署于虚拟可编程软件交换机 BMv2 上, 无法在真实的可编程交换机环境中部署.
在流量采集方法中, 本文将通过交换机的数据包的头部信息全部采集至控制面, 并在控制面使用第 3 节中所
提出的检测机制进行 DDoS 攻击检测. 在这一对比方法中, 检测机制在控制平面通过高级语言实现, 不再受到可编
程交换机计算及存储资源的限制, 但在流量采集过程中引入了额外的通信开销与检测延迟.
5.5 DDoS 攻击检测结果与分析
5.5.1 总体检测结果
为了评估本文所设计的 DDoS 攻击检测与防御机制的有效性, 使用第 5.1 节中所述的数据集进行实验, 并与
文献 [10,11] 中所提出的 Jaqen 机制和 Euclid 机制进行对比. 图 16 所示为网络流量在熵值上的变化, 其中展示的
结果为可编程交换机中的计算值, 即实际熵值的 10 000 倍. 图 16(a) 为 TCP-SYN 洪泛攻击下对应的源目地址熵值
变化, 在这一组数据中, DDoS 攻击将分为 4 轮, 依次在观察窗口的第 194–234 号、第 378–425 号、第 557–596 号、
第 744–789 号出现. 该网络中的背景流量变化速度较快, 且熵值前后波动较大, 在第 100 号观察窗口中的背景流量
的分布产生突变. 此类突变会显著地影响部分基于单个熵值阈值进行判别的算法, 例如对比算法 Euclid 在这一数
据集中会将背景流量熵值的正常波动误报为 DDoS 攻击. 图 16(b) 为 UDP 洪泛攻击部分的网络流量在熵值上的
变化, 在这一数据集中, DDoS 攻击依次在观察窗口的第 105–136 号、第 254–294 号、第 424–471 号、第
602–652 号出现. 在 DDoS 攻击期间, 源目地址的熵值产生了明显的差异, 并且能够观察到源地址熵的激增以及目

