BGP的安全风险分析及对策

时间:2022-05-21 10:47:14

BGP的安全风险分析及对策

摘要 本文较为全面地分析了bgp安全性上的缺陷以及这些威胁所带来的风险,并介绍了目前业内针对BGP安全性问题所做的一些改进工作,最后立足于实际情况提出了在现有条件下增强BGP安全性的若干操作性建议。

关键词 BGP 安全 风险

BGP(Board Gateway Protocol 边界网关协议)[1]是互联网各个AS(Autonomous System自治系统)之间用来交换路由信息的协议,也是目前事实上的标准。通过BGP,AS中的路由器可以学习到互联网上各个AS的互联情况,从而构建整个互联网的地图。因此,BGP是整个互联网正常运转的重要基础设施,一旦BGP出现故障,轻则影响网络性能,重则将导致整个互联网瘫痪。本文对BGP所面临的安全风险进行了较为全面的阐述,并分析了目前针对BGP安全性问题的一些研究成果,最后提出了若干建议。

1 BGP简介

互联网有许多个AS组成,AS是指由同一个管理机构管理并使用一致路由策略的网元设备的集合。每个AS内部使用域内路由协议(如RIP,OSPF等)来交换路由信息,从而使AS内部的各个路由器都学习到本AS内的路由。另外,各个AS的路由器通过域间路由协议(如BGP)交换路由信息来产生并不断维护一张互联网各个网段的地图,通过这张地图才能维持互联网的联通性。

BGP动态维护一张BGP路由表,该表中保存了到达互联网上其他网段的下一跳地址和需要通过路径(AS-path)。BGP建立在TCP基础之上,采用179作为端口号,使用TCP连接和重传机制。BGP有 OPEN、KEEPALIVE、UPDATE、NOTIFICATION四种报文,两个路由器先通过BGP的OPEN消息建立邻接关系,并定时发送KEEPALIVE报文来保持邻接关系,当有路由更新时通过UPADATE报文发送给对端,发生错误时通过NOTIFICATION通知对方。BGP定义若干属性来描述路由信息,其他路由器可以根据这些信息作出最优的路由决策,BGP的路由属性如下表所示:

BGP具有简单灵活,可靠稳定和易于扩展的优点,因此被广泛的采用,成为互联网上事实上的标准,目前各个AS之间均是通过BGP来进行域间路由交换的。

2 BGP面临风险

最初互联网设计是在一个封闭的系统内运行,默认通信的各方互相信任,在协议的设计上没有过多考虑安全性,BGP同样存在这个问题。当互联网规模较小时,BGP安全性漏洞未得到足够的关注,但随着互联网的规模快速膨胀,通过BGP交换的域间路由信息急速增长,BGP安全性的弱点也日益得到重视和研究。BGP面临的风险主要体现在以下几个方面:

(1)TCP/IP协议漏洞:BGP运行在TCP之上,没有设计专门的加密和认证机制,所有针对TCP/IP漏洞的攻击都可以对BGP的运行造成危害。这些攻击利用TCP/IP的漏洞可以破坏路由器建立正常BGP连接,或者插入伪造的BGP路由更新报文,从而影响路由器无法正常更新路由或者学到错误的路由,进而对整个网络的连通性和稳定性造成损害。针对TCP/IP的攻击主要有以下几种:TCP SYN攻击;TCP SYN ACK攻击;TCP ACK攻击;TCP RST/FIN/FIN-ACK攻击;DoS/DDoS攻击等,关于这些攻击对BGP带来的风险相见文献[2]。

(2)BGP通信机制漏洞:BGP本身的运行机制也存在很多漏洞,外部攻击者如果恶意修改消息内容和发送消息的顺序,也会导致BGP对等体之间无法通过BGP来正常交换路由信息。BGP本身漏洞存在于以下几个部分:消息头;OPEN消息;KEEPALIVE消息;UPDATE消息;NOTIFICATION消息,详细的攻击方法和危害在文献[2]中有详细分析和描述。

