Page 428 - 《软件学报》2025年第8期
P. 428
武文浩 等: 可编程数据平面 DDoS 检测与防御机制 3851
真阴性、假阳性、假阴性). 从检测结果来看, 本文所提出的检测机制在 DDoS 攻击检测中的表现相比于对比机制
均有明显提升, 在完整的 DDoS 攻击流程中, 假阳性样本与假阴性样本数量明显少于 Jaqen 与 Euclid.
真阳性样本 真阴性样本 真阳性样本 真阴性样本 真阳性样本 真阴性样本
假阳性样本 假阴性样本 1 假阳性样本 假阴性样本 1 假阳性样本 假阴性样本
DDoS 攻击检测结果 DDoS 攻击检测结果 DDoS 攻击检测结果
1
0
0 200 400 600 800 0 0 200 400 600 800 0 0 200 400 600 800
观察窗口序号 观察窗口序号 观察窗口序号
(a) Jaqen (b) Euclid (c) 本文机制
图 17 各检测机制检测结果对比
具体而言, 图 17(a) 展示了 Jaqen 机制的 UDP 洪泛攻击检测结果. Jaqen 机制基于流量阈值进行 DDoS 攻击检
测. 因此, 在 DDoS 攻击流量占比较小 (即序号为 105–136 的观察窗口及此前的观察窗口) 时, 为了保证 DDoS 攻
击检测的召回率, 较低的阈值设置会导致 Jaqen 将网络中合法的大流量错误地识别为 DDoS 攻击, 从而产生假阳
性样本. 与 Jaqen 算法相比, 本文所提出的机制在序号为 0–100 的观察窗口中能够通过熵值差的变化准确地判断
当前是否处于 DDoS 攻击状态, 有效地减少假阳性样本数量, 如图 17(c) 所示. 图 17(b) 展示了 Euclid 机制的 UDP
洪泛攻击检测结果. 作为一种基于熵值的检测机制, Euclid 在攻击流量占比较小时, 假阳性样本数量明显小于
Jaqen 机制. 而相比于本文机制, 在序号为 600 及后续的观察窗口中, 出现了大量的假阴性样本与假阳性样本. 产生
这一显现的原因是, Euclid 分别考虑源目地址熵是否产生突增或突减, 当合法的背景网络流量产生突变时, 会产生
误检与漏检现象. 图 18 进一步描述了产生这一现象的原因.
×10 4
×10 4 8
8.0
目的 IP 地址熵 7 ②
7.5 源 IP 地址熵 Euclid 熵值计算结果 6 ① 目的 IP 地址熵
熵值计算结果 7.0 5 580 4 600 620 640 660 680 700
源 IP 地址熵
6.5
观察窗口序号
×10
6.0
本文机制 1.5 源目地址熵值差
5.5 源目地址熵值差 1.0 ①
5.0 0.5 ②
0 100 200 300 400 500 600 700 800 0
观察窗口序号 580 600 620 640 660 680 700
观察窗口序号
图 18 本文机制与 Euclid 检测现象对比
图 18 展示了本文机制与 Euclid 机制具体的检测细节. 图 18(a) 为 UDP 洪泛攻击中完整熵值计算结果, 针对
其中检测错误情况出现较多的观察窗口 (序号 580–700), 在右侧展示了更加详细的熵值计算细节. Euclid 机制中分
别考虑源地址熵与目的地址熵, 当源地址熵突增或目的地址熵突降时, Euclid 判定此时发生了 DDoS 攻击; 而本文
机制计算源目地址熵值差, 并依据熵值差是否超过阈值进行 DDoS 攻击检测. Euclid 产生的误检情况主要包括:
① 因网络中背景流量波动产生的假阴性样本; ② 因网络中背景流量波动产生的假阳性样本.
在实验过程中, 从序号为 601 的观察窗口开始, 本文机制与 Euclid 均能够有效地识别网络中 DDoS 攻击状态
的变化, 具体而言, Euclid 中发现目的地址熵突降, 而本文机制中检测到源目地址熵值差突增. 在图 18 中序号①所
示的序号为 620 的观察窗口中, 由于网络中背景流量变化, 源目地址熵值均增大, 此时, Euclid 机制认为目的地址

