现有的BGP攻击技术 – 作者:Santisco

BGP简介

BGP(Border Gateway Control)边界网关协议是网络上的一种去中心化的自治路由协议。在BGP协议中,网络中的每一个自治系统(AS)互相凭借信任通信,这也就给了攻击者可乘之机。BGP攻击是一个长久的网络中的隐患,针对BGP的攻击和防御的讨论也从来没有停止,现有的两种主要的解决方案RPKI和BGPSec也很难满足全部的需求,在这篇文章中我会具体讲到BGP攻击如何实现以及现有BGP攻击的不足。

BGP攻击

BGP劫持

BGP劫持攻击可以分成常规BGP劫持攻击和针对路径BGP劫持攻击。常规BGP劫持方式相对古老简单也相对直接,隐藏BGP劫持攻击则相对更加隐蔽而且能够绕过现有的防御机制。以下我会分别讲到这两种攻击及对应的攻击场景。

常规BGP劫持

在BGP劫持之前,先简单介绍两个BGP协议中AS是如何选择路径的。

  • 在通向统一个目的地的所有AS Path中,选择最短的那条。
  • 选择更详细的目的地。比如说在1.2.3.0/24和1.2.3.0/26中,会选择/26这条。

在此基础上,BGP劫持就变得容易了很多。比如说,原本的目的地是1.2.3.0,攻击者也可以自己声明一个相同的目的地1.2.3.0,但是路径要短得多,在此基础上原有的BGP信息就会被劫持到攻击者那里。同样原理的是,攻击者也可以声明一个更为详细的目的地,从而令现有的BGP信息被劫持到攻击者方。

这种攻击是极为简单而且有效的,考虑到它的危害性,RPKI就被提出来用于防护了。RPKI是针对于源目的地的保护,简单来说,RPKI具有验证目的地是否属于对应AS的能力。如果目的地的AS号码和声明目的地的AS号码不同,就很容易发现是由攻击者散发的伪造声明。

针对路径的BGP攻击

考虑到RPKI会对路径的目的地进行保护,攻击者就想办法提出一些基于路径的,绕过RPKI保护的攻击方法。总体来说,RPKI本身很难解决绝大部分的BGP攻击,常见的绕过RPKI的方式的例子是

  • 在现有基础上声明一个正常的AS作为目的地。举例来说,如果攻击者声明的是AS3,原本的路径则可以由AS1->AS2->AS3变成AS1->AS2->AS3->AS4。AS4是一个正常的AS所以可以避过RPKI的检测,然而这条路径中仍然有攻击者在其中用于监听信息。

现有的路径保护措施是BGPSec,原理与RPKI类似,不过不同的是对路径上的每一个节点进行防护。然而这种保护的消耗过于巨大,所以距离真正实现还有很长一段路要走。

操纵BGP路径

操纵BGP路径的方式有很多,常见的就是BGP下毒攻击,通过伪造路径的方式令现有的路径造成回路,BGP的机制会防止路径生成回路,因此抵消掉可能会造成回路的路径。

BGP的防范

现有的BGP防护中除了BGPSec和RPKI以外,还有一些基于BGP的防护包括BGP serial hijacker的识别。这个系统意识到网络中绝大部分的攻击都是由持久的攻击者带来的,通过对历史数据的分析,系统可以对网络中潜在的BGP攻击者做出识别,从而防护整个网络的安全。

来源:freebuf.com 2020-12-04 13:22:00 by: Santisco

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论