BGP连接到Qrator过滤网络的漂亮方案历史回顾
- BGP劫持-ISP发起不属于它的地址空间的公告时;
- BGP路由泄漏-ISP将从一个提供者或对等方收到的前缀通告给另一提供者或对等方时。
自巴基斯坦电信发起的
令人难忘的YouTube BGP事件在全球传播引发的这一
令人难忘的YouTube BGP事件以来,已经过去11年了,这导致持续时间将近2小时的流量中断,其形式是将流量从合法用户重定向到合法用户。伪造的道路之一。 我们可以猜测该事件是否是故意的,甚至正确的答案也无法帮助我们完全防止此类事件在今天发生。 当您阅读本文时,路由泄漏或劫持正在网络上蔓延。 怎么了 由于BGP并不容易,而且配置正确和安全的设置更加困难(至今)。
在这十一年中,由于BGP在现代互联网体系结构中的地位,劫持BGP成为非常有害的攻击媒介。 得益于BGP,路由器不仅可以获取对等信息,因此还可以获取所有Internet路由-它们能够计算出通过许多中间(传输)网络到达目的地的流量的最佳路径,每个中间网络代表一个独立的AS。 单个AS只是在单个外部路由策略下运行的一组IPv4和/或IPv6网络。
多亏了BGP处于当前状态,攻击者才能够进行大规模流量抢劫,有效劫持目标网络的前缀,将自己置于中间位置。 但这仅仅是开始-在国家赞助的网络参与者时代,很明显,边界网关协议的基石(即信任)已不足以防止恶意的路由事件(无论是否故意)爆发。 众所周知,由于BGP在互联网的存在中起着至关重要的作用(它是控制世界各地不同互联网服务提供商之间流量的唯一外部网关协议),所以十年来我们一直在尝试修补事情了。
问题定义
管理使用BGP协议的AS的整体复杂性不会随着时间和精力而降低。 ISP和运营商市场每年都在迅速增长的发展中市场的运营商无法正确估计AS调整不当可能带来的后果。 任何安全措施都无法抵御这种内部错误。 BGP内缺乏自动化,使得经验不足的新参与者无法在高压力情况下正确处理AS,例如在路由泄漏创建之后或在劫持之下。
不幸的是,由于Internet在人类生活中的地位,使得许多AS运营商很难跟上不断增长的数字。 举个简单的例子:1997年自治系统的数量为3000个,2005年为17000个,2019年初为63678个。路由表(存储在BGP路由器中)从1997年的5万个增加到2005年的18万个,达到惊人的85万个在2019年初。
路由泄漏和劫持都会对ISP操作产生类似的影响-它们会重定向流量,从而导致延迟增加,数据包丢失或可能的MITM攻击。 但是,风险级别在很大程度上取决于这些BGP异常的传播。 例如,仅传播给客户的劫持可能会集中特定ISP客户锥体的流量。 如果异常是通过对等方,上游或到达第1层网络传播的,从而在全球范围内分布,则流量可能会在整个国家和/或全球提供商的级别上重定向。 在不需要异常源支持的情况下(如果源有恶意的目的,这是至关重要的),可以限制BGP异常向上游和对等方的传播,这将显着提高域间路由的安全性并解决大多数问题。
仅通过快速浏览一下Wikipedia引用的与
“ BGP劫持”相关的事件,我们就可以看到它们在过去两年中出现的频率有所增加。 怎么了 因为组织该组织对BGP的攻击的方式很多,而且断开连接的可能性也很小。 但是,那些众所周知的
不良参与者最终会失去上游联系,因为这会损害声誉。 而且,由于还没有办法以100%的准确性防止路由泄漏或前缀劫持,因此仍会发生此类事件。
每天都会发生数以百计的路由事件,其中大多数是简单配置错误的结果。 那些真正危险和恶意的劫持通常具有欺骗性,并且具有针对性,这使他们更难找到和修复。 而且只有一小部分获得了媒体报道,因为由于BGP的性质,每个事件都必须传播到更重要的(全国性的)水平才能引起注意-那些监视其网络的公司可以停止这种传播。
由于BGP劫持的概念围绕查找未过滤BGP公告的ISP(并且有很多这样的提供程序)而展开,因此始终存在可疑之处。 在过去两年中,
对于 每 一次 BGP 事件 ,都有一个或几个特定的AS负责。
您应该认为,由于对现代生活中如此重要的部分造成巨大损害的潜在风险,企业应被吓死,并首先采取一切可能的措施来防止此类事件。 好吧,这听起来太好了,无法成为真正的IRL。
截至2018年底,IPv4路由中的7%的ISP和IPv6路由世界中的1%的ISP接受了其客户范围之外的泄漏。 您可能会说数字不是那么高,但是让我们仔细看一下按ISP“大小”排序的结果:

