Page 473 - 《软件学报》2026年第1期
P. 473

470                                                        软件学报  2026  年第  37  卷第  1  期


                 的路由, 但发布    maxLength  为  24  的  ROA:
                                                     45.110.0.0/20-24, AS 999.
                    发布  Loose ROA  的  AS  会面临伪造起源子前缀劫持攻击的威胁, 即攻击者可假装邻居伪造                 AS 999 未宣告的/24
                 前缀的虚假    BGP  路由:
                                               45.110.2.0/24, AS_PATH: 攻击者-AS 999.
                    该  BGP  路由的  RPKI 起源验证结果为       valid, 且由于最长前缀匹配机制, AS        会优先选择虚假路由而不是
                 45.110.0.0/20  的真实路由, 因此所有访问    45.110.2.0/24  的流量都会被攻击者劫持. Gilad  等人的测量发现互联网中
                 约  30%  的  IP  前缀被  Loose ROA  覆盖.
                    同年, Gilad  等人  [46] 提出  AS  应该避免使用  maxLength  的部署建议, 因为使用    maxLength  可能会使发布的
                 ROA  不是  minimal ROA [51] . minimal ROA  中只包含  BGP  宣告的  IP  前缀, 因此不会受到伪造起源子前缀劫持攻击
                 的威胁. Gilad  等人在  2017  年  6  月  1  日的测量发现  ROA  中有  4 630  个前缀  (约  12%) 的  maxLength  长于前缀长度,
                 其中  84%  的前缀的  ROA  都是非  minimal ROA, 会受到伪造起源劫持攻击的影响. Gilad        等人对   maxLength  的使用
                 建议已作为最佳实践写入         RPKI 标准化文档    [52] .
                    (3) 互联网号码资源授权冲突
                    Zou  等人  [53] 定义并测量了  RPKI 中的互联网号码资源授权冲突. 互联网号码资源拥有者可对                   IP  地址前缀进
                 行  3  种操作: 1) 自己使用; 2) 作为保留地址; 3) 分配给客户. 在      RPKI 中对应   3  种数据对象签发行为: 1) 为     IP  地址
                 前缀发布   ROA; 2) 为  IP  地址前缀发布  AS 0 ROA; 3) 为客户签发   RC. 互联网号码资源拥有者对不属于自己的              IP
                 地址前缀进行操作或者对同一           IP  地址前缀同时进行多种操作就会造成互联网号码资源授权冲突. Zou                    等人定义
                 了  6  类资源分配或授权冲突      (如表  3  所示), 并采集了  2020  年  4  月  14  日的  RPKI 数据进行互联网号码资源冲突测
                 量. 测量发现   2  起  B  类冲突, 5  起  C  类冲突, 4  起  E  类冲突. 测量还发现了  248  起潜在的  D  类冲突, 但无法判断是
                 实际互联网号码资源冲突还是互联网号码资源转移后上级                    CA  未及时撤销已发布的       ROA.

                                         表 3 互联网号码资源授权冲突类型与测量结果               [53]

                             冲突类型                                 冲突原因                       测量结果 (起)
                           A类: 非法分配                      CA分配了不属于自己的资源给客户                        -
                         B类: 根CA重复分配             信任锚 (trust anchor, TA) CA分配了相同的资源给多个客户          2
                        C类: 中间CA重复分配                  非信任锚CA分配了相同的资源给多个客户                        5
                      D类: ROA (AS≠0) 与证书冲突                 CA将使用的资源分配给客户                      248 (潜在)
                   E类: ROA (AS=0) 与 ROA (AS≠0) 冲突          CA对保留的资源发布了ROA                        4
                      F类: 证书与ROA (AS=0) 冲突                CA将保留的资源分配给了客户                         -

                    表  4 总结了近年来数据质量测量工作. ROA         数据质量问题是现有       RPKI 体系无法解决的, 因为      RPKI 不保证  ROA
                 配置的正确性. 由于人为失误难以避免, 因此            ROA  数据质量问题难以根治, 目前可考虑以下几种减少影响的措施.


                                                 表 4 ROA  数据质量测量总结

                       测量目标           文献          测量时间                          测量结果
                                       [47]     2018年2–5月          超过60%的invalid路由由于ROA配置错误导致
                                                             (1) 超过90%前缀过长invalid路由是由于ROA未设置maxLength
                  ROA与实际路由不一致          [42]     2011–2019年
                                                              (2) 部分起源AS不符的invalid路由是由于ROA配置错误导致
                                      [48,49]    2019年1月           ROA配置错误导致138个路由被验证为invalid
                                       [50]       2017年                约30%的IP前缀被Loose ROA覆盖
                 ROA maxLength设置过长                            ROA中有4 630个前缀的maxLength长于前缀长度, 其中84%的
                                       [46]     2017年6月1日
                                                                        前缀的ROA都是非minimal ROA
                                                              发现11起互联网号码资源授权冲突, 248起潜在互联网号码资
                 互联网号码资源授权冲突           [53]     2020年4月14日
                                                                               源授权冲突
   468   469   470   471   472   473   474   475   476   477   478