2008 年 2 月 24 日,巴基斯坦政府由于对某段视频不满,下令国内最大电信商巴基斯坦电信(Pakistan Telecom)屏蔽全境对 YouTube 的访问。巴基斯坦电信的工程师采取了网络管理中常见的“黑洞路由”策略:他们向内部网络通告了一条比 YouTube 官方更精确的路由。

然而,由于巴基斯坦电信的上游供应商 PCCW 未能有效过滤这些非法的路由信息,这条原本只该在巴基斯坦国内生效的“黑洞”瞬间扩散到了全球。不到几分钟,全球范围内的 YouTube 流量都被引导向了巴基斯坦这个无法承载海量请求的“小水管”,导致 YouTube 全球宕机数小时。

这场事故揭示了一个尴尬的事实:即便是在 2026 年的今天,支撑数万亿美元经济、承载全球信息流动的互联网,依然建立在一个极其脆弱的、基于“信任”的古老协议之上——BGP(Border Gateway Protocol,边界网关协议)。

自治系统:互联网的“主权国家”

要理解 BGP 为何如此脆弱,必须先理解互联网的组织形式。互联网并非一个由单一机构管理的集中式网络,而是由超过 70,000 个独立管理的核心网络(AS,Autonomous Systems)组成的联邦。

每个 AS 可能属于一个 ISP(如中国电信 AS4134)、一家跨国公司(如 Meta AS32934)或一所高校。BGP 就是这些“主权国家”之间交换路由信息的通用语言。它的任务是告诉邻居:“如果你想访问这些 IP 地址,请通过我走。”

graph LR
    AS_A["AS 100 (本地 ISP)"] -- "BGP Session" --> AS_B["AS 200 (一级运营商)"]
    AS_B -- "BGP Session" --> AS_C["AS 300 (Content Provider)"]
    subgraph Internet
        AS_B
        AS_C
    end

信任成本:BGP 的先天性缺陷

1.0 版本的 BGP 诞生于 1989 年。在那个互联网还是“精英社区”的年代,协议设计的核心假设是:互联的双方都是诚实且专业的

因此,RFC 4271 定义的 BGP-4 规范中,并没有强加身份验证机制。当一个 AS 向另一个 AS 通告路径时,接收方几乎无法在协议层面验证:

  1. 通告者是否真的拥有这些 IP 前缀?
  2. 通告的 AS-Path 是否被恶意修改过?

这种“盲目信任”直接导致了两类最致命的安全隐患:BGP 劫持(BGP Hijacking)路由泄露(Route Leaks)

BGP 劫持:地理上的“李鬼”

当攻击者通过 BGP 通告了不属于自己的 IP 前缀时,劫持就发生了。BGP 的选路规则中有一条铁律:最长前缀匹配优先(Longest Prefix Match)

如果 YouTube 宣告 208.65.152.0/22(约 1024 个地址),而攻击者宣告更精确的 208.65.153.0/24(256 个地址),全球路由器都会优先选择攻击者的路径。流量不仅可以被引向黑洞(导致宕机),更危险的是可以被引向镜像网站,通过中间人攻击窃取数据。

路由泄露:优化器的“背叛”

与恶意劫持不同,路由泄露通常源于配置失误。2019 年,由于宾夕法尼亚州一家小型 ISP 错误地使用了“BGP 优化器”,导致其上游供应商 Verizon 误将 Cloudflare、Amazon 等巨头的流量导向了这家小 ISP 的简陋机房。原本宽阔的高速公路瞬间沦为乡村泥泞小径,造成大面积网络瘫痪。

技术博弈:BGP 选路算法的 13 道关卡

当一台互联网核心路由器收到通往同一目的地的多条路径时,它会按照以下顺序进行残酷的筛选:

  1. Weight (Cisco 私有):越高越好。
  2. Local Preference:在 AS 内部生效,越高越好。
  3. 本地起源:优选自己产生的路由。
  4. AS-Path 长度:经过的 AS 越少,路径越短,越优先。
  5. Origin 属性:IGP > EGP > Incomplete。
  6. MED (Multi-Exit Discriminator):越低越优先,用于告诉邻居从哪个口进。
  7. eBGP 优于 iBGP:外来的和尚好念经。
  8. IGP Metric:到下一跳的 IGP 距离越短越好。
  9. 等价路径:如果配置了 ECMP,则负载均衡。
  10. 最老路由:优选最稳定的 eBGP 路径。
  11. Router ID:越小越好。
  12. Cluster List 长度:路由反射器环境下的最短选择。
  13. Neighbor IP:最后的无奈之举,最小越好。

攻击者正是利用这些规则,通过“缩短 AS-Path”或“通告更长掩码”来干扰选路逻辑。

零信任重构:RPKI 的救赎

为了修补这块 40 年前的补丁,互联网工程任务组(IETF)推出了 RPKI(Resource Public Key Infrastructure,资源公钥基础设施)

RPKI 引进了一种“身份证”机制。IP 地址的持有者可以签署一份 ROA(Route Origin Authorization,路由起源授权)。这份受密码学保护的文件明确指出:这些 IP 地址只能由某个特定的 AS 号码起源。

sequenceDiagram
    participant Holder as IP 地址所有者
    participant TAL as 信任锚点 (RIR)
    participant Router as 边界路由器
    
    Holder->>TAL: 签署 ROA (前缀 + 授权 ASN)
    TAL->>Router: 分发有效的 ROA 列表
    Note over Router: 收到 BGP Update
    Router->>Router: 验证 Origin ASN 是否匹配 ROA
    alt 验证通过 (Valid)
        Router->>Router: 提权并转发
    alt 验证失败 (Invalid)
        Router->>Router: 降权或丢弃
    end

目前的挑战在于部署率。虽然 Cloudflare、Amazon 及中国的核心运营商正在大力推动 RPKI,但全球仍有大量“古董级”网络设备不支持此特性,或者管理员出于对误杀(Valid-as-Invalid)的担忧而持观望态度。

MANRS:公认的路由安全准则

除了 RPKI,互联网社区还提出了 **MANRS(Mutually Agreed Norms for Routing Security)**倡议。它要求运营商必须履行四大核心行动:

  • 过滤(Filtering):确保通告的路由合法。
  • 反地址欺骗(Anti-spoofing):防止源地址伪造。
  • 协调(Coordination):保持联系方式最新,应对突发事故。
  • 全球验证(Global Validation):积极发布 RPKI 资料。

结语

互联网之所以伟大,是因为它的开放与透明;但其危险之处,亦在于此。从 Pakistan Telecom 的小插曲到 2021 年 Facebook 因为自身 BGP 配置失误让自己在互联网上“蒸发”6 小时,BGP 的每一次震动都在提醒我们:这个虚拟世界的地基远比想象中脆弱。

走向“显式验证”而非“隐式信任”,是互联网基础架构演进的必然路径。在 RPKI 完全普及之前,每一条路由通告,依然可能是一道通向未知的陷阱。


参考资料

  • RFC 4271: A Border Gateway Protocol 4 (BGP-4)
  • RFC 4272: BGP Security Vulnerabilities Analysis
  • Cloudflare: What is BGP hijacking?
  • RIPE NCC: RPKI Deployment Guide
  • MANRS (Mutually Agreed Norms for Routing Security) implementation report 2025
  • National Institute of Standards and Technology (NIST) BGP Monitoring Study
  • 巴基斯坦电信 YouTube 劫持事件技术复盘 (RIPE Labs)
  • Juniper Networks: BGP Path Selection and Optimization Guide