BGP劫持原理及如何防御

专注IP定位
• 阅读 55

互联网跟人类社会一样,都通过特定的规则和法律来确保社会的正常运行。BGP协议就是互联网中的“规则”之一。BGP用于在不同的自治系统(AS)之间交换路由信息,当两个AS需要交换路由信息时,每个AS都必须指定一个运行BGP的节点,来代表AS与其他的AS交换路由信息。

BGP劫持原理及如何防御

但这些规则可能会被人为或意外打破。破坏 Internet 规则的最常见方式之一是 BGP 路由器通告不属于其自己的 AS 的前缀,也就是说,BGP路由器非法宣布特定前缀,从而将流量从其预期目的地重定向到它自己的 AS。这称为 BGP 路由劫持,也称为前缀劫持、路由劫持和 IP 劫持。

2018 年 4 月,恶意黑客公布了一些属于 Amazon Web Services 的 IP 前缀,一些试图登录加密货币网站的用户被重定向到黑客所创造的虚假网页之中,导致了超过 160,000 美元的损失。

除了恶意攻击,BGP 劫持的意外实例也可能产生严重后果。2008 年,巴基斯坦的一家 ISP 试图通过更新其 BGP 路由来审查 YouTube,由于在审查过程中配置错误,整个互联网中的YouTube 流量路全都输送到了巴基斯坦 ISP,导致了全球 YouTube 长达数小时的中断。

在了解 BGP 劫持之前,我们需要先掌握一些BGP的基础知识 。 BGP劫持之所以非常常见,很大一部分原因是因为BGP的设计者并未考虑到BGP劫持的可能性,并且默认所有 BGP “说话者”都在说真话。如果想要了解如何减轻这种风险,首先要了解 BGP 前缀通告和 BGP 劫持的工作原理。

BGP 如何通告前缀

AS 由多个路由器组成,并在其边界内包含特定的前缀或路由,向相邻的 AS 通告。BGP 路由器在整个 Internet 中传播这些前缀,并通过各种 AS 维护到该目的地的路径,每个 AS 负责向其邻居宣布它拥有并包含在其中的前缀,BGP 路由器中维护的 BGP 表,其中包含为到达该特定前缀必须经过的 AS 路径。

例如下图:

BGP劫持原理及如何防御

当AS 100需要与AS170建立联系时,首先需要将自己的前缀 195.25.0.0/23 通告给相邻的 AS。这样,当该信息到达 AS 170 时,路由表中的信息将包括: 前缀:195.25.0.0/23 AS_PATH: AS100 AS190

在这个过程中,如果AS 170 收到来自具有不同路径的此前缀,则会优先选择最短路径,即绿色虚线建立联系。(如红色虚线路径更长,穿越的 AS 数量更多,假设之前所有的 BGP 属性都保持不变,会通过最短路径,也就是绿色路径进行传播。)

在 AS 边缘与其他 AS 中的 BGP 路由器形成对等互连的是外部 BGP 或 eBGP 路由器,eBGP 路由器负责向其他 AS 通告前缀。

当“敌对”AS 宣布它实际上不受控制的IP前缀的路由时,就会发生 BGP 路由劫持。例如,在下图中,AS 140 非法通告与 AS 100 相同的前缀:

BGP劫持原理及如何防御

AS 140 中的恶意劫持者正在宣传不属于自己的 AS 的前缀,所有其他 AS 将收到两个具有相同前缀的不同通告,后续的选择将取决于 BGP 属性。

所以,AS_PATH 长度属性在 BGP 劫持中的具有非常重要的作用,假设所有先前的属性保持不变,将安装最短 AS_PATH 的路由。如果 AS_PATH 相等,则由其他属性决定,例如最旧的路径或路由器 ID,这会导致路由的结果难以预测。在上图中,只有 AS 190 可以确保正确路由到 195.25.0.0/23 前缀。

此外,劫持者可以执行所谓的 AS_PATH 伪造,其中对目的地的通告 AS_PATH 进行修改,以便发往相关路由的流量将通过本地 AS。在这些情况下,合法 AS 包含在 AS_PATH 中,以便在将流量引导至非法 AS 时更难检测到此类劫持。

那么BGP劫持会造成什么后果,劫机者又为什么要劫持呢? BGP劫持可能导致互联网流量出错,被监控或拦截,被“黑洞”,或者作为中间人攻击的一部分将流量导向虚假网站。此外,垃圾邮件发送者可以使用BGP劫持或实施BGP劫持的AS网络,以欺骗合法IP以进行垃圾邮件。

另外,攻击者可能执行 BGP 路由劫持的原因包括:

  • 拒绝对特定在线服务的服务。
  • 将流量重定向到伪造网页,以实现凭据、信用卡号和其他机密信息的网络钓鱼。
  • 重定向流量以压倒某些服务。
  • 为了破坏而破坏,进行无差别攻击。

