胆囊息肉

首页 » 常识 » 预防 » BGP劫持原理及如何防御
TUhjnbcbe - 2025/7/18 21:19:00
全国哪家医院治疗白癜风 http://www.xftobacco.com/

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

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

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

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

在了解BGP劫持之前,我们需要先掌握一些BGP的基础知识。

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

BGP如何通告前缀?

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

例如下图:

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

前缀:.25.0.0/23

AS_PATH:ASAS

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

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

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

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

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

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

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

1
查看完整版本: BGP劫持原理及如何防御