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

张泽源 等: RPKI 测量研究综述                                                               469



                     45 000                                          60
                     40 000                               APNIC      50
                    AS 数量 (个)  30 000                     ARIN      RPKI 覆盖路由前缀比例 (%)  40
                     35 000
                     25 000
                                                          RIPE
                                                                     30
                     20 000
                                                          AFRINIC
                     15 000
                                                                     20
                     10 000
                                                          All
                     5 000                                LACNIC     10
                        0                                             0
                                                                                      2018
                          2016/1/1 2017/1/1 2018/1/1 2019/1/4 2020/1/1 2021/1/1 2022/1/1 2023/1/1 2024/1/1  2012  2014  2015  2016  2017  年份 2019  2020  2022  2023  2024
                                       日期
                               (a) 部署 RPKI 的 AS 规模变化                        (b) RPKI 的 IP 覆盖规模变化趋势
                                              图 3 RPKI 的  AS  和  IP  规模变化趋势

                  2.2   RPKI 数据质量测量
                    RPKI 数据质量直接影响着        RPKI 的可信度和声誉, 数据质量不佳也是阻碍             RPKI 发展的一个原因. 近年来有
                 许多测量工作陆续发现了         RPKI 中存在的数据质量问题, 包括如下.
                    ● ROA  与实际路由不一致: 由于人为失误、缺乏            BGP  专业知识、更新不及时等原因, 签发的            ROA  与实际路
                 由信息存在冲突, 导致路由在         RPKI 起源验证中被验证为       invalid, 其后果是部署  RPKI 过滤的   AS  会与合法目的地
                 断开连接.
                    ● ROA maxLength  设置过长: maxLength  设置过长会导致    ROA  认证前缀范围比实际路由声明前缀范围大, 容
                 易受到伪造起源子前缀劫持          (forged-origin subprefix hijack) 攻击  [46] .
                    ● 互联网号码资源授权冲突: 互联网号码资源授权冲突指资源拥有者将同一个                         IP  地址前缀或   AS  号码授权给
                 不同的   ISP, 产生资源的重复授权或者资源拥有者将不属于自己的资源授权给                     ISP.
                    (1) ROA  与实际路由不一致
                    Xu  等人  [47] 发现部分  AS  签发  ROA  时未考虑流量工程、前缀聚合失败或          IP  前缀所有权转移的情况, 导致声
                 明的路由被验证为       invalid. 但这些路由实际应该是合法的. Xu      等人提出了     6  种容易出现   ROA  配置错误的场景. 经
                 过  2018  年  2–5  月的测量, Xu  等人发现超过  60%  的  invalid  路由是由  ROA  配置错误导致, 实际应该是合法的路由.
                 此外, 他们还发现     ROA  配置错误导致的     invalid  路由都会长期存在, 与前缀劫持攻击持续时间短的特点不相符.
                    Chung  等人  [42] 探究了导致路由验证结果为       invalid  的原因. 他们发现原因之一是路由中前缀的长度超过了
                 ROA  中前缀的长度. 这类    invalid 路由的占比在   48.0%–51.5%  之间, 其中超过  90%  是因为  ROA  中未设置  maxLength
                 而非实际的前缀劫持. 另一个导致路由被验证为                 invalid  的原因是路由的起源     AS  与  ROA  中  AS  不相符, 这类
                 invalid  路由更符合前缀劫持攻击的特点. 但        Chung  等人发现其中部分     invalid  路由是  ROA  配置错误而非前缀劫持
                 导致的. 这些   ROA  配置错误包括: 1) AS   归属于同一     ISP, ISP  在两个  AS  都对同一前缀发布了路由但只对其中一
                 个  AS  发布了  ROA; 2) AS  将子前缀分配给客户, 但没有更新       ROA; 3) AS  使用了  DDoS  防护, 在不同  AS  发布了同
                 一前缀的路由, 但未及时更新         ROA. 与文献   [47] 类似, Chung  等人的测量也发现    ROA  配置错误导致的      invalid  路
                 由存在时间相对较长的特点.
                    Hlavacek  等人  [48,49] 提出了区分  ROA  配置错误和实际前缀劫持的两个分类器. 第         1  个分类器使用   invalid  路由
                 存在时间作为分类依据, 将持续时间较长的              invalid  路由分类为  ROA  配置错误导致的; 第     2  个分类器根据路由中
                 起源  AS  与前缀的相关性进行分类, 若起源         AS  与前缀存在足够高的相关性, 则判断为是            ROA  配置错误而非前缀
                 劫持, 其中相关性的证据可来自各种外部数据源, 例如                IRR  数据库、DNS  记录、whois 数据库等.
                    文献  [48,49] 对  2019  年  1  月的  89 730  起路由与  ROA  冲突进行识别并向相关运营商进行了核实, 分类器识别
                 出  132  例冲突为  ROA  配置错误引起, 其中    123  例分类正确; 33  例冲突为劫持攻击引起, 其中        18  例分类正确.
                    (2) ROA maxLength  设置过长
                    Gilad  等人  [50] 在  2017  年发现  Loose ROA  的问题. Loose ROA  指  ROA  中包含的  maxLength  长度的子前缀未
                 全部在   BGP  中宣告, 其原因在于    ROA  中  maxLength 设置过长. 例如  AS 999 仅声明  1 个/20 前缀——45.110.0.0/20
   467   468   469   470   471   472   473   474   475   476   477