毫不奇怪,所有第1层都受到影响,TOP 400 IPv4 ISP中有50%以上受到影响。 IPv6看起来更健康,但请不要忘记它具有更少的前缀和支持ISP。 因此,问题存在并且没有得到足够有效的解决-我们将尝试解释原因。
尝试应用补丁
实际上,已经在改善BGP安全性方面进行了巨大的努力。 当前,最常用的技术是使用基于
Internet路由注册中心数据构建的入口(入站)过滤器。 这个想法很简单:使用“批准的”路由对象和AS-SET在客户链接处创建过滤器。 一个潜在的问题是AS-SET和路由对象从一个IRR到另一个IRR都不同,有时在不同的IRR中可能存在具有相同标识符的不同对象。 而且,当然,IRR政策不是强制性的,它们是自愿实施的,这导致我们陷入许多IPv4和IPv6没有注册任何对象或对象不正确的情况。 除了那些错误的。 因此,许多IRR对象的维护不善,甚至一些大型的Tier-2级网络也无法正确配置其过滤器。
RPKI资源证书层次结构还有一个令人兴奋的选项可以过滤掉不正确的通知-基于ROA的原始验证可以用于检测和过滤意外的错误消息。 尽管这些BGP升级非常有用,但它们仍然依赖攻击者可以并且将操纵的传递BGP属性-AS_Path。
RPKI (ROA基础)基于资源证书的层次结构,并与Internet号码资源分配结构保持一致。 资源证书链接到例如
RIPE NCC注册。 这是因为只有在某人是RIPE NCC成员并且与RIPE NCC有合同关系的情况下,才能权威地说明单个Internet号码资源的持有者是谁。 该证书的有效期为18个月,但每12个月自动更新一次。 RPKI的结构方式使得每个当前资源证书都与当前资源分配或分配相匹配,这对于ASPA也是至关重要的时刻。
值得一提的是,2018年是BGP安全不可或缺的一年,发生了许多重大事件。
BGPSec最终是一个标准,尽管由于复杂的支持要求,没有人期望它能够完全实现。 以100%的采用率,BGPSec可以非常高精度地解决恶意劫持,但是对于大多数参与者而言,严格的加密AS_Path验证的计算成本是难以承受的,除了世界上最富有的AS运营商之外。 而且,为了使其正常工作,BGPSec需要在管理自己的路由公告的每个网络中实施。
最近发生的所有事件表明,BGP操纵精灵已无法使用,这使某人的愿望得以实现。 我们迫不及待要想十年再得出一个十年前的结论-现在应该通过提供有效的技术手段来进行前缀验证(入口和出口)来停止这一结论。
ASPA方法
以前,我们公司的目标是改进协议以减少错误和错误,并且在2018年,我们专注于打击恶意活动-特别是BGP劫持。 正如我们在多种场合中已经看到的那样,此向量很有效,攻击者会毫不犹豫地使用它来尝试中断服务或窃取用户数据。 主要的问题是,除了监视之外,当前没有什么可以防止协议本身中的路径劫持。 正如我们已经说过的,BGPSec不会改变任何东西,除非它在最重要的网络提供商上实施(或者换句话说,在大多数网络上),如果该协议合适的话可能已经发生。
我们的答案是黑客方法-ASPA,其中使用当前工具来解决BGP路由世界中最严重的问题。 尽管最终的解决方案可以解决几乎所有相关威胁,但实施起来很容易。 无需等待完全采用ASPA的事实是支持我们方法的主要原因。 在2018年,我们看到了大量的路由泄漏,严重的劫持以及许多其他涉及BGP的事件,这就是我们需要找到在最近几个月内可行的东西而无需等待10年才能实施BGPSec的主要原因。
我们的工程师正在与其他人协作,对BGP协议进行自主系统路径授权的改进,可以有效,更重要的是快速解决全球劫持问题。 ASPA致力于自动检测和预防恶意劫持(与ROA结合使用)和路由泄漏。
为了实现此特定目标,定义了新的AS_PATH验证过程,该过程可帮助自动检测从客户和对等方接收到的公告中格式错误的AS_PATH。 该过程本身使用一个共享的,已签名的客户对提供商(C2P)关系的数据库,该数据库是通过新的RPKI对象-自治系统提供者授权(ASPA)构建的。 它轻巧且易于部署,可在实施后立即检测到无效的AS_PATH。
ASPA是经过数字签名的对象,可证明客户AS持有人(CAS)已授权特定的提供商AS(PAS)向后传播客户的IPv4或IPv6 BGP路由通告-到提供商的上游或同级。 要深入研究细节,您应该查看ASPA记录配置文件。
因此,如果收到来自客户或对等方的有效路由,则其AS_PATH中必须仅包含C2P对。 之后,如果我们有一个经过验证的客户对提供者对的数据库,便可以验证从客户和对等方收到的路由! 当然,这不是灵丹妙药,它只是一个阻止异常蔓延到其起源的有用工具。

