BGP如何被劫持?当一个 AS 宣布一条到它实际上并不控制的 IP 前缀的路由时,如果没有过滤,这个宣布可以传播并添加到 Internet 上的 BGP 路由器的路由表中。从那时起,直到有人注意到并更正路由,到这些 IP 的流量将被路由到该 AS。如果没有地方政府来核实和执行财产契约,这就像声称领土一样。
BGP 始终偏向于到达所需 IP 地址的最短、最具体的路径。为了使 BGP 劫持成功,路由公告必须:
- 1) 通过宣布比其他 AS 先前宣布的更小的 IP 地址范围,提供更具体的路由。
- 2) 为某些 IP 地址块提供更短的路由。此外,并非任何人都可以向更大的 Internet 发布 BGP 路由。为了发生 BGP 劫持,必须由 AS 的运营商或已破坏 AS 的威胁行为者发布公告(第二种情况更罕见)。
大型网络或网络组(其中许多是 ISP)的运营商会厚颜无耻地进行此类恶意活动,这似乎令人惊讶。但考虑到从某些方面来看,现在全球有超过 80,000 个自治系统,因此有些不值得信赖也就不足为奇了。此外,BGP 劫持并不总是很明显或易于检测。不良行为者可能会在其他 AS 后面掩饰他们的活动,或者可能会宣布不太可能被注意到的未使用的 IP 前缀块,以保持在雷达之下。
当BGP被劫持时会发生什么?
作为 BGP 劫持的结果,互联网流量可能会走错路、被监控或拦截、成为“黑洞”或作为路径攻击的一部分被定向到虚假网站。此外,垃圾邮件发送者可以使用 BGP 劫持或实施 BGP 劫持的 AS 网络,以欺骗合法 IP 进行垃圾邮件发送。从用户的角度来看,页面加载时间会增加,因为请求和响应不会遵循最有效的网络路由,甚至可能不必要地穿越世界。
在最好的情况下,流量只会走一条不必要的长路线,从而增加延迟。在最坏的情况下,攻击者可能会进行路径攻击,或将用户重定向到虚假网站以窃取凭据。
现实世界中的BGP劫持
有许多故意 BGP 劫持的真实例子。例如,在 2018 年 4 月,一家俄罗斯提供商宣布了许多实际上属于 Route53 Amazon DNS 服务器的 IP 前缀(IP 地址组)。简而言之,最终结果是尝试登录加密货币网站的用户被重定向到由黑客控制的虚假网站版本。黑客因此能够窃取大约 152,000 美元的加密货币。(更具体地说:通过 BGP 劫持,黑客劫持了 Amazon DNS 查询,以便 myetherwallet.com 的 DNS 查询转到他们控制的服务器,返回错误的 IP 地址,并将HTTP请求定向到虚假网站。
BGP 劫持的无意实例也很普遍,它们可能对整个全球互联网产生负面影响。2008 年,巴基斯坦国有的巴基斯坦电信试图通过更新其网站的 BGP 路由来审查巴基斯坦境内的 Youtube。看似偶然,新路线被宣布给巴基斯坦电信的上游供应商,并从那里广播到整个互联网。突然间,所有对 Youtube 的网络请求都被定向到了巴基斯坦电信,导致该网站几乎整个互联网都出现了长达数小时的中断,并使 ISP 不堪重负。
用户和网络如何防御BGP劫持?
除了持续监控互联网流量的路由方式外,用户和网络在防止 BGP 劫持方面几乎无能为力。
- IP前缀过滤:大多数网络应该只在必要时接受 IP 前缀声明,并且应该只向某些网络而不是整个 Internet 声明它们的 IP 前缀。这样做有助于防止意外的路由劫持,并可以防止 AS 接受虚假的 IP 前缀声明;然而,在实践中这很难执行。
- BGP劫持检测:延迟增加、网络性能下降和互联网流量定向错误都是 BGP 劫持的可能迹象。许多大型网络将监控 BGP 更新,以确保其客户不会面临延迟问题,而一些安全研究人员实际上确实会监控 Internet 流量并发布他们的发现。
- 使 BGP 更安全:BGP 旨在使 Internet 正常工作,而且它确实做到了这一点。但是 BGP 的设计并没有考虑到安全性。正在为整个 Internet 开发更安全的路由解决方案(例如 BGPsec),但尚未采用它们。目前,BGP 本质上是脆弱的,并将继续如此。