BGP劫持的原理及防御详解
什么是BGP劫持?
bgp劫持是指攻击者恶意改变互联网流量的路由。攻击者通过错误地宣布他们实际上并不拥有、控制或路由的IP地址组(称为IP前缀)的所有权来实现这一点。
bgp劫持很像是有人在高速公路上改变所有的标志,将汽车指向错误的出口。
整个互联网是由很多的网络组成,这些网络被称为是“自治系统(AS)”,因为边界网关协议(BGP)是建立在假设互联网络真正告诉他们拥有哪些IP地址的基础上的,所以BGP劫持几乎是不可能停止的 - 想象一下,如果没有人在看高速公路标志,那么判断这些标志是否被恶意更改的唯一方法就是汽车最终会走到错误的地方才会知道是标志错误了。然而,要发生劫持事件,攻击者需要控制或破坏连接一个自治系统(AS)和另一个自治系统(AS)的启用BGP的路由器,这样就不是每个人都可以进行BGP劫持。
什么是BGP?
BGP代表边界网关协议,它是Internet的路由协议。换句话说,它提供了方向,以便路由尽可能高效地从一个IP地址传输到另一个IP地址。IP地址是网站的实际Web地址。当用户键入网站名称并且浏览器找到并加载它时,请求和响应在用户的IP地址和网站的IP地址之间来回传递。DNS(域名系统)服务器提供IP地址,但BGP提供了最快的方式来访问该IP地址。粗略地说,如果DNS是互联网的地址簿,那么BGP就是互联网的路线图。
每个BGP路由器存储一个路由表,其中包含自治系统之间的最佳路由。由于每个AS (通常是Internet服务提供商(ISP))广播他们拥有的新IP前缀,因此几乎不断更新这些内容。BGP总是倾向于从AS到AS的最短和最直接的路径,以便通过网络中尽可能少的跳跃来到达IP地址。
自治系统(AS)的定义
自治系统是由单个组织管理的大型网络或网络组。AS可能有许多子网,但都共享相同的路由策略。通常,AS是ISP或具有自己的网络的非常大的组织,以及从该网络到ISP的多个上游连接(这称为“多宿主网络”)。每个AS都分配有自己的自治系统编号(ASN),以便轻松识别它们。
为什么BGP很重要?
BGP使得互联网的大规模增长成为可能。互联网由多个互连的大型网络组成。由于它是分散的,因此没有管理机构为数据包传送到其预期的IP地址目的地铺设最佳路由。BGP履行这一职责。如果不是BGP,由于路由效率低,网络流量可能需要花费大量时间才能到达目的地,或者根本不会到达预定目的地。
BGP如何被劫持?
当AS宣布它实际上不控制的IP前缀的路由时,该公告(如果未被过滤)可以传播并被添加到因特网上的BGP路由器中的路由表。从那时起,直到有人注意到并纠正路由,这些IP的流量将被路由到该AS。
BGP始终支持所需IP地址的最快最详细的的路径。为了使BGP劫持成功,路由公告必须:
1)提供一个更具体的路线,宣布一个较小的范围的IP地址比其他AS先前宣布。
2)为某些IP地址块提供更短的路由。此外,不只是任何人都可以宣布到更大的互联网的BGP路由。为了发生BGP劫持,必须由AS的运营商或已经破坏AS的威胁行为者发布通知(第二种情况更为罕见)。
提供到特定IP地址段的较短路由。此外,不是所有人都可以宣布BGP路由到更大的互联网。为了使BGP劫持事件发生,必须由AS的运营商或或已经破坏AS的威胁行为者发布通知(第二种情况比较少见)作出声明。
似乎令人惊讶的是,大型网络或网络组的运营商(其中许多是ISP)会肆无忌惮地进行此类恶意活动。但考虑到现在全球有超过80,000个自治系统,有些人不值得信任也就不足为奇了。此外,BGP劫持并不总是显而易见或易于检测。不良行为者可能会伪装他们在其他AS之后的活动,或者可能会宣布未使用的IP段,这些ip段不太可能被注意监控到。
BGP被劫持后会发生什么?
由于BGP劫持,互联网流量可能出错,被监控或拦截,被“黑洞”,或者作为中间人攻击的一部分被导向虚假网站。此外,垃圾邮件发送者可以使用BGP劫持或实施BGP劫持的AS网络,以欺骗合法IP以进行垃圾邮件。从用户的角度来看,页面加载时间将会增加,因为请求和响应将不会遵循最有效的网络路由,甚至可能不必要地遍历全世界。
在最佳情况下,流量只会占用不必要的长路径,从而增加延迟。在最糟糕的情况下,攻击者可能正在进行中间人攻击,或者将用户重定向到虚假网站以窃取数据。
BGP在现实网络劫持案例
有许多关于故意BGP劫持的真实例子。例如,在2018年4月,俄罗斯提供商宣布了一些实际属于Route53 Amazon DNS服务器的IP前缀(IP地址组)。简而言之,最终结果是尝试登录加密货币站点的用户被重定向到由黑客控制的虚假版本的网站。因此,黑客能够窃取大约152,000美元的加密货币。(为了更具体:通过BGP劫持,黑客劫持了亚马逊DNS查询,以便DNS查询进入他们控制的服务器,返回错误的IP地址,并将HTTP请求定向到虚假网站。
无意中发生BGP劫持事件也很普遍,它们可能对整个全球互联网产生负面影响。2008年,巴基斯坦政府所有的巴基斯坦电信试图通过更新其网站的BGP路线来审查巴基斯坦境内的Youtube。看似意外,新航线被宣布给巴基斯坦电信的上游供应商,并从那里播出到整个互联网。突然之间,Youtube的所有网络请求都被导向了巴基斯坦电信,导致几乎整个互联网网站长达数小时的中断,并使ISP服务商无法接受。idcBEST.com
用户和网络如何防御BGP劫持?
除了持续监控互联网流量如何路由之外,用户和网络可以做很少的事情来防止BGP劫持。
IP段前缀过滤
大多数网络应该只在必要时接受IP段前缀声明,并且只应将其IP前缀声明到某些网络,而不是整个Internet。这样做有助于防止意外的路由劫持,并可能使AS不接受伪造的IP前缀声明; 但是,在实践中,这很难实施。
BGP劫持检测
增加的延迟,降低的网络性能和错误的互联网流量都是BGP劫持的可能迹象。许多大型网络将监控BGP更新,以确保其客户不会遇到延迟问题,并且一些安全研究人员实际上会监控互联网流量并发布他们的发现。
使BGP更安全
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论