这个简单的方案显示了这种基于ASPA的验证是如何工作的。 绿色的AS代表已签名的对,红色的AS代表攻击者。 在此示例中,AS1拥有一个RPKI ROA对象。
AS_PATH:AS4角落1显示,如果AS_PATH中最接近的AS不是接收者的邻居ASN,则过程将停止,结果为“无效”。 同样,如果在AS_SEQ段中的一个中存在“无效”对,则该过程也会中止并显示结果“无效”;否则,过程将停止。
AS_PATH:AS4 AS1如果攻击者试图建立一个新的未验证对,则
角落2显示了相同的情况,结果也将是“无效的”。
AS_PATH:AS4 AS2 AS1角落3说明了宣布未验证对的任何尝试都将导致“无效”路由,因此被丢弃。
AS_PATH:AS2 AS1在最后一个
角落4中 ,我们返回到初始条件,在这种条件下,如果AS_PATH中最接近的AS不是接收者的邻居ASN,则该过程将保持为“无效”。
有关AS_PATH验证过程的详细信息,请参见相应的
IETF草案 。 它看起来似乎有些复杂,但是它是轻量级的,可以在现有的RPKI基础结构上工作,并且在部分采用的状态下具有成本效益。 换句话说,它现在可以工作,帮助我们将BGP路由泄漏和劫持带到了灭绝的边缘!
为什么您应该支持我们改善BGP安全性
首先,我们如何知道RPKI ROA适合担任此角色? 让我们仔细看看有关其采用情况的最新统计信息。
在938526前缀的IPv4中,95272具有有效的RPKI ROA条目或〜10%。 在80480前缀的IPv6世界中,10593具有有效的RPKI ROA条目或〜12%
这些数字并不像我们希望的那样高,但是它们每天都在增长! 由于经过验证的ROA的数量不是很大,因此很明显,只有负责任的ROA每天都要维护它们。 尽管我们并不完全相信IRR数据,但与ROA签署BGP公告已经很有用,而且就位。 Internet Exchange运营商以及全球最大的Internet服务提供商之间都有进步。 关于“普通互联网用户”,如果您有足够的动力保护您的数据安全,那么您自己的ISP可能会成为下一个。
如果您像我们一样有兴趣消除流量劫持的机会,请签署ROA,并在IETF邮件列表中支持ASPA的采用,我们希望在可观察到的将来过渡到RFC阶段!