BGP协议和BGP劫持

BGP——边界网关协议
互联网整体上来说是一个分布式的网络,并没有整个网络的中心。但是整个互联网实际上是由成百上千个不同的ISP的子网络组成的。这些子网络互相连接,通过BGP协议告诉对方自己子网络里都包括哪些IP地址段,自己的AS编号(AS Number)以及一些其他的信息。一组路由器在统一管理之下,在AS内使用内部网关协议和统一度量来路由数据包,而通过外部网关协议将数据包路由到其他AS。方便路由尽可能高效地从一个IP地址传输到另一个IP地址。
IP地址 网站的实际Web地址。当用户键入网站名称并且浏览器找到并加载它时,请求和响应在用户的IP地址和网站的IP地址之间来回传递。
DNS(域名系统)服务器提供IP地址,但BGP提供了最快的方式来访问该IP地址。DNS是互联网的地址簿,那么BGP就是互联网的路线图。

BGP如何被劫持?

两个已经成功建立BGP连接的AS基本会无条件的相信对方AS所传来的信息,包括对方声称所拥有的IP地址范围。

但是大型ISP拥有的IP地址段可能过于分散,所以一般是按最大范围设置BGP prefix 地址过滤。比如假设ISP A拥有地址段20.1.0.0/16和20.200.0.0/16,那么ISP B可能会设置过滤对方传来的20.0.0.0/8以外的路由。

一般ISP分配到的IP地址段都是连续的,但是基本也都有可操作的空间,可以把数百到几万个不属于自己的IP合法加到自己的BGP信息里。多数ISP甚至都没有把自己本身的IP段过滤掉,也就是说如果其他AS声称拥有该ISP自己的IP段,这个ISP的BGP路由也会相信。

为了解决这个问题,有人发明了一个叫Internet Routing Registry (IRR)的东西,相当于一个开放式的数据库,像DNS 根服务器一样采用分布式镜像服务器放在世界各地。

ISP可以向IRR注册自己的IP地址段和路由策略,其他ISP就可以查询IRR从而对自己的BGP路由器做过滤。这样做的确防止了一些由于无意而导致的路由劫持。

但是IRR里存了大约10万条记录,如果全部加载进路由器的话是个不小的负担。另外IRR基本没人管,任何人可以往里面注册任何路由记录。通过Whois找到目标IP段的 管理员邮箱,如果该邮箱或者邮箱所在的域名已经过期,那么就自己注册一个,然后就可以随便通过邮件向IRR修改记录了。

当AS宣布它实际上不控制的IP前缀的路由时,该公告(如果未被过滤)可以传播并被添加到因特网上的BGP路由器中的路由表。从那时起,直到有人注意到并纠正路由,这些IP的流量将被路由到该AS。

由于BGP劫持,互联网流量可能出错,被监控或拦截,被“黑洞”,或者作为中间人攻击的一部分被导向虚假网站。页面加载时间将会增加,因为请求和响应将不会遵循最有效的网络路由。在最佳情况下,流量只会占用不必要的长路径,从而增加延迟。在最糟糕的情况下可能将用户重定向到虚假网站以窃取数据。

BGP劫持预防:

- IP段前缀过滤
大多数网络应该只在必要时接受IP段前缀声明,并且只应将其IP前缀声明到某些网络,而不是整个Internet。这样做有助于防止意外的路由劫持,并可能使AS不接受伪造的IP前缀声明; 但是,在实践中,这很难实施。

- BGP劫持检测
增加的延迟,降低的网络性能和错误的互联网流量都是BGP劫持的可能迹象。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值