Page 421 - 《软件学报》2025年第8期
P. 421

3844                                                       软件学报  2025  年第  36  卷第  8  期


                 被标记为疑似被攻击的        IP  地址, 并将其显示给网络管理人员. 控制平面并不参与               DDoS  攻击检测及防御过程, 这
                 使得检测机制能够彻底回避由于控制平面与数据平面交互过程产生的时延.

                                                                             哈希表


                                                                     标识位    IP




                                                   数据包类别判定模块       受攻击 IP 地址存储模块
                                        是否处于     是   源目地址计数     是      更新哈希表       丢弃数据包
                                         DDoS        值差是否超过
                                        攻击状态            阈值      否      查询哈希表       转发数据包
                                           否
                                                             出口流水线

                                                    图 11 DDoS  攻击防御


                                                          控制面
                                     配置表项                            读取结果

                                  解                   逆          解                    逆
                                                                                      解
                           PIM    析              ...  解    BRE   析               ...  析   BQE
                                  器                   析          器
                                        ...  ...      器                ...  ...       器
                                     入口流水线 (ingress)                   出口流水线 (egress)

                          地址频率统计及状态保存模块    熵值计算模块 攻击状态判定                 数据包类别判定    受攻击地址存储
                   原数据                                      桥接包头  原数据                         正常数据包
                                  Hash     熵值更新查找表  熵差计算                  攻击状态读取      哈希表
                          标识寄存器
                                            X   Y
                                  Hash                                    源目地址计数
                                                    正常状态
                           标志位轮换            X   Y   窗口计数器                  值差计算       标识位  IP  攻击数据包
                                  Hash      ...  ...
                                                    攻击状态
                           状态读取   Hash     源目地址熵更新  窗口计数器                  类别判断
                                                                                                  丢弃
                                   重提交包头    原数据
                                          图 12 DDoS  攻击检测预防与机制的数据面实现

                    数据平面中的      DDoS  检测与防御机制分别部署到可编程交换机的入口与出口流水线, 采用这一设计方式的原
                 因在于   Intel Tofino  可编程交换机单条流水线长度固定, 通过将检测与防御分开部署可实现资源物理隔离, 降低资
                 源冲突. 其中, 入口流水线包含地址频率统计及状态保存模块、熵值计算模块、攻击状态判定模块; 出口流水线包
                 含数据包类别判定及受攻击          IP  存储模块.
                    (1) 入口流水线    DDoS  攻击检测. 本文在可编程交换机入口流水线             (ingress) 中实现基于熵差的    DDoS  攻击检
                 测机制, 其主要包括地址频率统计及状态保存模块、熵值计算模块、攻击状态判定模块这                              3  个子模块. 其工作流
                 程如下. 1) 首先通过在地址频率统计及状态保存模块中维护两组基于                      Count-Min Sketch  的计数结构, 通过两组
                 Sketch  的轮换工作保存每个源目       IP  地址在当前观察窗口以及上一个安全状态的观察窗口内的出现频次. 2) 其次,
                 在熵值计算模块中根据当前窗口的计数值更新源地址熵和目的地址熵. 3) 之后, 在攻击状态判定模块判断源目地
   416   417   418   419   420   421   422   423   424   425   426