摘要

  • 事件边界是狭义的:本文涵盖 2014 年 4 月 2 日约 18:26 至 21:15 UTC 观察到的 AS4761 大规模错误起源。它不包括 2011 年另一起 Indosat 事件、后续 AS4761 异常以及不相关的印度尼西亚路由事件。
  • 头条数字需要一个观察者:BGPMon 报告了 417,038 个新起源,而 RIPE NCC 描述了超过 400,000 个受影响前缀。这些测量在具名观察点确立了非凡规模。它们并不证明每个网络都安装了每条路径或通过 Indosat 转发了流量。
  • 根因仍属于归因:当时叙述描述了一次运营问题,并重复报告了失败的维护窗口或未过滤的上游。Indosat 的完整配置、变更记录、策略生成状态和内部事故报告均未公开。
  • 责任随路由控制而定:Indosat 控制 AS4761 起源和导出什么。直连邻居控制前缀、起源、关系及最大前缀过滤。其他自治系统控制接受、偏好、继续导出、监测与升级。
  • 注册机构记录权威;路由器执行可达性:ASN 和号码资源记录标识持有者和预期起源。RIS、RouteViews 等收集器保存选定的运行状态。注册条目和收集器都不会自动阻止通告。
  • 起源授权与路径策略不同:路由起源验证(Route Origin Validation)可以在相关记录和验证存在时拒绝与有效 ROA 冲突的起源。但它本身不能证明关系路径或路由量是适当的。
  • 恢复不是本地配置声明:可信的收尾应显示撤销、替换起源、在多个独立观察点收敛、残余例外、变更的策略、经过测试的最大前缀行为,以及证明同类故障现在已得到控制的回放证据。
  • 问责标准是可复现的控制:运营商应能展示授权路由集、生成并运行的策略、异常差异、第一个控制机会、行动时间线和独立的复发测试。

在解读之前冻结事件

路由问责的第一项纪律是准确界定正在审查的事件。2014 年 4 月 2 日,公开 BGP 观察者报告,与 Indosat 相关的 AS4761 开始起源异常数量的前缀,而这些前缀通常由其他自治系统起源。BGPMon 计数 417,038 个新前缀,并将可见时间间隔大致定于 18:26 至 21:15 UTC。RIPE NCC 的分析描述了超过 400,000 个受影响前缀,并使用 RIPE 路由信息服务数据和 RIPEstat 可视化重建了传播和可达性示例。[1][2]

这些观察足以确立一次重大域间路由事件。但它们不足以确立可能附加其上的每一项主张。

本文不会将 2014 年 4 月的事件与 2011 年更早的 Indosat 路由事件合并。它不会纳入后续 AS4761 异常或其他涉及印度尼西亚网络的事件。它不会从相隔数年的事件中推断出持续存在的运营缺陷。这种聚合或许能构成更大的叙事,但会削弱分配控制、衡量修正和检验复发所需的证据。

有界事件始于所引监测者在约 18:26 UTC 观察到的第一批异常 AS4761 起源。它包括它们经选定网络的传播、从特定观察点可见的可达性变化、检测与运营商沟通、异常起源的撤销,以及向预期路径状态回归。它结束于约 21:15 UTC 的最后相关观察,同时认识到不同收集器可能看到不同的开始和结束时间。

这一边界也限制了根因主张。BGPMon 将该规模描述为与运营问题一致,并提到关于失败维护窗口的报告。运营商讨论提到了未过滤的上游。[2][3] 这些是当时的描述,而非关于确切命令、路由重分发机制、策略编译器状态、批准决策或产生通告的设备行为的公开取证记录。

因此,可问责的分析始于运行网络暴露的事实:AS4761 表现为数十万前缀的起源;异常起源在源网络之外可见;部分路径和可达性发生变化;这些起源后来被撤销。它把意图、内部原因和完整补救视为未知,除非有其他证据支持。

这种区分并非为谨慎而谨慎。它创造了一个可修复的问题。诸如“一次维护错误导致全球劫持”的说法过于宽泛而无法检验。而“AS4761 导出的路由集远超出其预期授权起源,直连邻居接受了其中足够多的部分使其传播,且公开证据未显示后来阻止复发的完整控制集”这样的说法,则识别了可观察的边界和缺失的记录。

路由计数是测量结果,不是每项转发决策的地图