BGP劫持是对 Internet 上正确路由操作的一个非常真实的潜在威胁。因此,采用适当的机制和配置来防止此类攻击和事故非常重要。然而,我们并不能直接避免BGP劫持的发生,除了持续监控互联网流量如何路由之外,用户和网络可以做很少的事情来防止BGP劫持。

IP段前缀过滤

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

BGP劫持检测

劫持检测可以采取多种形式。基线性能的变化,例如更大的延迟、错误的流量或性能的普遍下降是可能表明某种形式的劫持的初步迹象。此外,监控广告以及记录路线的可用性和停机时间是发现劫持的重要方面。

更复杂的系统还可以分析来自邻居的公告 AS 以查看被劫持的前缀是否包含在公告中,可以识别前缀不匹配,并使用路径分析来确保正确的路由。

保护 BGP

从 1989 年BGP首次面世以来,就在不断的发展和改进。但直到在 2017 年引入 BGPsec 时,才进行了一些安全性的尝试,但尚未得到任何实质性采用。所以,就目前而言,这个 30 多年的协议本质上仍然很脆弱,需要一些复杂的监控机制来控制它。

有可能有助于打击 BGP 路由劫持的一个方面是使用路由源授权 (ROA)。ROA 是加密签名的对象,可用于验证特定前缀是否源自合法 AS。ROA 由每个 AS 所有者与区域互联网注册机构 (RIR) 合作创建,RIR 提供生成它们所需的 RPKI 基础设施。

点赞
收藏
评论区
推荐文章
其他专业领域的AWS认证有哪些?
除了云从业者、架构师、运维人员、开发人员四种身份外,还为其他专业领域的人提供认证考试。AWS认证的高级网络适合执行复杂网络任务的个人。主要从网络设计/规划的角度,考生使用AWS设计、开发和部署高可用的网络架构,使用执行工具自动执行AWS组网任务。其中很大一部分是在学习AWS直连、VPN、弹性负载均衡器、VPC、BGP路由协议等网络的知识。这次考试的难度仅次于
Stella981 Stella981
1年前
Opentracing + Uber Jaeger 全链路灰度调用链,Nepxion Discovery
当网关和服务在实施全链路分布式灰度发布和路由时候,我们需要一款追踪系统来监控网关和服务走的是哪个灰度组,哪个灰度版本,哪个灰度区域,甚至监控从HttpHeader头部全程传递的灰度规则和路由策略。这个功能意义在于:不仅可以监控全链路中基本的调用信息,也可以监控额外的灰度信息,有助于我们判断灰度发布和路由是否执行准确,一旦有问题,也可以快速定位
Easter79 Easter79
1年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
Wesley13 Wesley13
1年前
HTTPS和HTTP的区别
HTTPS(SecureHypertextTransferProtocol)安全超文本传输协议它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的
Wesley13 Wesley13
1年前
HTTP协议与HTTPS协议区别
HTTPS(SecureHypertextTransferProtocol)安全超文本传输协议:  它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息,它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络
Wesley13 Wesley13
1年前
IP设置方法的步骤分解
需要设置本地IP一般是在内网中,如常见的路由器与交换机等网络环境中就经常需要设置本地连接ip。下面就一起来学习下本地连接ip设置详细步骤吧。下面以windowsxp系统为例,windows7设置方法与此相同,唯一不同的是在windowsxp网络属性中我们选择TCP/IP协议,而windows7系统中选择IPV4协议,其实都是一样的,只是两系统写法不一
Wesley13 Wesley13
1年前
http协议请求响应详解
http协议请求响应详解一、http协议简介HTTP是HyperTextTransferProtocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式。二、HTTP1.0的基本运行方式1、基于HTTP协议(https://www.osc
存储资源盘活系统,“盘活”物联网架构难题(上)
物联网Internetofthings(IoT),是一种与物有关的互联网,通过射频识别、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理
helloworld_79565979 helloworld_79565979
1星期前
交换机的概念以及工作原理
交换机的概念以及工作原理什么是交换机?Switch意为“交换机”,是一种用于转发电(光)信号的网络设备。它可以为访问交换机的任意两个网络节点提供专用的电信号路径。非常常见的交换机(https://www.ruijie.com.cn/cp/jh/
专注IP定位 专注IP定位
2星期前
度量BGP监测源数量对AS可见性的影响
首先,本文介绍了两个公开的BGP数据源项目情况;其次,从可见AS数量和可见AS边关系数量两个方面来分析度量BGP监测源中对等AS的可见性。1、BGP数据源介绍BGP数据源有2个公开的项目,分别是RIPERIS和RouteViews,