(3)BGP信息验证漏洞:BGP没有相应的机制来保证路由器的路由信息是真实的,如果一个路由器向他的邻居宣告虚假的、错误的或者不是最优的路由,现有的BGP机制并不能验证路由器路由信息的真实性和有效性。

从恶意攻击来源来说,BGP攻击分为内部攻击和外部攻击,内部攻击是合法的BGP对等体利用漏洞发起的攻击,外部攻击是来自未知源的攻击。从攻击方式来说也可分为两类,一是通过BGP错误路由信息,属于内容欺诈,二是破坏BGP通信机制,导致无法通过BGP交换路由信息,这两类威胁都可以导致整个互联网路由系统的错误甚至崩溃,下面描述一下BGP错误所可能带来的危害:

(1)网络拥塞:大量互联网流量被错误路由转发到一些网络,导致这些网络拥塞,路由器只能丢弃报文。

(2)孤岛:某些网络由于错误路由被认为是不可到达的,但实际上是联通的。

(3)循环:报文在循环的路径上转发,最终由于TTL耗尽被丢弃。

(4)窃听和篡改:某些数据流量被虚假路由转发经过特定网络,有机会被恶意窃听和篡改。

(5)延迟:报文经过错误的路径到达目的地,增加网络延迟。

(6)抖动:重复地或经常冗余地公告和撤销路由,使路由器不得不反复计算去往目的网络的最佳路径,进而影响整个网络的稳定性。

(7)消耗资源:BGP运行出现故障时,可能会导致网络上出现大量的BGP更新报文, 占用带宽和路由器资源。

以上这些事件一旦发生都会严重影响互联网的运行情况,而且在现实中发生过多次因为BGP错误配置或者恶意攻击导致的网络故障,因此必须研究相应的技术手段来改进BGP的安全性。

3 BGP风险对策

针对BGP这些安全隐患,各个研究机构、设备厂商都做了大量的研究工作,提出了很多种改进方案来增强BGP的安全性,主要的工作有以下几种:

(1)通过TCP MD5[3]签名来增强安全性,这种方法是对TCP协议进行扩展,通信双方事先协商一个密钥,发送方对TCP包中指定信息和密钥计算MD5摘要值并发送给接收方。接收方计算接收到的TCP包中指定信息和密钥计算MD5摘要值并与接收的摘要值对比。

(2)通过TCP增强认证[4]来增强BGP的安全性,相对于TCP MD5机制,TCP增强认证提供了多个摘要算法,对密钥分配和密钥更新机制也做了改进。但这种机制目前在实际应用中还未普及。

(3)采用BTSH(BGP TTL Security Hack)机制[5],通过设置为IP头部的TTL预设一个值,使得只有当后者离发送者是精确的一跳步的时候,才允许那些BGP包到达接收路由器。这种方法在邻接路由器之间可以一定程度上防范黑客攻击S-BGP(Secure BGP)[6],是一套完整的BGP安全解决方案,采用PKI为的路由前缀和路径信息进行授权,有效避免了虚假路由的问题;另外对UPDATE消息进行扩展,引入新的属性对UPDATE进行授权,防止被篡改。S-BGP还应用IPsec实现了BGP端到端的安全,由于S-BGP过于复杂,且需要部署PKI,目前不具备广泛部署的条件。

(4)SoBGP(Secure Origin BGP)[7]是由思科公司提出的,其主要思想是建立一个集中式的层级模型来认证IP前缀所有权。SoBGP同时建立一个关于全球AS的拓扑图,SoBGP采取的方法是建立一个关于全球AS的拓扑图,对AS-PATH中的路径与该拓扑图进行比较来看是否有效。

(5)PsBGP(Pretty Secure BGP)[8]对路由前缀信任模型没有采用层次化的结构,而是采用类似信任网络的方式,即:“你的邻居都信任你,那我也信任你”。AS-PATH的信任模型与S-BGP类似。

