剖析 BGP:互联网的“路由漏洞”与 RPKI 防护
边境网关协议(BGP)扮演着互联网“邮政服务”的角色。它的核心职责是分析所有可用的数据传输路径,并为数据包选择一条最优路线以抵达目的地。
然而,BGP 协议在设计之初并未内置安全机制。这种缺陷导致了多次严重的全球性互联网中断。要从根本上解决这个问题,ISP(互联网服务提供商)以及 Sprint、Verizon 等核心网络运营商必须部署一种名为 RPKI 的认证系统。
31 家主要运营商部署状态
深度解析:什么是 BGP 劫持?
要理解 BGP 的安全危机,首先需要了解互联网的拓扑结构。互联网并非由单一实体掌控,而是由分布在全球的数千个 自治系统(Autonomous Systems, AS)通过复杂的网络图谱相互连接而成。
在 BGP 的运作模式中,每个节点仅依赖于其直接相连的邻居节点所提供的信息来决定数据包的路由方向。例如,在 A-B-C-D-E 这样的简单链条中,节点 A 只能通过节点 B 传递的信息来获知如何到达节点 E。
BGP 劫持(BGP Hijacking)正是利用了这种信任机制:当一个恶意节点伪造路由信息,谎称自己拥有通往某个目的地的最短路径或合法路径时,由于缺乏验证协议,这些错误信息会在节点间迅速传播。最终,大量流量会被导向错误的、不存在的甚至是有害的路由节点。
通过下方对比图,可以直观看到数据包在正常状态与被劫持状态下的流向差异:
解决方案:引入 RPKI 验证机制
由于互联网的分布式特性,我们无法阻止恶意节点发布虚假信息,但可以让接收节点具备 验证能力,从而主动拒绝不可信的路由。
RPKI(资源公钥基础设施)提供了一种安全框架,通过加密技术将路由前缀与特定的自治系统(AS)进行绑定。简单来说,它为路由信息颁发了“数字证书”,使路由器能够验证该路由是否由合法的资源持有者发布。
当 RPKI 生效后,即使恶意节点尝试劫持,网络也能通过验证将其识别为非法并予以拦截。请参考下方可视化对比:
常见问题解答
BGP 究竟是如何工作的?
可以将 BGP 想象成邮政分拣中心。当你寄出一封信,邮政系统会根据地址,在多个分拣点(自治系统)之间选择一条最快、最高效的路径将其递送。在数字世界中,BGP 决定了数据包在不同 AS 之间跳转的最佳路径。
为什么 BGP 默认是不安全的?
BGP 协议在设计时没有内置身份验证,完全依赖于自治系统之间对路由信息的信任。如果某个 AS 错误地或恶意地发布了错误的路由,可能会导致:
- 服务中断:部分互联网区域无法访问。
- 流量截获:攻击者通过 BGP 劫持将流量重定向到自己的服务器,从而进行钓鱼攻击或被动监听。
虽然通过手动构建过滤器可以缓解,但面对全球 80 万条以上的路由,手动维护是不可能的。因此,像 RPKI 这样基于加密的自动化验证方案成为了行业标准。
如何测试我的 ISP 是否安全?
我们通过一种“受控实验”来验证 ISP 的安全性:我们发布一条合法的路由,但特意将其标记为 无效(Invalid)。如果你的 ISP 仍然允许你加载该路由上的网站,说明该 ISP 接受了无效路由,这意味着它在面对真实的 BGP 劫持或路由泄露时缺乏足够的防护能力。
检测你的 ISP 安全状态
你可以访问以下地址测试你的 ISP 是否已实施 BGP 安全验证:
https://isbgpsafeyet.com