数字 417,038 在公开记录中居于核心,因为它传达了事件的非凡规模。它还必须与其来源和方法保持关联。BGPMon 报告该计数是与 AS4761 相关的新起源。RIPE NCC 使用了更宽泛的表述,即超过 400,000 个受影响前缀。[1][2] 这些数字足够接近,可以相互印证全表规模的异常,但两者都不应被呈现为每个自治系统安装的普遍计数。

BGP 是一种分布式控制协议。路由收集器从参与对等体接收选定的更新。其记录反映这些对等体在其自身策略下选择在什么时间向收集器导出哪些路径。另一个拥有不同对等体的收集器可能看到不同的子集、不同的首次时间戳和不同的撤销顺序。

事件报告经常把若干数量混为一谈:

  1. 观察到异常起源的唯一前缀数量;
  2. BGP 更新消息数量;
  3. 路径变体数量;
  4. 看到更新的收集器或对等体数量;
  5. 选择异常路径为最佳路径的网络数量;
  6. 安装该路径的转发表数量;
  7. 经这些路径承载的流量;以及
  8. 经历丢失、延迟、分流或没有可见影响的用户数量。

这些不可互换。一个前缀可以产生许多更新。收集器可能看到其对等体并未用于所有流量的路径。网络可以把路由接受进路由信息库而不选择它。由于互联网路径是不对称且策略特定的,所选路径可能只影响特定来源的流量。某项服务可能经由替代路径保持可达,而另一个网络却失去访问。

该计数仍然支持强有力的控制结论。AS4761 相对全球路由表而言通常只关联较小的路由集。观察到超过 400,000 个起源的增长远远超出任何普通增长幅度。直连邻居不需要完美的全球计数,就能认识到收到的集合已偏离预期的客户、对等或提供商合同。

这就是问责应聚焦于预期路由集与观察到的差异的原因。会话所有者应能说出变更前有多少前缀和起源获得授权、预期增加是多少、应用了哪些警告和硬阈值,以及收到或通告的集合超过阈值时发生了什么。

可复现的事件测量应记录收集器名称、收集器对等体、地址族、精确 UTC 时间间隔、去重规则、前缀计数与更新计数的区别,以及用于识别受影响路由的 AS-path 谓词。它应保留原始更新引用或提取命令。目的不是制造一个完美数字,而是让其他运营商能够在不依赖未经审查头条的情况下复现规模、时间线和传播边界。

错误起源可见;意图不可见

在正常运营中,起源自治系统表示它可以为所通告的前缀传递流量。在 2014 年 4 月事件期间,AS4761 表现为通常与其他许多网络相关的前缀的起源。这种行为常被描述为劫持,因为起源变成了一个不被预期起源该地址空间的自治系统。BGPMon 在其当时报告中使用了劫持用语。[2]

可观察的起源状态并不能确立恶意意图。恶意路由劫持、意外重分发、错误策略附加、路由服务器错误、测试性泄漏和失败的维护程序可以产生重叠的控制平面症状。要区分它们,需要内部配置、日志、授权记录、运营商证词,以及通常公开收集器不具备的流量或安全证据。

该事件的规模与一次广泛的运营失败一致。这是推断,而不是完整的根因报告。因此,本文将维护和过滤解释归属于当时观察者,并不声称某一条确切命令或运营商行为已得到证明。

这一边界对公平性和工程质量都很重要。如果在没有证据的情况下把意外事件描述为蓄意截获,记录在法律上和技术上都会变得脆弱。如果将同一事件轻描淡写为“只是失误”,多个路由边界上的控制失效就会消失。问责既不需要指控,也不需要辩解。它需要一份关于什么被允许运行的记录。

证据问题是具体的:

  • 哪个进程提供了 AS4761 所起源的前缀?
  • 哪条策略允许这些起源进入外部通告?
  • 路由集是从授权清单生成,还是从另一会话继承?
  • 变更是否经过评审、模拟或金丝雀部署?
  • 变更前后的通告路由快照是怎样的?
  • 哪个直连邻居首先接受了异常集合?
  • 哪些告警触发,谁负责,随后采取了什么行动?
  • 哪些数据表明撤销和正常化已经完成?

公开记录只回答了这份清单的一部分。这种不完整应记为问责缺口,而不是用猜测填补。

源网络拥有第一道出口边界

AS4761 控制源侧边界。无论内部触发因素如何,Indosat 运行中的路由系统起源并导出了一个远超出该自治系统预期范围的路由集。因此,第一项义务是定义并执行 AS4761 被授权起源和通告的内容。

