BGP 的缺陷以及解决方法 在 2004 年,一家名为 TTNet 的土耳其 ISP 意外地向相邻的网络发布了错误的 BGP 路由。这些路由声称,TTNet 自己是互联网上所有流量的最佳目的地。随着这些路由不断传播到越来越多的自治系统,发生了一次大规模的中断,导致持续一天的危机,世界各地很多人都无法访问部分或全部互联网。 同样,在 2008 年,一家巴基斯坦 ISP 尝试使用一个 BGP 路由来阻止巴基斯坦用户访问 YouTube。该 IPS 随后意外地将这些路由发给了邻近的自治系统,该路由在互联网上的 BGP 网络中迅速传播开来。这个路由将尝试访问 YouTube 的用户发送到一个无效的目的地,导致 YouTube 数小时内无法访问。 这些是所谓 BGP 劫持的实例,而这种情况并不总是意外发生的。2018 年 4月,攻击者故意创建了一个错误的 BGP 路由,将原定目的地为亚马逊 DNS 服务的流量重定向。通过将这些流量重定向给自己,攻击者成功窃取了价值 10 万美元的加密货币。 这样的事件之所以会发生,是因为 BGP 的路由共享功能依赖于信任,自治系统隐式信任与它们共享的路由。当对等网络(有意或无意地)公告不正确的路由信息时,流量就会到达错误的目的地,有可能产生恶意的结果。 幸运的是,在保护 BGP 方面已经取得了一些进展。最引人注目的是 2008 年推出的资源公钥基础设施(RPKI)的路由安全框架。RPKI 使用被称为路由源授权(Route Origin Authorization, ROA)的加密签名记录,以验证哪个网络运营商允许使用 BGP 来公告某个组织的 IP 地址。这确保了获授权方才能公告某个组织的前缀。 但仅有 RPKI 的存在并不足够。如果大型网络未部署 RPKI,就有可能传播大规模的劫持攻击。目前,超过 50% 的顶级互联网服务提供商在某种程度上支持 RPKI,但需要大多数的支持才能完全保障 BGP 的安全。网络运营商可以通过实施 RPKI 和使用 Cloudflare 路由泄漏检测等网络警报技术来保护其网络。这个功能可以让客户在有未经授权者发布其前缀收到通知,从而预防 BGP 劫持攻击。 TG:@cdncloud236
|