论文部分内容阅读
[摘 要]随着动态路由协议的广泛应用,路由协议的安全性也越来越得到重视。然而,在路由协议的实际应用中,时常会发生路由协议的攻击事件。本文通过对3种较为常用的动态路由协议的应用研究,分析了RIP V2协议、OSPF协议、BGP协议这3种动态路由协议的安全性能,并进行总结。
[关键词]动态路由协议 安全性 应用 攻击
中图分类号:TP393.08 文献标识码:A 文章编号:1009-914X(2013)16-0219-02
动态路由协议是网络中路由器之间相互通信、传递路由信息、利用收到的路由信息更新路由器表的过程,它能实时地适应网络结构的变化。常用的动态路由协议主要有:RIP V2协议、OSPF协议、BGP协议。
1、RIP V2协议
1.1 RIP V2的应用
RIP协议是较早应用,并且使用较为普遍的内部网关协议。RIP协议最初是为Xerox网络系统的Xerox parc通用协议而设计的,是Internet中常用的路由协议。RIP是典型的距离向量(distance-vector)协议,用距离向量算法,即路由器根据距离选择路由。路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站点数的路径信息,除到达目的地的最佳路径外,任何其它信息均予以丢弃。同时路由器也把所收集的路由信息用RIP协议通知相邻的其它路由器。这样,正确的路由信息逐渐扩散到了全网。
RIP使用非常广泛,它简单、可靠,便于配置。但是RIP只适用于小型的同构网络,因为它允许的最大站点数为15,任何超过15个站点的目的地均被标记为不可达,RIP每隔30s一次的路由信息广播也是造成网络的广播风暴的主要原因之一。
1.2 RIP V2安全性分析
RIP V2协议模拟攻击过程:由于RIP协议是通过UDP协议固定端口520-v router.ip.address.2来扫描520端口,来确认该网络在使用RIP协议,然后通过sniffer来嗅探路由更新包,然后篡改路由更新包,改变路由信息,使得原先的路由协议失效。
RIP V2和RIP V1都是使用不可靠的UDP协议进行传输,但前者提供的是明文和密文两种认证机制。由于明文容易被嗅探到,所以通常采用密文加密。RIP协议加密同样采用通用的MD5认证,同时使用RFC1723标准的报文格式。RIP协议密文认证过程:RIP的认证是单向的,R1就能接受R2发送过来的路由,否则就不能接受R2发送来的路由。 由于认证的过程发送的报文都是经过MD5加密,因此不会被破解,而没有认证过的路由器发送过来的路由信息就会被丢弃掉,这样就防止路由信息通过被篡改过的报文而被更新。而且,所有起用RIP协议的路由器必须配置相同的密码才能进行路由更新,从而使路由器起用RIP协议时免受攻击。
2、OSPF协议
2.1 OSPF协议的应用
OSPF(Open Shortest Path First)作为当前应用最广泛的内部网关路由协议(Interior Gateway Protocol,IGP),主要提供自治系统(Autonomous System,AS)内的动态选择路由。OSPF的三个内建安全机制对于OSPF协议的安全运行是极其重要的。OSPF的三个内建安全机制如下:
2.1.1 可靠泛洪和OSPF自反击
OSPF通过泛洪来进行链路状态通告的传播,通过一种类似TCP的确认重传机制OSPF保证所进行的泛洪是可靠的,可靠泛洪机制确保同一区域内的路由器有同样的拓扑数据库。
OSPF自反击是一种防止攻击OSPF的有效机制,它将使攻击者费尽心机伪造的LSA很难真正达到被其它路由器利用从而影响路由选择的实效。
2.1.2 层次路由和信息隐藏
层次路由机制的设计是为了解决路由的可扩展性问题,即减少路由表大小、带宽、路由计算的资源,增强稳定性等等,使OSPF更安全。OSPF通过将区域划分为骨干区和非骨干区的方式使得OSPF成为一个基于两个层次的路由协议在进行通告的时候,可以设置相应的策略不通告或只通告汇聚的路由信息等方式隐藏要被通告的区域中的某些重要的信息。
2.1.3 程序性检验及约束
OSPF报文的接收要经过严格的检验过程,分三个阶段:IP头、OSPF协议包头和OSPF具体协议报文头的检验。OSPF报文的这种常规性检验是必要的,它可以减少协议运行的错误,并增加了攻击的难度。
2.2 OSPF安全性分析
OSPF整个运行机制相对比较复杂,其运行过程中的很多环节都有可能被攻击者开发为对OSPF的攻击,造成不同程度的危害,主要以下3种攻击方式:
2.2.1 利用Hello报文的攻击
OSPF路由器定期向外发送Hello报文,用以发现邻居和维护邻接节点关系。Hello报文中的区域ID、Hello间隔等参数错误,会使该Hello报文被邻居路由器丢弃,造成邻居Down,直接在链路上阻绝Hello报文当然也可以造成这种危害。如果OSPF没有进行加密或者攻击者攻破了OSPF的验证体系,攻击者就可以修改报文中的某些参数来达到攻击的效果。
2.2.2 利用Update报文的攻击
为修改LSA参数,使OSPF朝着利于攻击者的方向运转,攻击者必须能成功的注入虚假LSA。因此攻击者必须能够侵入或者假扮成一个OSPF路由器来和其它的路由器达到Exchange或者更高的状态,以使两者间可以传送LSA,而且此时攻击者显然必须至少占有一条链路的密钥或者该链路根本就不需要验证。然后,攻击者就可以通过注入虚假LSA来达到攻击的目的了,例如不间断的发送大量Maxage的LSA进行Maxage攻击等,这些攻击方式都很可能造成OSPF路由域的混乱。攻击者还可以通过修改LSA的花费、链路描述等信息来诱使OSPF路由器计算出错误的路由,导致信息被传送至不安全的网络。 2.2.3 资源消耗攻击
通过不间断的大量发送各种类型的OSPF报文,很可能造成被攻击实体的资源耗竭,而无法正常工作。例如向OSPF的邻居发送包含过长邻居列表的超大Hello报文,邻居路由器将需为邻居列表上的每个邻居创建邻居结构,而消耗大量的资源,使资源枯竭。
2.3 关于OSPF协议安全运行的两大建议
OSPF路由协议并不足够安全,因此建议对OSPF采用积极的主动防护和检测机制来保证其安全。
2.3.1 验证
验证是OSPF保护的第一环,因此对OSPF路由域内的所有OSPF路由器都采用有效的加密认证机制是非常必要的,尽管我们仍需开发更安全有效的加密认证机制。
2.3.2 入侵检测系统
此外,设计适当的入侵检测系统也是很有帮助的,它可以帮助发现很多针对OSPF的攻击为对OSPF的攻击往往会因为OSPF的自反击机制在路由域中产生很多的冲突信息。
首先是路由器层面,我们需保证操作系统的安全,路由器上其它所有协议的安全,路由器的物理安全等等;
其次是路由域层面,这需要考虑所有边缘接入实体和所有链路的安全;
最后我们要强调的是人的层面,应更多地对网络进行监控和取证,积极立法,保护网络安全运行。
3、BGP协议
3.1 BGP协议的应用
BGP(Border Gateway Protocol)是一种自治系统间的动态路由发现协议。
在BGP网络中,可以将一根网络分成多个自治系统。自治系统间使用eBGP广播路由,自制系统内使用iBGP在自己的网络内广播路由。
BGP的作用主要是在自治系统间自动交换无环路的路由信息,通过交换带有自治系统号(AS)序列属性的路径可达信息,来构造自治区域的拓扑图,从而消除路由环路并且实施用户配置的路由策略。
3.2 BGP协议的安全性分析
Internet由多个互相连接的商业网络组成。每个企业网络或ISP必须定义一个自治系统号(ASN)。这些系统号由IANA分配。共有65535个可用的自治系统号,其中65512-65535为私用保留。当共享路由信息时,这个号码也允许以层的方式进行维护。BGP使用可靠的会话管理,TCP中的179端口用于触发update和Keepalive信息到它的邻居,以传播和更新BGP路由表。
但是,由于BGP使用了TCP的传输方式,它就会使BGP引起不少关于TCP方面的问题,如SYN Flood攻击,序列号预测,一般拒绝服务攻击等。BGP没有使用它们自身的序列而依靠TCP的序列号来代替,因此,如果设备采用了可预测序列号方案的话,就存在这种类型的攻击。幸好,运行在Internet上大部分重要的路由器使用了Cisco设备,而其是没有使用预测序列号方案。部分BGP的实现默认情况下没有使用任何的认证机制,而有些可能存在和RIP同样问题的就是使用了明文密码,将导致被攻击的可能性增大。
BGP协议在实际应用中还会受到类似OSPF协议一样的伪造报文攻击等,但BGP协议一般都是应用在核心网的出口并且配置密码认证,BGP协议的认证只有密文认证,安全性相对较好。
4、结语
综上所述,RIP V2协议,OSPF协议,BGP协议这3种常用动态路由的安全性都不能做到百分之百,都有些许隐患存在,但是通过实用认证,可以降低很大程度的风险性。不同的路由协议的认证方式不一样,但是只要采用密文认证,其安全性都可以有最大的保证。也就是说,只要采取了有效、合理的措施,动态路由的安全性可以最大化的得到保证,用户可以放心使用。
参考文献:
[1] J.Moy,“OSPF version 2,”Standards Track RFC 2328[S], IETF,1998.
[2] Emanuele Jones,OSPF Security Vulnerabilities Analysis[Z], Internet draft, draft-ietf-rpsec-ospf-vuln-00.txt,IETF,2004.
[3] 陈晓筹.CCIE Security实验指南 .悲剧:人民邮电出版社,2005.
[关键词]动态路由协议 安全性 应用 攻击
中图分类号:TP393.08 文献标识码:A 文章编号:1009-914X(2013)16-0219-02
动态路由协议是网络中路由器之间相互通信、传递路由信息、利用收到的路由信息更新路由器表的过程,它能实时地适应网络结构的变化。常用的动态路由协议主要有:RIP V2协议、OSPF协议、BGP协议。
1、RIP V2协议
1.1 RIP V2的应用
RIP协议是较早应用,并且使用较为普遍的内部网关协议。RIP协议最初是为Xerox网络系统的Xerox parc通用协议而设计的,是Internet中常用的路由协议。RIP是典型的距离向量(distance-vector)协议,用距离向量算法,即路由器根据距离选择路由。路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站点数的路径信息,除到达目的地的最佳路径外,任何其它信息均予以丢弃。同时路由器也把所收集的路由信息用RIP协议通知相邻的其它路由器。这样,正确的路由信息逐渐扩散到了全网。
RIP使用非常广泛,它简单、可靠,便于配置。但是RIP只适用于小型的同构网络,因为它允许的最大站点数为15,任何超过15个站点的目的地均被标记为不可达,RIP每隔30s一次的路由信息广播也是造成网络的广播风暴的主要原因之一。
1.2 RIP V2安全性分析
RIP V2协议模拟攻击过程:由于RIP协议是通过UDP协议固定端口520-v router.ip.address.2来扫描520端口,来确认该网络在使用RIP协议,然后通过sniffer来嗅探路由更新包,然后篡改路由更新包,改变路由信息,使得原先的路由协议失效。
RIP V2和RIP V1都是使用不可靠的UDP协议进行传输,但前者提供的是明文和密文两种认证机制。由于明文容易被嗅探到,所以通常采用密文加密。RIP协议加密同样采用通用的MD5认证,同时使用RFC1723标准的报文格式。RIP协议密文认证过程:RIP的认证是单向的,R1就能接受R2发送过来的路由,否则就不能接受R2发送来的路由。 由于认证的过程发送的报文都是经过MD5加密,因此不会被破解,而没有认证过的路由器发送过来的路由信息就会被丢弃掉,这样就防止路由信息通过被篡改过的报文而被更新。而且,所有起用RIP协议的路由器必须配置相同的密码才能进行路由更新,从而使路由器起用RIP协议时免受攻击。
2、OSPF协议
2.1 OSPF协议的应用
OSPF(Open Shortest Path First)作为当前应用最广泛的内部网关路由协议(Interior Gateway Protocol,IGP),主要提供自治系统(Autonomous System,AS)内的动态选择路由。OSPF的三个内建安全机制对于OSPF协议的安全运行是极其重要的。OSPF的三个内建安全机制如下:
2.1.1 可靠泛洪和OSPF自反击
OSPF通过泛洪来进行链路状态通告的传播,通过一种类似TCP的确认重传机制OSPF保证所进行的泛洪是可靠的,可靠泛洪机制确保同一区域内的路由器有同样的拓扑数据库。
OSPF自反击是一种防止攻击OSPF的有效机制,它将使攻击者费尽心机伪造的LSA很难真正达到被其它路由器利用从而影响路由选择的实效。
2.1.2 层次路由和信息隐藏
层次路由机制的设计是为了解决路由的可扩展性问题,即减少路由表大小、带宽、路由计算的资源,增强稳定性等等,使OSPF更安全。OSPF通过将区域划分为骨干区和非骨干区的方式使得OSPF成为一个基于两个层次的路由协议在进行通告的时候,可以设置相应的策略不通告或只通告汇聚的路由信息等方式隐藏要被通告的区域中的某些重要的信息。
2.1.3 程序性检验及约束
OSPF报文的接收要经过严格的检验过程,分三个阶段:IP头、OSPF协议包头和OSPF具体协议报文头的检验。OSPF报文的这种常规性检验是必要的,它可以减少协议运行的错误,并增加了攻击的难度。
2.2 OSPF安全性分析
OSPF整个运行机制相对比较复杂,其运行过程中的很多环节都有可能被攻击者开发为对OSPF的攻击,造成不同程度的危害,主要以下3种攻击方式:
2.2.1 利用Hello报文的攻击
OSPF路由器定期向外发送Hello报文,用以发现邻居和维护邻接节点关系。Hello报文中的区域ID、Hello间隔等参数错误,会使该Hello报文被邻居路由器丢弃,造成邻居Down,直接在链路上阻绝Hello报文当然也可以造成这种危害。如果OSPF没有进行加密或者攻击者攻破了OSPF的验证体系,攻击者就可以修改报文中的某些参数来达到攻击的效果。
2.2.2 利用Update报文的攻击
为修改LSA参数,使OSPF朝着利于攻击者的方向运转,攻击者必须能成功的注入虚假LSA。因此攻击者必须能够侵入或者假扮成一个OSPF路由器来和其它的路由器达到Exchange或者更高的状态,以使两者间可以传送LSA,而且此时攻击者显然必须至少占有一条链路的密钥或者该链路根本就不需要验证。然后,攻击者就可以通过注入虚假LSA来达到攻击的目的了,例如不间断的发送大量Maxage的LSA进行Maxage攻击等,这些攻击方式都很可能造成OSPF路由域的混乱。攻击者还可以通过修改LSA的花费、链路描述等信息来诱使OSPF路由器计算出错误的路由,导致信息被传送至不安全的网络。 2.2.3 资源消耗攻击
通过不间断的大量发送各种类型的OSPF报文,很可能造成被攻击实体的资源耗竭,而无法正常工作。例如向OSPF的邻居发送包含过长邻居列表的超大Hello报文,邻居路由器将需为邻居列表上的每个邻居创建邻居结构,而消耗大量的资源,使资源枯竭。
2.3 关于OSPF协议安全运行的两大建议
OSPF路由协议并不足够安全,因此建议对OSPF采用积极的主动防护和检测机制来保证其安全。
2.3.1 验证
验证是OSPF保护的第一环,因此对OSPF路由域内的所有OSPF路由器都采用有效的加密认证机制是非常必要的,尽管我们仍需开发更安全有效的加密认证机制。
2.3.2 入侵检测系统
此外,设计适当的入侵检测系统也是很有帮助的,它可以帮助发现很多针对OSPF的攻击为对OSPF的攻击往往会因为OSPF的自反击机制在路由域中产生很多的冲突信息。
首先是路由器层面,我们需保证操作系统的安全,路由器上其它所有协议的安全,路由器的物理安全等等;
其次是路由域层面,这需要考虑所有边缘接入实体和所有链路的安全;
最后我们要强调的是人的层面,应更多地对网络进行监控和取证,积极立法,保护网络安全运行。
3、BGP协议
3.1 BGP协议的应用
BGP(Border Gateway Protocol)是一种自治系统间的动态路由发现协议。
在BGP网络中,可以将一根网络分成多个自治系统。自治系统间使用eBGP广播路由,自制系统内使用iBGP在自己的网络内广播路由。
BGP的作用主要是在自治系统间自动交换无环路的路由信息,通过交换带有自治系统号(AS)序列属性的路径可达信息,来构造自治区域的拓扑图,从而消除路由环路并且实施用户配置的路由策略。
3.2 BGP协议的安全性分析
Internet由多个互相连接的商业网络组成。每个企业网络或ISP必须定义一个自治系统号(ASN)。这些系统号由IANA分配。共有65535个可用的自治系统号,其中65512-65535为私用保留。当共享路由信息时,这个号码也允许以层的方式进行维护。BGP使用可靠的会话管理,TCP中的179端口用于触发update和Keepalive信息到它的邻居,以传播和更新BGP路由表。
但是,由于BGP使用了TCP的传输方式,它就会使BGP引起不少关于TCP方面的问题,如SYN Flood攻击,序列号预测,一般拒绝服务攻击等。BGP没有使用它们自身的序列而依靠TCP的序列号来代替,因此,如果设备采用了可预测序列号方案的话,就存在这种类型的攻击。幸好,运行在Internet上大部分重要的路由器使用了Cisco设备,而其是没有使用预测序列号方案。部分BGP的实现默认情况下没有使用任何的认证机制,而有些可能存在和RIP同样问题的就是使用了明文密码,将导致被攻击的可能性增大。
BGP协议在实际应用中还会受到类似OSPF协议一样的伪造报文攻击等,但BGP协议一般都是应用在核心网的出口并且配置密码认证,BGP协议的认证只有密文认证,安全性相对较好。
4、结语
综上所述,RIP V2协议,OSPF协议,BGP协议这3种常用动态路由的安全性都不能做到百分之百,都有些许隐患存在,但是通过实用认证,可以降低很大程度的风险性。不同的路由协议的认证方式不一样,但是只要采用密文认证,其安全性都可以有最大的保证。也就是说,只要采取了有效、合理的措施,动态路由的安全性可以最大化的得到保证,用户可以放心使用。
参考文献:
[1] J.Moy,“OSPF version 2,”Standards Track RFC 2328[S], IETF,1998.
[2] Emanuele Jones,OSPF Security Vulnerabilities Analysis[Z], Internet draft, draft-ietf-rpsec-ospf-vuln-00.txt,IETF,2004.
[3] 陈晓筹.CCIE Security实验指南 .悲剧:人民邮电出版社,2005.