授权起源清单应连接号码资源记录、客户委托、内部服务记录、路由注册数据和明确的例外。它应具有版本、所有者、批准历史和生效时间。生成的路由器策略应以校验和绑定到该清单,以便审计者能够区分预期输入与实际部署的配置。

出口契约应回答四个不同问题:

  • AS4761 可以自行起源哪些前缀?
  • AS4761 可以作为中转承载哪些客户前缀?
  • 从提供商或对等体学到的哪些路由可以被重新通告,且向谁通告?
  • 存在哪些临时例外,为何存在,何时到期?

把这些集合合并成一个宽松过滤器,就为全表导出创造了条件。提供商学到的路由、内部使用的完整路由表或宽泛的路由服务器信息源,可以在出口策略缺失、方向附加错误、由错误数据生成或被例外绕过时穿过外部会话。

明确的策略默认值可以降低这一风险。RFC 8212 发布于事件多年之后,它规定 eBGP 路由不应在缺少明确策略时被导入或导出。[8] 不应将其回溯为 Indosat 2014 年实现的证明。它作为持久比较是有用的:当预期策略缺失时,会话应当故障关闭,而不是在添加过滤器之前交换一切。

导出方还需要对自身通告集进行路由量控制。最大前缀常被讨论为入站特性,但运营商可以在更新离开网络前监控出站路由数量和增量。部署前检查可以把候选通告与授权集比较。实时防护可以在出现没有已批准变更记录的增长时告警或阻断。

最有价值的证据是预期状态与运行状态之间的差异。事后声明“已添加过滤器”是不够的。可问责的记录应保留:

  1. 事件前授权的起源和前缀集;
  2. 配置来源和生成的策略;
  3. 设备候选配置与已提交配置的哈希;
  4. 受影响会话的通告路由快照;
  5. 异常集以及它如何进入导出处理;
  6. 撤销命令或策略变更;
  7. 恢复后的授权集;以及
  8. 证明异常集被拒绝的回放。

这份证据把配置叙事变成控制测试。它还能防止事后策略清理掩盖事件期间实际运行的状态。

直连邻居拥有第一个外部控制机会

源网络并不是唯一拥有控制权的运营商。从 AS4761 接收路由集的直连邻居拥有第一个外部控制机会。该邻居知道,或应当记录,会话的关系类型、预期前缀集、常规路由量和升级联系人。

公开记录表明,异常路由的可见性大多来自泰国的提供商,部分路由传播得更远。[1][2] 完整的商业和技术关系并不公开,因此每个具体的客户、对等或提供商标签只应在有支持的情况下使用。控制原则并不依赖某个有争议的标签。任何接受远超出预期双边范围路由集的邻居,都控制着一个入口边界。

若干防护措施可在此处运行。

前缀过滤将收到的路由与授权的客户或邻居清单进行比较。当双边路由集有界且清单更新有明确归属并及时时效果最好。

起源过滤或验证检查某一起源是否被授权用于某前缀。基于 RPKI 的路由起源验证可以在存在覆盖性 ROA 且部署了验证器时提供密码学授权。它不是起源证据的唯一来源,在 2014 年部署范围也小得多。

AS-path 与关系策略检验路径对会话是否合理。客户通常不应在无关上游之间提供中转。真实关系可能复杂,因此策略需要明确例外,而不是假设任何路径都可接受。

最大前缀控制将收到的路由量与记录的范围比较。一个通常关联数百或数千条路由的会话,不应静默地传送数十万条。警告阈值和硬限制需要不同的运营响应,且两者都需要明确归属。

明确的入口默认值防止新会话或被错误分类的会话因缺少路由映射而接受一切。

继续导出控制把网络接收的内容与它向客户、对等体和提供商通告的内容分开。为诊断而保留的路由不必传播。

RFC 7454 描述了运营过滤、最大前缀限制、bogon 控制和其他 BGP 安全实践。[9] NIST SP 800-189 后来组织了一组弹性域间交换实践,包括过滤、路由起源验证、监测和协调。[13] MANRS 同样把过滤、反欺骗、协调和路由信息框定为运营商行动。[14] 这些是现代比较点,而不是证明每一项防护措施在相关 2014 年会话上都可用或已部署的证据。

直连邻居的问题不是“互联网为何信任 BGP?”,而是“为何运行中的双边策略接受了这一集合,现在有哪些证据表明同一集合会被拒绝或隔离?”

最大前缀控制是必要的,但仅凭一个数字不是策略

