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

鲁宁  等:联盟模式下高效单包溯源方法研究                                                            3899


                                o
          RAT TIST  =  o i= 1 (1 p− ∏  ) =  (1 p−  ) .综上所述,已知 p=(1−e nk/m k
                                                      ) ,其中,n 为插入布鲁姆过滤器的成员前缀数量,k 为哈
         希函数数量,m 为存储容量.鉴于 k,m 通常是定值,可推出 RAT TIST 与 n 成反比.在联盟构建初期,成员前缀数量较
         少,RAT TIST 较高;随着联盟规模增大,RAT TIST 会增大.
         3.1.2    链路指纹建立
             a.  指纹存储开销(SFE)
             为了建立链路指纹,溯源路由器单位时间内所记录的链路指纹信息数量,可记为 SFE.HIT 通过隔跳记录 IP
         包来建立链路指纹.假设单位时间内到达溯源路由器 R i 的 IP 包为 n,那么 SFE HIT ≈n/2.SEE 通过记录 Stub 域内溯
         源路径片段来建立链路指纹.假设单位时间内经过 R i 的溯源路径为 s,那么 SFE SEE ≈s.鉴于作者在之前研究中已
         统计出 s≤256,而每个路径片段又与最大长度为 256 的子表外联,因此 STE SEE ≤0.2MB                [12] .与 SEE 相似,TIST 也
         是采用基于溯源路径的记录方式来建立链路指纹.不过,为了实现联盟内溯源,TIST 只需要溯源路由器记录指
         向联盟成员的链路指纹.考虑到 Stub 域通常只设置一个流向外域的边界路由器,而且 TIST 在建立域内溯源网络
         时使用前缀聚合,因此 SFE TIST ≤SFE SEE .综上所述,在发生高速匿名攻击时,可推出 SFE TIST ≤SFE SEE <<SFE HIT .
             b.  指纹处理开销(PFE)
             溯源路由器在执行链路指纹建立函数时所花费的时间,可记为 PFE.它除了影响溯源路由器的分组转发速
         率,还会影响网络时延.HIT 使用布鲁姆过滤器来存储 IP 包特征,当 IP 包到达后,溯源路由器 R i 依据包头标记信
         息来决定是执行哈希计算还是包标记:前者属于轻量操作,在多核条件下花费时间为 o(1);相对于前者,后者更耗
         时,记为 o(s),也就是说,PFE HIT ≤o(s).SEE 使用表结构来记录链路指纹信息,当 IP 包到达后,R i 首先以包头标记信
         息作为匹配条件来查询溯源转发表,然后执行包标记,若使用软件来实现表结构,那么表查询开销为 o(m/2),其
         中,m 为表项数量;若使用硬件来实现表结构,那么表查询开销为 o(1).基于此,PFE SEE ≤o(m/2)+o(s).TIST 采用与
         SEE 相似的存储结构,所不同的是,TIST 只需对溯源分组执行表查询和包标记.任给到达包,假设它成为溯源分
         组概率为 p≤1,PFE TIST =p×PFE SEE .综上所述,因联盟构建初期成员数量较少,故 PFE HIT ≤PFE TIST <<PFE SEE ;随着
         成员增多,PFE TIST 会逐渐增大,直到所有域加入联盟,PFE TIST ≈PFE SEE .
         3.1.3    攻击路径回溯
             a.  路径回溯开销(CPC)
             TIST 为重构一条攻击路径所耗费的时间,可记为 CPC.它取决于链路指纹提取时间 TTX 和溯源路由器访问
         数量 n,可记为 PC=n×TTX.就 HIT 来说,为了完成溯源任务,它需要沿着路由路径反向逐跳访问路由器.假设路由
         路径平均长度为 n,那么 CPC HIT =n×TTX HIT .已知域间路径 n 1 和域内路径 n 2 共同组成了路由路径,即 n=n 1 +n 2 .鉴
         于 SEE 采用与 TIST 相似的跨域溯源架构,CPC TIST =CPC SEE .就 TIST 来说,它只需访问一次联盟注册服务器就能
         确定攻击域,然后回溯攻击域内路径就可识别出入口路由器.基于此,CPC TIST =n 2 ×TTX TIST .链路指纹提取时间
         TTX 是指溯源路由器 R i 在收到溯源请求后,执行链路指纹提取函数所花费的时间.HIT 通过查询布鲁姆过滤器
         来判定 R i 是否位于攻击路径之上.在多核条件下,TTX HIT =o(1);SEE 通过查询溯源转发表来确定上一跳,若该表
         是基于软件的,那么 TTX SEE =o(m/2),其中,m 为表项数量;若是基于硬件的,那么 TTX SEE =o(1).只要能严格禁止非成
         员域发起溯源请求,那么 TIST 的链路指纹提取函数与 SEE 完全相同,TTX TIST =o(m/2)或 o(1).因此,TTX HIT ≤
         TTX TIST =TTX SEE .不过,鉴于溯源任务发起不频繁,TTX 不会对路由器性能产生较大影响.也就是说,虽然 TTE HIT ≤
         TTE TIST ,但是考虑到溯源请求发送操作要远比链路指纹查询操作耗时,n 成为决定 PC 的因素.综上所述,当域内
         路径长度远小于路由路径时,即 n 2 <<n,CPC TIST =CPC SEE ≤CPC HIT ;当 n 2 =n,CPC HIT ≤CPC SEE =CPC TIST .
             b.  路径回溯精度(TA)
             路径回溯精度是指溯源系统准确、完整回溯一条攻击路径的概率.一般来说,溯源误报率和漏报率都会影
         响溯源精度,前者使得系统重构出错误的攻击路径,后者使得系统重构出不完整的攻击路径.就 HIT 方法来说,
         它采用布鲁姆过滤器来记录压缩后的链路指纹,通常不会产生漏报率,但会生成误报率.给定攻击路径 x 0 P R x k =
         x 0 x 1 …x k ,任给节点 x i ∈P R ,假设它的误报率为 p i =(1−e nk/m k       HIT  =  k i= 0 (1 p− ∏  i ) ,其中,n 为到达
                                                     ) ,HIT 的溯源精度为 TA
         x i 的 IP 包数量,k 为哈希函数数量,m 为 x i 中布鲁姆过滤器的存储容量.就 SEE 方法来说,它不需要使用压缩链路
   228   229   230   231   232   233   234   235   236   237   238