Page 222 - 《软件学报》2020年第12期
P. 222

3888                                Journal of Software  软件学报 Vol.31, No.12, December 2020

         路指纹建立.接下来,我们分别阐述它们的基本原理.
             1)   当 IP 分组 p 到达溯源网络 AS 1 的入口路由器,该路由器首先通过面向 AS 6 的分组识别器对 p 进行溯
                 源分组判定,依据判定结果,设置溯源标记位 TF.本文通过重载 IPv4 协议闲置的预留位来充当溯源标
                 记位.如果 p 属于溯源分组,那么将 TF 设置为 1,且为 p 建立链路指纹;反之,则将 TF 设置为 0.后续溯
                 源路由器通过提取 TF 值来判定是否为 p 建立链路指纹:如果 TF=1,则建立;反之,直接转发.这种方法
                 有效避免了过量建立链路指纹和重复识别溯源分组而带来的庞大开销.若 AS 6 检测出 p 为攻击包,首
                 先通过域间回溯(具体过程在下一段描述)判定攻击域为 AS 1 ,然后向 AS 1 发起溯源请求.AS 1 接收请求
                 后,首先判断该请求是否来自成员域 AS 6 :若是,就向域内溯源路由器提取链路指纹,重构攻击路径;反
                 之,拒绝溯源请求;
             2)   当 IP 分组 p 到达溯源网络 AS 1 的边界路由器,该路由器将 p 的源地址、目的地址与边界路由器所配
                 置的对等过滤规则按顺序一一匹配,依据匹配结果,判定之后的过滤操作.例如,已知边界路由器 R 1 所
                 配置的面向联盟成员的对等过滤规则为:1) permit 198.3.0.0/18 any;2) deny any 198.1.0.0/24;3) permit
                 any any.p 的规则匹配过程可描述为:1)  如果 p 的源地址包含于网络前缀 198.3.0.0/18,那么直接转发,
                 否则转向下一条规则;2)  如果 p 的目的地址包含于网络前缀 198.1.0.0/24,那么直接过滤,否则转向下
                 一条规则;3)  直接将 p 进行转发.上述过程可简述为:R 1 只过滤源地址不属于 AS 1 前缀、目的地址属于
                 成员域 AS 2 前缀的 IP 分组,而将剩余分组(无论真实还是匿名)直接转发.若 AS 6 检测出 p 为攻击包,首
                 先判断 p 内源地址是否包含于成员域 AS 1 :若是,向成员域 AS 1 发起回溯请求;反之,溯源任务停止.

            permit   198.3.0.0/18   any                                 permit   198.1.1.0/24  any
            deny      any                198.1.1.0/24  Stub域边界路由器  域内溯源路由器  deny      any               198.3.0.0/18
            permit   any                 any                            permit   any                any
                   访问控       网络                  域间溯源网络                   网络      访问控
              真实   制列表     IP 接口                                          接口  IP  制列表    真实
              分组          分组                                                 分组          分组
            基于对等过滤的域间链路指纹建立                                            基于对等过滤的域间链路指纹建立
                       1位                                                      1位
                     溯源标记=1                                                  溯源标记=1
                       重载              域内溯源网络             域内溯源网络               重载
             包头  目标地址 RF   其他字段       AS 1(198.1.1.0/24)  AS 6(198.3.0.0/18)  目标地址 RF  其他字段 包头
               溯源分组                                                                  溯源分组
             查找成员列表      IP分组  网络                                         网络  IP分组  查找成员列表
             提取目的地址          接口                                           接口       提取目的地址
             溯源分组识别器                                                               溯源分组识别器
            基于IP流标记的域内链路指纹建立       攻击者         攻击者    受害者         攻击者 基于IP流标记的域内链路指纹建立
           Fig.3    Link fingerprint establishment using IP stream marking and mutual egress filtering (network from Fig.2)
                         图 3   融合 IP 流标记和对等过滤的链路指纹建立(溯源网络源于图 2)

         2.2.1    基于 IP 流标记的域内链路指纹建立
             域内攻击路径难以回溯的主要原因在于传统网络的无状态性,因此,若想重构路径,就需要在溯源路由器上
         记录少量指纹信息.进一步分析,鉴于溯源路径是由虚拟链路按序连接而成,若能为每个虚拟链路进行编码,那
         么只需上游溯源节点将下游链路编码写入转发分组的包头字段,下游溯源节点把该分组所携带信息看作链路
         指纹进行记录,就能完成反向虚拟链路识别工作.然而,同一链路可能承载多条 IP 流(本文将在同一溯源路径上
         传播的所有 IP 分组称为 IP 流),仅记录链路编码而不记录流特征,将无法完成面向 IP 流的链路溯源.为此,引入
         MPLS 网络的标签概念,要求溯源路由器为同宿但不同源的 IP 流独立分配不同标签,用[标签+目的地址]的 IP 流
         特征组合代替传统的[源地址+目的地址]组合.也就是说:对于某一溯源路由器来说,它的 IP 到达流要么携带不
         同的目的地址,要么携带不同的入标签.针对目的地址不同的 IP 流,该溯源路由器可分配任意出标签(相同亦可);
   217   218   219   220   221   222   223   224   225   226   227