异常的路由量让最大前缀保护成为显而易见的控制。它也容易被描述得过于简单。硬限制可以遏制大规模泄漏,但选择不当的限制可能断开合法客户、在正常增长期间误触发,或促使运营商把阈值设得过高而从不动作。

可问责的最大前缀设计始于授权集合。阈值应反映当前路由、有记录的增长、聚合行为、备份通告和已批准例外。它不应当是全球表的某个通用比例,也不应是从另一关系复制来的值。

成熟的设计至少有三个状态:

  1. 正常运行区间;
  2. 警告区间,触发有归属的响应渠道并冻结高风险变更;以及
  3. 具有记录行动的硬控制阈值。

硬行动可以不同。路由器可以拒绝额外前缀、拆除会话、隔离收到的集合、降低优先级或调用自动化。每种选择都有后果。拒绝新路由可以在阻断增长的同时保持既有可达性。重置会话可能造成更大范围中断。在传播最关键的时期继续接受路由而只发告警,可能导致故障开放。

因此响应必须经过测试。运营商应回放一个类似 2014 年 4 月故障的路由集,并记录设备是警告、拒绝、重置还是继续。他们应同时测试突然的全表增长和旨在低于基于速率的告警阈值的慢速泄漏。他们应验证升级是否到达有人员值守的所有者,以及该所有者是否有权控制会话。

最大前缀还需要防止例外漂移。紧急增加和一次性迁移可能变成永久状态。每次覆盖都应有理由、批准人、生效区间以及自动到期或复审。运行中的阈值应与授权路由数一起出现在事件证据中。

问责问题不在于配置中是否包含一条maximum-prefix语句,而在于阈值是否对应关系契约、响应是否安全、告警是否有归属,以及回放是否证明已实现控制。

起源授权与路径授权解决不同问题

Indosat 事件是起源验证的有力案例,因为 AS4761 表现为许多其他网络相关前缀的起源。在有效 ROA 授权了不同起源且接收网络执行路由起源验证的地方,意外路由可被归类为无效,并根据策略被拒绝或降低优先级。

RFC 6811 规定了使用 RPKI 的 BGP 前缀起源验证。RFC 6483 提供起源验证运营指导。[10][11] 这些文件解释了机制,但不能证明相关的 2014 年覆盖率、ROA 状态、验证器可用性或 Indosat 邻居的路由策略。

三个局限需要保持明确。

第一,2014 年的 RPKI 覆盖有限。没有覆盖性 ROA 的路由不会自动无效;它通常处于“未找到”状态。不得把当前的 ROA 状态回溯到事件上。

第二,起源验证检查前缀与其起源 ASN 之间的关系。它不验证每条 AS-path 关系。一条路由可以有授权起源,但仍然通过意外的提供商、对等体或客户路径泄漏。

第三,只有当运营商部署验证器、保持缓存可用、附加策略并决定如何处理每种状态时,验证才会改变路由。注册记录不会自行执行。

RFC 9234 后来引入 BGP Roles 和 Only-to-Customer 属性,通过明确的关系信令改进路由泄漏预防。[12] 同样,它是现代控制比较,不是对 2014 年网络的描述。Roles 和 OTC 可以帮助路由器检测违反无谷关系预期的通告,但它们依赖部署和正确的角色配置。

可防御的架构分层控制:

  • 用于预期权威的资源与起源记录;
  • 客户边界的前缀与起源过滤器;
  • 数据存在时的路由起源验证;
  • 关系感知的入口和出口策略;
  • 受支持时的 BGP Roles 和 OTC;
  • 最大前缀与路由增量控制;
  • 明确的默认策略;
  • 独立异常监测;以及
  • 经过测试的协调与撤销。

任何单一控制都不应被呈现为完整解决方案。问责目标是纵深防御,并证明每一层都针对已定义的失效模式。

注册机构是问责账本,不是可达性主权者

互联网号码注册机构、路由注册机构、ROA 和运营商数据库是重要的证据面。它们有助于识别资源持有者、起源权威、联系方式和预期策略。RIPEstat 的 AS4761 视图提供当前注册与路由观察界面,而历史分析必须把主张绑定到相关时间。[4]

这些记录并不能通过声明决定运行中的可达性。路由器根据部署的软件和配置接受、拒绝、选择和导出路由。精确的注册记录可以与宽松的过滤器共存。不准确或过时的注册记录可能导致生成的过滤器拒绝合法路由。签名的 ROA 可以分类起源,但只有验证网络的策略决定运营结果。