(6)域间路由监测与验证机制,主要思想不同于S-BGP和soBGP的授权认证,而是假定所有路由前缀和路径信息都是真实可信,而对这些信息进行检查和验证,及时发现虚假路由向网管人员告警。采用这种思想的有:基于MOAS的BGP冲突检测[9]、域间路由验证[10](Inter-domain Routing Validation, IRV)、Light-Weight[11]方法、iSPY系统[12]等等。

(7)TCP MD5签名和TCP增强认证可以有效改善BGP连接的安全性,其中TCP MD5是目前比较成熟、应用较为广泛的一种扩展。BTSH是通过一定的设置来减少BGP受外部攻击的风险。S-BGP、SoBGP、PsBGP则需要建立新的信任模型,可以解决路由前缀和路由路径的认证问题,复杂性较高,短期内无法在全网部署。域间路由监测和验证系统是一类过渡手段,在BGP的安全性没有从协议本身彻底完善前,通过部署一定的系统来及时发现BGP异常,将危害控制在一定范围内。

4 目前工作

BGP是互联网非常重要的基础设施,对于AS域的网络管理者来说,必须对BGP的安全运行给予足够的重视,鉴于BGP先天的安全性缺陷,对BGP的管理决不能简单将其配置联通即可,必须参考现有成熟经验和最佳实践,指定详细地BGP配置管理流程,以下是几点建议:

(1)强制与BGP对等体之间采用TCP MD5签名,并且定期更换密钥。

(2)一般情况下不与经过多条的BGP对等体建立邻接关系,并开启BTSH机制。

(3)根据AS自身情况部署一定的BGP路由实时监测和报警机制或系统。

(4)执行Unicast-RPF(单播逆转路径过滤),检查被接收的BGP消息是否包含对等BGP发言人的源地址。

(5)设置同一BGP对等体最大前缀上限,如果一个对等体宣告太多前缀,这个对等会话将被终止。

(6)制定严格BGP配置审核机制,并对网管员进行培训。

参考文献

[1] Y. Rekhter, Ed., “A Border Gateway Protocol 4 (BGP-4)” RFC 4271, January 2006

[2] S. Murphy.,”BGP Security Vulnerabilities Analysis”, RFC 4272, January 2006

[3] Heffernan, A., "Protection of BGP Sessions via the TCP MD5 Signature Option", RFC 2385, August 1998

[4] J. Touch., "The TCP Authentication Option" RFC 5925, June 2010

[5] V. Gill, J. Heasley, D. Meyer. The BGP TTL Security Hack (BTSH). NANOG-27 meeting, Arizona, USA, 2002(10):320~328.

[6] S. Kent, C. Lynn, K. Seo. Secure Border Gateway Protocol (S-BGP). IEEE Journal on Selected Areas in Communications, 2000, 18(4):582~592.

[7] R. White. Securing BGP Through Secure Origin BGP. The Internet Protocol Journal, 2003.9, 6(3):15~22.

[8] Wan T,Kranakis E,Van O P.Pretty Secure BGP(psBGP).In:Proc.NDSS,2005.

[9] X. Zhao, D. Pei, L. Wang, et al. Detection of Invalid Routing Announcement in the Internet. DSN '02: Proceedings of the 2002 International Conference on Dependable Systems and Networks, IEEE Computer Society, 2002.59~68.

[10] G. Goodell, W. Aiello, T. Griffin, et al. Working around BGP: An incremental approach to improving security and accuracy in inter-domain routing. Proceedings of Symposium on Network and Distributed Systems Security, San Diego, California, USA. 2003.192~210.

[11] Changxi Zheng,Lusheng Ji,Dan Pei,Jia Wang,Paul Francis.A light-weight distributed scheme for detecting ip prefix hijacks in real-time.Proceedings of the 2007 conference on Applications,technologies,architectures,and protocols for computer communications,August 2007.Kyoto,Japan.

[12] Zheng Zhang,Ying Zhang,Y.Charlie Hu,etc.Ispy:detecting ip prefix hijacking on my own.Proceedings of the ACM SIGCOMM 2008 conference on Data communication,2008.NY,USA.

上一篇:浅谈几种节水灌溉新技术 下一篇:湖南农村体育建设现状分析及对策探讨