返回 科技论文 首页
域间路由协议与S―BGP安全解决方案

  摘要:BGP协议已经成为实事上的互联网域间路由协议,目前BGP最突出的问题是缺乏足够的安全保障。对BGP协议的安全问题、相应的安全技术及解决方案进行深入探讨,分析域间路由协议安全问题产生的原因与主要攻击手段,给出BGP安全技术与S-BGP安全解决方案,并分析其优势与局限。
  关键词:域间路由协议;S-BGP协议;路由安全
  DOIDOI:10.11907/rjdk.171093
  中图分类号:TP309
  文献标识码:A 文章编号:1672-7800(2017)006-0176-04
  0 引言
  自从Internet商业化以来,BGP协议被广泛使用已超过10年,协议本身的简单与弹性使得BGP在全球网中扮演了基础性角色。然而BGP并没有提供足够的安全担保,由此产生一系列安全问题,包括恶意攻击、错误配置等,这些都会对网络产生不同程度的影响。随着网络关键应用的不断增多,BGP安全问题带来的隐患也越来越大,尤其是银行、远程在线医疗等应用,若在关键时刻因网络故障而出现问题,其后果将会很严重。因此,BGP安全问题越来越受到重视。本文着重探讨BGP安全问题,包括针对BGP的主要攻击手段、安全技术手段及典型的S-BGP安全解决方案等。
  1 BGP攻击手段
  典型的BGP攻击手段分为3类:IP前缀与AS号攻击、BGP对等路由器攻击、路由策略及属性攻击[1]。其中,IP前缀与AS号攻击、BGP对等路由器攻击较为常见。
  1.1 IP前缀与AS号攻击
  IP前缀与AS号是BGP路由中的关键信息。BGP使用IP前缀和AS路径长度,配合其它属性作为选定最佳路由的度量标准。IP前缀用来指明一个IP地址中用以确定一个网络的地位位数。因为IP前缀具有可变长度,因而一个IP前缀可能被另一个IP前缀完全包含。BGP在选择具有重叠IP前缀路由时,会依据“最长前缀匹配(Longest Prefix Match)”原则,优先选择更长IP前缀的路由。此外,每个自治系统AS都有唯一的标识,称为AS号(AS Number),由IANA(Internet Assigned Numbers Authority)授权分配[2]。
  BGP不保证发布BGP路由信息的AS域会使用分配给它的AS号,或者AS实际拥有它在路由信息中声明的网络IP前缀。只要邻居路由能够接受,一个AS的BGP路由器通过配置能够向其它BGP路由器发布任意AS号或IP前缀的路由信息。而这将导致BGP协议面临前缀攻击(Prefix Hijacking),前缀攻击会导致IP流被定向到错误的AS域。具体的攻击方式可分为4类,包括伪造IP前缀、伪造IP前缀与AS号、伪造子网段IP前缀,以及伪造子网段IP前缀与AS号[3]。具体示例如图1所示。
  1.2 BGP对等路由器攻击
  一对路由器通过建立运行在TCP连接上的BGP会话来交换BGP路由声明与撤消消息。BGP相邻路由器之间通常在IP层上存在直接的物理连接,也可能需要通过中介设备进行交互,比如通过防火墙或另一个路由器,在这种情况下,TCP连接必须要�过IP层的多跳。所有这些BGP路由器之间的TCP连接通道都很容易被攻击,具体攻击手段包括:
  (1)机密性攻击(Attacks Against Confidentiality)。两个路由器会通常期望或假定它们之间的信息不会被第三方获得。可是第三方能够窃听(Eavesdrop)BGP路由器之间的消息流,并可能从中了解策略与路由信息。即使这些消息不够敏感,也能够从BGP数据流推测出服务提供商之间的商业关系甚至是拓扑关系。
  (2)完整性攻击(Attacks Against Message Integrity)。假设使用BGP路由协议通信的双方路由器分别为A和B,而攻击者记为C。则C能够以“中间人(Man in the Middle)”的方式对A或B实施攻击。从而完成信息插入(Insert)、信息删除(Delete)、信息篡改(Modify)、信息重放(Replay)攻击。
  (3)拒绝服务攻击(Denial-of-Service Attack)。远程攻击者C与路由器A或B没有直接连接,路由器之间TCP通信本身可能也会成为拒绝服务攻击(Denial-of-service Attack,DOS)攻击的目标。TCP使用3次握手(SYN, SYN-ACK, and ACK)机制来建立A与B之间的通信连接,使用FIN 或RST结束连接[4]。针对TCP的这种通信建立与断开机机制,攻击者C可以实施SYN洪泛攻击(SYN Flooding Attack)。C向B发送大量的SYN包,但是始终不完成3次握手(比如:始终不发送ACK包),从而耗尽B的连接内存,导致B无法完成其它任何TCP连接。B的邻接路由器将会认为B不可达,从而撤消所有与B有关的路由。更为严重的情况下,当C暂停攻击,B重新在线后,所有与B有关的路由又要再次发布。当C再次攻击时,这种过程将重复出现,从而导致“路由振动(Route Flapping)”的出现。而路由振动对于所有BGP路由器都是有害的,因为它会消耗路由器处理器资源与带宽资源。
  2 BGP安全技术
  BGP安全保护层次划分如图2所示,不同层次采用不同的安全技术,实现对不同对象的安全保护。需要说明的是,这些层次都是相对于BGP协议而言的。
  安全保护实现的层次上移,保护的粒度就越粗,对网络结构与功能的影响就越小;层次下移则反之。下面将阐述这3个层次采用的典型安全技术。
  2.1 密码技术
  密码技术是对抗网络攻击的有效手段,通常可将其分为对称密码技术、非对称密码技术、信息摘要技术、防重放技术等[5]。典型的密码技术分类与对比如表1所示。   密码技术在部署上面临的最大问题是需要对协议进行功能上的改造,增加相应的密码处理硬件或软件。此外,进行密码处理需要一定的资源,从而不可避免地带来性能上的损失。
  2.2 BGP路由过滤与注册
  在BGP控制层通常采用基于静态规则的过滤(Static Rules Filtering)机制来实现对恶意路由过滤。常用过滤规则包括:专用地址文档(Documented Special Use Address,DSUA),无法与已分配数据匹配的IP地址块或AS表。此外也有一些其它补充性的规则,比如私有AS号过滤规则或过长AS路径过滤规则等。然而,静态规则过滤能够提供的安全强度无法与采用密码技术的保护方式相比。此外,单纯的静态过滤规则也不能很好地应对某些AS系统有意或无意的破坏规则行为,因而有时需要更加灵活的动态过滤。
  BGP协议存在的一个根本问题是BGP规则或属性只能达到局部最优。特别是第一次收到其它AS发布的BGP路由信息时,没有规则或经验能够判断该信息的合法性。如果AS能够了解全网的正确路由信息,就会更加容易检测并过滤掉非法路由信息。路由注册表(Routing Registries)技术的目的正在于此。但若形成这样的注册表需要解决两方面的问题:一是如何保证注册表项初始的正确与合法性,注册方担心自己路由信息的正确性,而接收方则会担心注册的合法性;二是如何解决BGP路由注册表的存储与安全访问,PKI可能为此提供解决办法。BGP是全球性的域间路由协议,注册者分布在全球不同的组织中,但目前尚未有全球范围的PKI。
  2.3 BGP安全会话
  在BGP会话层即TCP层,实施安全增强的优势十分明显,它面向的是会话数据,可实现较细粒度的安全控制,同时保证了对BGP应用层的透明性。安全会话层的安全保护可分为两类:一类使用MD5、对称加密技术、非对称加密、防重放技术来实现BGP会话信息的完整性、机密性及防重放特性,该层最常采用且安全功能较完善的是IPSEC技术,它能够同时提供完整性、机密性、抗重放攻击及抗DOS攻击等安全服务[6];另一类是未采用密码手段的技术,如:HOP完整性协议和GTSM(the Generalized TTL Security Mechanism)。未采用密码技术的安全会话所具有的安全强度要远远低于基于密码技术的安全会话。
  2.4 链路保护
  如果物理层出现链路问题,则很难保证BGP路由的正确性与稳定性,比如在“链路切断攻击(Link Cutting Attacks)”的情况下。目前主要利用安全增强的SNMP(Simple Network Management Protocol)防止攻击者远程访问和修改设置配置,或是通过采用VPN技术保证与路由器连接的安全性。
  3 S-BGP安全解决方案
  针对BGP协议的安全问题,目前已提出多种BGP安全解决方案,典型的包括S-BGP、SoBGP、psBGP、pgBGP等。下文将对S-BGP的设计思想、要解决的问题、存在的不足等进行分析。
  3.1 S-BGP
  BBN公司的Kent于2000年提出的S-BGP(Secure BGP)是��前研究中最为完整、最具代表性的安全机制。S-BGP采用集中式认证模型,其认证层次与互联网的地址分配层次相对应,其基本思想是使用证书和路径属性签名来验证信息的有效性。Cisco公司的White于2003年提出的SoBGP(secure origin BGP)则采用了网状信任模型,其PKI管理3类证书[7]:路由器、路由策略和地址源。与S-BGP 类似,SoBGP采用源地址证书进行源地址认证。
  3.2 S-BGP安全机制
  S-BGP体系结构包含3个主要安全机制:PKI、确认属性和IPSec。
  S-BGP利用基于X.509 V3数字证书的公钥基础设施(PKI),对IP地址块从属关系、AS号从属关系、AS标识、BGP路由器标识及AS代表授权进行认证。S-BGP涉及3种数字证书:第1种证书将公钥与一个组织及一组IP地址前缀捆绑,该证书既可用来确认一个AS拥有的IP地址空间,也可以用于一个地址空间拥有者授权一个AS发布地址空间,证书组织成一个单根证书的分层结构,其平行于现有的地址分配系统。ICANN是根,第2层通常包含如ARIN和RIPE等的注册机构,第3层通常由ISP组成,第4层包含DSP或订购者。只有运行BGP的实体才需要此数字证书,如果一个组织拥有IP地址的多个区段,则只分配1个数字证书,以使UPDATE所使用的证书数量最小化。该类证书的组织结构如图3所示。第2种证书将公钥与1个组织及1组AS号捆绑,第3种证书将公钥与AS号和BGP路由器ID捆绑。这两种证书用于BGP Speaker认证另一个BGP Speaker,也用于确认某一发言者被授权代表1个指定的AS。这里,ICANN是根,第2层包含注册机构,第3层包含ISP、DSP和订购者。第2种证书用于第2层,第3种证书用于第3层。下一层通常代表与上一层组织相关的AS和路由器。这两类证书组织结构如图4所示。
  IP地址前缀和AS号分配管理已有专门的机构及成熟的分配步骤,因此S-BGP希望能利用现有的基础设施来管理这些证书。
  确认属性是体系结构的第2个主要组成部分,是S-BGP的核心,是实现上述重要安全保障的一种直接方法。由数字签名保护的确认属性,使S-BGP可以抵御拜占庭攻击。确认属性由PKI分配的密钥和证书进行签名与验证,它使每个接收路由信息的BGP Speaker能验证路由信息中的每个AS是否已被路由路径中的前一个AS授权,以及源AS是否已被UPDATE中每个IP前缀的拥有者授权发布这些IP前缀[8]。确认属性被一个新的、可选的、BGP传递的路径属性所携带,路径属性同时携带路由信息的数字签名。   3.3 S-BGP存在的问题
  S-BGP虽然解决了BGP的安全问题,但同时引入了以下问题:①增加了网络开销:由于用于保障安全的证书、证书撤销列表、确认属性等数据需在网上传递,需求数据量比较大,因此增加了网络开销;②增加了路由器的运算:由于路由器在收到UPDATE时,需对其进行验证,对于证书的验证增加了路由器CPU的运算[9];③增加了网络的存储开销:每个BGP路由器要存储所有相关的数字证书、AA和RA,且数量很大;④部署困难:一是PKI的部署存在很大问题,由于通信资源是一个国家的战略资源,因此一个国家不可能将本国通信网络的安全依附于别国管理的PKI上,并且一国之内,不同的运营商之间存在较大竞争,也会导致PKI部署上的问题。二是新加入的BGP路由器必须首先获得属于自已的证书及私钥,因此增加了网络扩展的困难;⑤不能抵御联合欺骗攻击。
  4 结语
  本文对域间路由协议的安全问题、安全技术及具有代表性的安全解决方案进行了综合分析。结果表明,现有方案中还没有一种能够在可接受的安全保证与部署成本之间取得足够平衡的完美方案。长远来看,BGP安全工作应当考虑以下几方面的问题:一是将域间路由安全问题置于网络整体安全构架下考虑,互联网是一个有机整体,因而需要考虑BGP安全问题与其它网络安全问题或结构问题之间的相互影响与促进作用;二是如何对可能的攻击或错误状态进行有效的甄别与检测,提前发现攻击与错误状态,能够有效降低BGP协议状态恢复所带来的损失;三是考虑可部署性,对BGP安全性的增强,必须考虑最终网络部署,即能够在保证安全的同时,尽可能降低对网络结构、运行效率所造成的影响。
  参考文献:
  [1]KEVIN BUTLER,TONI FARLEY,PATRICK MCDANIEL,et al.A survey of BGP security issues and solutions[C]. Proceedings of the IEEE,2009.
  [2]戴泽华,张连连,邓全才,等.基于OPNET的二叉树路由查找算法的设计与实现[J].河北建筑工程学院学报,2012(3):55-59.
  [3]王太红.互联网前缀劫持检测与防御研究[D].北京:清华大学,2015.
  [4]H BALLANI,P FRANCIS,X ZHANG.A study of prefix hijacking and interception in the Internet[D].In ACM SIGCOMM,2007.
  [5]杨昕.移动互联网安全支付技术的研究与实现[D].广州:广东工业大学,2016.
  [6]杨鹏翼. CBTC系统中IPSec的研究与设计[D].北京:北京交通大学,2008.
  [7]郭毅,王振兴,孙剑平.域间路由系统安全技术研究[J].信息工程大学学报,2012(3):345-351.
  [8]�浩然.域间路由协议BGP内容安全的研究[D].南京:南京邮电大学,2011.
  [9]胡峰. Linux下RIP路由的实现[D].武汉:武汉理工大学,2007.
  (责任编辑:孙 娟)


【相关论文推荐】
  • BGP路由协议实际应用中的问题及解决方案
  • 基于PeeringDB与BGP路由表的域间路由实验研究
  • Web应用安全分析与解决方案研究
  • 网络安全性分析与解决方案
  • 网络安全解决方案与对策
  • 智能PDU解决方案兼顾安全与能耗
  • 浅谈空管安全培训现状与解决方案
  • 网络安全技术与企业网络安全解决方案研究
  • BGP路由协议的实验教学设计与创新