这一区分支持基于现实的问责模型。注册机构应作为账本评估:

  • 资源和联系记录是否准确?
  • 变更是否被记录且可归因?
  • 运营商能否可复现地生成过滤器?
  • 例外是否可见?
  • 安全元数据是否最新?
  • 另一网络能否验证预期起源?

路由器和策略系统应作为运行中的执行评估:

  • 生成的策略是否实际部署?
  • 受影响会话上运行的是哪个版本?
  • 它是否默认拒绝?
  • 设备是否接受了异常集合?
  • 继续导出是否保留或放大了错误?
  • 运行状态是否与账本生成的意图一致?

2014 年 4 月事件不能仅解释为注册问题或仅解释为路由器问题。它暴露了记录权威与可执行策略之间的接缝。如果记录准确但过滤器缺失,则执行失败。如果策略生成依赖不准确记录,则账本及其运营使用都需要修正。如果宽泛的重分发绕过了预期数据路径,则部署控制失败。

区分这些情况所需证据并不稀奇。它包括注明日期的资源记录、策略源数据、生成的过滤器、配置哈希、收到和通告的路由,以及独立收集器观察。缺少这种联合记录本身就是一项问责发现。

收集器证据证明选定观察,而非普遍收敛

RIPE RIS 和 RouteViews 保存历史 BGP 数据,使独立重建成为可能。RIPE 将 RIS 描述为收集并存储互联网路由数据的测量系统。RouteViews 归档 2014 年 4 月的更新。[5][6] CAIDA 的 BGPStream 提供处理来自主要收集项目的 BGP 数据的框架。[18]

这些系统是问责基础设施,因为它们在引发或传播事件的网络之外保存证据。它们让分析者得以检验异常起源是否出现、哪些 AS 路径将其带到特定对等体、撤销何时可见,以及预期起源是否回归。

它们的局限应写入每一项主张。

收集器看到其对等体导出的路由。它看不到这些对等体收到的每条路由或它们考虑的每个替代项。首次见到时间戳是该收集器的第一次观察,不一定是源端的第一次通告。在一个对等体观察到的撤销不证明全球收敛。收集器可见的最佳路径不证明每个用户的转发路径。

收集器多样性提升信心。事件重建应比较不同网络和地区中的 RIS 与 RouteViews 对等体。它应识别异常起源在每个观察点是否可见、可见多久、由哪些路径承载,以及预期起源何时回归。差异应保留,而不是被平均掉。

分析还需要可复现的谓词。对于该事件,分析者可以识别 AS4761 作为其预期集合之外前缀起源的更新。应记录确切的预期集合来源、时间、地址族、重复处理和路径规范化。得出的路由计数应关联原始归档区间或命令。

诸如 BGPInspector 的研究系统展示如何通过多个维度和证据视图审视历史事件。[15] 后来关于路由泄漏与检测的学术工作进一步表明,分类取决于拓扑、关系和观察。[16] 这些工具不能替代运营商遥测,但它们使独立质证成为可能。

因此,运营商收尾应把内部和外部证据配对。内部收到和通告的路由解释什么穿过了会话。外部收集器显示什么逃逸到更广泛的路由系统。两份记录应在有界时间线上收敛,同时保留观察点不确定性。

影响必须作为可达性来衡量,而不能从路由量推断

RIPE NCC 的重建显示,影响因观察点和路由而异。BGPMon 报告许多异常路由经泰国提供商可见,部分传播更广。[1][2] 这支持传播和可达性影响不均衡的发现。

它不支持该事件把大多数全球互联网流量改道经印度尼西亚的说法。接近全球表大小的计数听起来可能等同于对互联网的控制,但路由决策是分布式的。网络应用本地优先级、AS-path 策略、前缀具体性、起源验证和商业关系。有些保留未受影响的路由;有些偏好异常起源;有些从未收到它。

影响应分层衡量:

控制平面可见性:哪些收集器和对等体看到 AS4761 作为意外起源?

路由选择:在可观察的情况下,哪些网络选择了该路径?

转发证据:来自哪些源位置的 traceroute、looking-glass 或流量数据显示流量沿变化路径前进?

服务性能:哪些目的地经历丢失、延迟、不稳定,或没有可观察的退化?

用户范围:基于提供商遥测而非仅路由计数,哪些客户、地区或服务受到影响?

