Page 424 - 《软件学报》2025年第8期
P. 424
武文浩 等: 可编程数据平面 DDoS 检测与防御机制 3847
据中, DDoS 攻击源将分 4 次对目标主机进行攻击, 且 4 次攻击中的攻击速率分别为每秒 1 000、1 500、2 000 和
2 500 个数据包. 被攻击者的 IP 地址为 10.50.199.86, 通过数据包的目的 IP 地址可以区分攻击数据包和合法数据
包. TCP-SYN 洪泛攻击和 UDP 洪泛攻击数据集各有 4 个攻击周期. 并且 4 次攻击的强度依次增大. 其中, TCP-
SYN 洪泛攻击的攻击数据包约占对应时期总数据包的 4.88%–9.77%, UDP 洪泛攻击数据包约占对应时期总数据
包的 12.16%–18.76%.
本文基于 BOUN DDoS 数据集中 UDP 洪泛攻击数据集的背景流量, 进一步使用 DNS 反射放大攻击和 ICMP
洪泛攻击拓展数据集中包含的 DDoS 攻击方式. 我们将原有数据集中的 UDP 洪泛攻击流量全部剔除, 并在对应时
刻以不同比例向背景流量中混合入 DNS 反射放大攻击流量与 ICMP 洪泛攻击流量. 其中, DNS 反射放大攻击数
据包约占对应时期总数据包的 6.25%–12.5%, ICMP 洪泛攻击数据包约占对应时期总数据包的 2.5%–12.5%. 如表 2
所示为 4 组 DDoS 攻击的详细数据.
表 2 DDoS 攻击数据集
数据集分组 攻击轮次 攻击开始序号 攻击结束序号 攻击数据包数量 数据包总量 攻击流量占比
1 1945608 2335362 19 035 389 781 0.048 8
2 3784781 4240070 27 121 455 289 0.059 6
TCP-SYN洪泛攻击
3 5571097 5959329 35 936 388 232 0.092 6
4 7440584 7885602 43 465 445 018 0.097 7
1 1048852 1354950 37 216 306 098 0.121 6
2 2539197 2931244 55 029 392 065 0.140 4
UDP洪泛攻击
3 4234356 4702829 75 023 468 473 0.160 1
4 6015917 6513625 93 378 497 708 0.187 6
1 1040001 1379985 21 249 339 984 0.062 5
2 2510001 2959997 37 499 449 996 0.083 3
DNS反射放大攻击
3 4250001 4749991 49 999 499 990 0.100 0
4 6030001 6539993 63 749 509 990 0.125 0
1 1040001 1379961 8 501 339 960 0.025 0
2 2510001 2959989 22 499 449 988 0.050 0
ICMP洪泛攻击
3 4250001 4749991 49 999 499 990 0.100 0
4 6030001 6539993 63 751 509 990 0.125 0
5.3 评价指标
本文所提出的 DDoS 攻击检测机制能够有效地在可编程交换机计算与存储能力限制实现准确的 DDoS 攻击
检测与防御. 针对本文所提出的方法, 将从 DDoS 攻击检测有效性和检测效率两个方面设计对应的评价指标.
(1) DDoS 检测准确性
DDoS 攻击检测与防御机制中观察窗口的攻击检测和数据包的过滤问题都可以视为一个二分类问题, 根据
数据包的实际情况以及检测值, 将会产生真阳性 (true positive, TP)、假阳性 (false positive, FP)、真阴性 (true
negative, TN)、假阴性 (false negative, FN) 这 4 种情况. 本文中使用精确率 (Precision)、召回率 (Recall) 和 F1 值评
价 DDoS 攻击检测算法的有效性. 其中, 精确率表示被预测为 DDoS 攻击的样本中真实发生 DDoS 攻击的样本占
比. 这一指标的值越高, 说明 DDoS 攻击检测中被误报为 DDoS 攻击的安全流量越少. 召回率表示全部 DDoS 攻击
的样本中被检测为 DDoS 攻击的样本占比. F1 值综合反映了这两项指标的大小. 以上 3 项指标的计算方法如公式
(10) 所示.
Precision = TP/(TP+ FP)
Recall = TP/(TP+ FN) (10)
F1 = 2· Precision·Recall/(Precision+Recall)
(2) DDoS 检测性能
相比于原有的部署方式, 本文所提机制能够将 DDoS 攻击检测机制完全的部署于可编程数据面上. 这一部署

