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                 机制认为目的地址
   423   424   425   426   427   428   429   430   431   432   433