安全后果:是否有数据包访问、检查或篡改的证据?仅凭公开路由记录无法确立这一点。

这种分层避免夸大和淡化。它避免把每个可见前缀都当作全球安装的转发路径。它也避免因为部分网络保持可达性而轻描淡写事件。

对未来的事件,运营商应保留主动测量、路由表、流量摘要、应用健康和客户影响数据,并同步时间戳。方法论应说明不对称路径、隐藏跳、任播、负载均衡和不完整的地理定位。

关键的问责指标不是最大可能的受影响人口,而是每个运营商能否把异常路由状态连接到具体的可达性影响,解释不确定性,并展示其控制如何限制或未能限制传播。

监测只有与行动相连时才有价值

该事件对外部监测者可见,因为起源变化和路由量非同寻常。公开系统和运营商社区帮助揭示了异常。这种可见性本身并不能遏制路由泄漏。

监测应连接四个要素:

  1. 定义预期起源、前缀、路径和路由量的基线;
  2. 解释为何观察状态异常的检测规则;
  3. 具有权限和联系路径的所有者;以及
  4. 可以遏制或撤销路由的安全行动。

“AS4761 起源了 417,038 个新前缀”的告警对分诊有用。运营告警还应加上受影响会话、收到和接受的数量、预期清单、观察到的上游、当前策略版本、近期变更以及建议的控制行动。

告警时间应保留。完整时间线要区分第一次异常更新、第一次收集器观察、第一次自动告警、第一次人工确认、第一次联系源端或上游、第一次控制行动、第一次撤销以及后来的正常化。这些时间戳揭示延迟来自检测、升级、权限、诊断还是收敛。

协调数据也很重要。路由事件跨越组织边界。联系方式必须最新、可达且有授权。MANRS 把全球验证和协调视为运营商核心责任。[14] 存在但无法联系到运营所有者的联系记录,不是有效的控制。

自动化可以加速控制,但需要护栏。基于误报的自动会话关闭可能制造中断。故障开放的告警可能在人工调查期间让全表泄漏继续传播。有界设计可以隔离新路由、冻结变更、降低优先级,或在定义阈值下要求确认。

因此,该事件检验的不仅是异常检测。它检验观察能否足够快地变成可问责的行动。

撤销启动恢复;它并不证明收尾

公开叙述表明异常起源在数小时后被撤销,路由状态向预期起源回归。[1][2] 撤销至关重要,但它只是恢复记录的开始。

BGP 收敛是观察者特定的。网络在不同时间接收和处理撤销。有些可能比其他网络更久地保留陈旧路由、替代异常路径或会话状态。路由翻动抑制、会话重置、本地策略和收集器可见性都可能改变表面上的结束时间。

可信的恢复记录应显示:

  • 针对撤销的确切路由集;
  • 使用的命令、策略变更或会话行动;
  • 由谁授权;
  • 受影响邻居何时收到;
  • 内部收到、选择和通告的路由数何时正常化;
  • 多个独立收集器何时不再把 AS4761 视为意外起源;
  • 预期起源何时重新出现;
  • 仍存在哪些残余例外;以及
  • 用户可见可达性是否在同一时间线恢复。

记录应把路由撤销与配置修复分开。运营商可以手动撤销坏路由,却让失效机制保持不变。反过来,配置变更可以在本地正确,而其他地方仍可见陈旧或替代路由。

恢复还需要已知良好的基线。“正常”应指以校验和绑定的授权起源和路径状态,而不仅仅是当前没有告警。如果授权集在事件期间发生变化,变更应被记录,而不是藏在收尾里。

独立证据尤其有价值,因为它检验源网络之外的主张。RIS、RouteViews、looking glass 和受影响运营商可以显示异常起源是否从不同观察点消失。它们的观察不会完全同步,这种差异应成为记录的一部分。

公开记录并未提供 2014 年事件完整的签名补救报告、路由回放或例外清单。缺失并不能证明没有进行补救。它意味着外部人员无法从现有证据验证补救的持久性。

复发测试应复现故障类别而不将其导出

最有力的收尾是受控复发测试。它不会把数十万未经授权的路由发送到公共互联网。它在实验室、策略模拟器、路由回放系统或隔离会话中复现故障类别,并证明每个预期边界都正确响应。

测试应从冻结的 AS4761 关系预期集合开始。然后引入:

  • 一个未经授权的起源;
  • 一小批未经授权的前缀;
  • 全表规模的集合;
  • 旨在规避突发检测器的渐进式增长;
  • 违反记录关系的路径;
  • 已过期的例外;
  • 缺失的明确策略;
  • 过时的注册记录或客户记录;以及
  • 撤销后尝试重新通告。

对每种情况,记录应显示生成的过滤器、候选配置、设备或模拟器结果、告警、所有者确认、控制行为以及导出给独立监测的证据。

测试应在源端和邻居边界同时运行。导出方应拒绝或阻止未经授权的通告。直连邻居应拒绝或隔离超出双边范围的集合。继续导出策略应防止被接受的诊断路由进一步扩散。

阴性对照很重要。系统必须继续接受合法客户增长、授权备份路径和有记录的维护变更。否则,严格的过滤器可能成为可用性风险,运营商会绕过它。

当路由清单、策略生成器、路由器软件、拓扑或关系变化时,应重新运行复发测试。在一个环境通过的测试并不证明每个生产会话都仍受保护。

这种方法把问责问题从“运营商是否承诺保持谨慎?”变为“运营商能否复现故障,并展示当前运行中的控制已将其遏制?”

现代控制应作为比较,而非回溯性主张

若干在 2014 年之前或之后发布的标准和运营框架提供了有用的控制地图。

RFC 7908 定义路由泄漏类别和术语。[7] 其分类有助于把意外传播与起源劫持分开,但应用特定泄漏类型需要可能不公开的关系知识。

RFC 8212 推动明确的 eBGP 入口和出口策略。[8] 它解决的是预期策略缺失时路由仍然流动的危险默认。

RFC 7454 描述 BGP 安全实践,包括过滤器、最大前缀、bogon 处理和运营保护。[9]

RFC 6811 和 RFC 6483 处理通过 RPKI 的路由起源验证。[10][11] 它们有助于检验起源是否授权,但不能确立完整路径适当性。

RFC 9234 增加 BGP Roles 和 OTC,以通过关系信令支持路由泄漏预防。[12]

NIST SP 800-189 围绕过滤、RPKI、监测、安全和协调框架化弹性域间流量交换。[13]

MANRS 明确过滤、反欺骗、协调和全球验证的运营商行动。[14]

研究和测量工具增加独立分析。BGPInspector 展示多维事件检查,后来的路由泄漏研究审视检测与分类,RIPEstat 连接注册与路由视图,BGPStream 支持可复现处理。[15][16][17][18]

历史纪律至关重要:这些文件不能证明 Indosat 或其邻居在 2014 年 4 月 2 日部署了什么。有些控制尚不成熟、不常见或尚未标准化。现代比较可以识别现在如何降低复发,而无需改写历史。

分层控制目标在时间上是稳定的:定义权威、限制出口、验证入口、约束关系范围、检测异常数量、保存独立证据、协调响应、安全撤销并测试复发。

问责应按边界分配,而不是稀释到整个互联网

域间事件涉及许多网络,这会让责任显得集体化,因而模糊。更好的模型按控制分配职责。

Indosat / AS4761控制起源和导出状态。其证据负担包括授权起源集、策略来源、生成和运行的配置、变更记录、通告路由、撤销行动和复发测试。

直连邻居控制第一次外部接受。其负担包括关系文件、前缀和起源过滤器、最大前缀阈值、入口策略、继续导出策略、告警处理和控制证据。

更远的自治系统控制自身的接受、偏好、传播、监测和客户沟通。它们可能拥有较不具体的关系信息,但仍拥有自己的运行策略。

号码和路由注册机构控制其范围内资源和策略记录的准确性、可用性和可审计性。它们不控制路由器执行。

监测运营商和研究者控制测量质量、时间戳、保留、方法论和公开主张的边界。他们可以暴露事件,但不能撤销路由。

服务和接入提供商控制弹性、路径多样性、影响测量,以及与受其网络影响的客户的沟通。

客户和最终用户通常对域间路由接受没有实际控制权。他们不应承担发现或修复提供商策略失败的负担。

这种分配避免两个错误。它防止源运营商把下游传播当作别人的问题。它也防止其他网络声称从邻居收到的任何路由都只是起源者的责任。

第一个可预防的边界值得特别关注。如果导出方本可以阻止路由,其失败是首要的。如果直连邻居有预期路由契约却仍接受完整表,那是单独的控制失败。如果更远网络本可以检测到不合理路径或数量却没有检测,其控制也需要审查。

分布式控制创造多项职责,而不是没有职责。

治理应要求证据,而不是假装私有拓扑公开

部分路由证据必然是私有的:契约、完整配置、拓扑、安全控制和客户细节。问责不要求不分青红皂白地披露。它要求足够多可独立验证的证据来支持关于控制和恢复的主张。

运营商可以发布或共享有边界的证明:

  • 不泄露每个客户的预期路由数区间;
  • 授权清单和生成过滤器的哈希;
  • 确认附加了明确的入口和出口策略;
  • 最大前缀警告和硬限制行为;
  • 告警、控制和撤销的时间戳;
  • 独立收集器引用;
  • 全表和关系违规回放的测试结果;
  • 例外的数量和类型;
  • 这些例外的所有者和到期流程;以及
  • 未解决证据缺口的声明。

监管者、客户、对等体和保险公司应要求这些工件,而不是宽泛的保证。合同语言可以要求通知、证据保留、路由策略测试、最新联系方式以及协调控制。

披露应区分事实、推断和未知。对 Indosat 事件而言,大规模起源状态和宽泛时间区间是强事实。维护或过滤解释是归因叙述。确切的内部机制和完整补救在公开记录中仍然未知。

这种格式在保护合法机密的同时,使运营主张可被质证。它还使跨事件比较成为可能。能够提供可复现路由集差异和回放结果的运营商,比只提供根因标签的运营商拥有更强证据。

治理不应把注册机构变成想象中路由的中央权威。号码记录、ROA、IRR 对象和联系方式是关键输入。可达性仍是分布式运行策略的结果。因此,有效监督检验的是记录权威与部署行为之间的连接。

2014 年 4 月事件是一次全表控制测试

AS4761 事件最持久的教训不是说 BGP 基于信任,也不是说某个运营商犯了大错。这些说法太笼统,无法分配修复。

事件检验的是一个网络能否阻止未经授权的全表规模起源集离开其边界。它检验直连邻居能否把收到的路由与双边预期比较并遏制彻底偏离。它检验更远网络能否避免放大该状态。它检验监测者能否提供精确、受观察者约束的证据。它检验撤销和正常化能否被证明而不是被断言。

公开证据确立的是,2014 年 4 月 2 日与 AS4761 相关的超过 400,000 个意外起源变得可见,并在数小时后被撤销。它支持不均衡的传播和可达性影响。它不能确立恶意意图、普遍转发、一个完整内部原因或可公开验证的补救计划。

可问责的运营商响应应通过以下内容填补这些缺口:

  1. 冻结的授权前缀和起源清单;
  2. 明确的默认拒绝入口和出口策略;
  3. 生成的前缀和起源过滤器;
  4. 关系感知的路径控制;
  5. 最大前缀警告和硬控制;
  6. 相关数据存在时的路由起源验证;
  7. 具有所有者和到期时间的受控例外;
  8. 独立多观察点监测;
  9. 带时间戳的控制和撤销记录;以及
  10. 证明同类故障在源端和邻居边界均被拒绝的回放。

标准不是完美。域间路由是分布式的,关系会变化,记录可能滞后,可见性不完整。标准在于每个运营商能否识别其控制的边界,展示那里运行了什么策略,解释什么偏离预期,在测试过的流程内行动,并提供授权路由状态已经回归的证据。

这就是仅仅结束的事件与产生问责的事件之间的区别。

来源

[1]RIPE NCC Labs,《印度尼西亚的 BGP 泄漏》

[2]BGPMon,《Indosat 今日劫持事件》

[3]RIPE BCOP 邮件列表存档,2014 年 4 月运营商讨论

[4]RIPEstat,AS4761

[5]RIPE NCC,路由信息服务

[6]RouteViews,2014 年 4 月 BGP 更新存档

[7]RFC 7908,BGP 路由泄漏的问题定义与分类

[8]RFC 8212,无策略时的默认外部 BGP 路由传播行为

[9]RFC 7454,BGP 运营与安全

[10]RFC 6811,BGP 前缀起源验证

[11]RFC 6483,使用 RPKI 和 ROA 验证路由起源

[12]RFC 9234,使用 UPDATE 和 OPEN 消息中的角色进行路由泄漏预防与检测

[13]NIST SP 800-189,弹性域间流量交换

[14]MANRS,网络运营商行动

[15]俄勒冈大学,BGPInspector 研究报告

[16]arXiv,路由泄漏检测研究

[17]RIPE 68,RIPEstat 演示

[18]CAIDA BGPStream 文档