论文部分内容阅读
【摘 要】OSPF是一种基于链路状态的内部网关路由协议,目前链路状态路由协议被广泛使用,本文分析了OSPF路由协议存在的安全隐患以及防范措施,对加强OSPF路由协议的安全性提出了一些建议。
【关键词】OSPF 路由 安全 防范
一、OSPF协议概述
OSPF(Open Shortest Path First)是目前互联网络应用中最为广泛的内部网关路由协议,主要提供自治系统内的动态选择路由。它是一种典型的链路状态协议,每个路由器负责发现、维护与邻居的关系,并将已知的邻居列表和链路费用LSU(Link State Update)报文描述,通过可靠的泛洪与自治系统AS(Autonomous System)内的其他路由器周期性交互,学习到整个自治系统的网络拓扑结构,并通过自治系统边界的路由器注入其他AS路由信息,从而得到整个Internet的路由信息。
二、OSPF的安全性
OSPF具备了两种主要安全性。
第一种为Flooding与信息最小相依性。利用Flooding可以确保在同一区域的路由器所保存的网络拓扑结构数据库是一致的特性作一安全性假设,假设一个路由器坏了或是一个攻击者假造、更改其他路由器的LSA所携带的相关信息,当原来产生该LSA的路由器也收到该项被更改或者假造的LSA时,它会发出一个新的LSA来更正该项错误,这就是OSPF所谓的Fight-Back的功能。而信息最小相依性是指所有的信息都是由原来路由器产生的原来的信息,并不是使用由邻居的路由器所提供给它的信息。
第二种为分层式的路由方法和信息隐藏。分层式的路由方法将OSPF分为区域与骨干两种层次,因此OSPF的路由方式也被分为两种:一是区域内部的路由方式,二是区域间的路由方式。而区域连上骨干的方式是利用区域边界路由器来完成的。所以最终我们可以从三个方面来考虑OSPF分层式路由所提供信息的隐藏与安全。
1.区域内部路由器:由于区域内部路由器所发出的LSA只会在区域内部中传送,因此,区域内部的网络拓扑信息并不会传送到外面去。相对的外部区域的网络拓扑信息也不会传送到内部来。所以当一个区域网络遭受到攻击时并不会影响到其他区域。
2.区域边界路由器:若一个区域只有一个区域边界路由器负责对外界沟通时,那个区域内部的路由器只能完全接受区域边界路由器。因此,若该区域边界路由器对区域内传送错误信息,区域内部的路由器只能接受,而若区域边界路由器对区域外传送区域内的错误信息时,区域外的路由器也不知道。若一个区域有多个区域邊界路由器负责对外界沟通时,则区域边界路由器所传送到内部的信息与传送到外部的信息就能够被侦测出冲突的情形,进而可以侦测出哪一个路由器发生了问题。
3.自治系统边界路由器:OSPF利用自治系统边界路由器来接收从外部输入的路由信息,并将此路由信息传送到自治系统中。对于安全性而言,自治系统边界路由器是一个安全上的漏洞。因为,自治系统边界路由器并没有办法去辨别由其他自治系统所送过来的路由信息是否正确。
三、OSPF的漏洞分析
OSPF路由协议虽然采取了多种安全机制来保护其不受侵犯,但是这些安全机制并非能让OSPF路由协议成为一个绝对安全的协议,它还存在相当多的漏洞。
1.空验证和简单口令验证的安全漏洞分析
当验证类型字段置为0时,即表示该报文为空验证。空验证时验证字段的值可为任意值,路由器在发送和接收该报文时不做任何额外的身份验证处理,接收方只要校验和无误便接收该OSPF报文并将其中的LSA加入到链路状态数据库中。这一验证类型可以认为是没有任何的安全性的。当使用简单口令验证时,验证类型字段置为1,64位的验证字段中存放的是简单口令验证用的口令。简单口令验证的报文是以明文的形式传输的,这其中也包括口令。接收方只要确定校验和正确且验证字段的口令等于预先约定的值即可接收。这一方案对于在传输过程中的窃听者,没有任何的安全性可言。窃听者可以很轻松地监听到口令,然后伪造OSPF报文并发送出去,扰乱正常的路由秩序。
2.加密验证的漏洞
加密验证可预防外部窃听、重播、修改路由消息及阻塞协议报文传输等攻击。但是外部的攻击者还可以通过发送恶意报文来耗尽路由器的资源,使得路由器由于一直应付这样的恶意攻击而陷入一种更加脆弱的境界。
3.协议中的其它威胁
(1)最大年龄攻击:
在OSPF路由协议中,由于LSA的Age字段在经过任何一个路由器的时候都需要修改其值,因此它一般不被验证字段的MD5摘要所覆盖。攻击者可轻松利用该漏洞在LSA的传播过程中将其截获并修改LSA的Age为MaxAge。一旦一个LSA的Age字段被修改为MaxAge,就可引起路由器链路状态数据库中LSA的早熟,LSDB过早的将LSA剔除导致LSDB中路由信息的缺失。
(2)针对序列号的攻击:
由于OSPF的LSA是采用泛洪的方式传播的,因此在泛洪途中区域中的入侵者或错误路由器都可以对LSA信息发起攻击,篡改其内容。针对序列号的攻击有两种,序列号加一攻击和最大序列号攻击。
(3)分块网络攻击:
如果使虚假LSA不被泛洪给该LSA的合法生成者,则该LSA的合法生成者就不会启动其自反击机制来纠正该LSA。假设有一个被入侵的路由器所处的位置可以将区域分为两个子区域,则攻击者就可以只向其中的一个子区域以另一个子区域中的某路由器的身份注入虚假LSA,而不向另一个子区域注入LSA,这显然就可以达到欺骗的效果。
四、OSPF攻击的安全防范
1.针对空验证和简单口令验证漏洞的防范策略
建议采用密码验证类型时,每个OSPF路由器发出的分组都包含32位无符号非递减加密序列号,在所有邻居路由器中都存放着当前该路由器的最新加密序列号,并要求接收到的OSPF分组的加密序列号必须大于或等于存储在路由器中的加密序列号。 2.针对密码验证漏洞的防范策略
由于整个分组都是以明文方式安全暴露于网段中的,分组的IP首部即使被修改也不会察觉,因而它同样需要保护。但是如果对整个分组加密处理,会使分组在网上正常的读取和修改的效率大大降低(例如,路由器修改LSA年龄字段的频率极高,如果每次修改前后都要解密、加密必然会使效率降低),并且维护、管理密钥的成本太高。
建议采用数字签名策略,对整个分组计算消息摘要,即加密散列算法的输入为整个分组和密钥,得到的消息摘要附加到整个分组尾部。这样整个分组仍然是以明文方式传播,因而读取方便。不知道密钥的攻击者虽然可以修改分组,但是他不能计算出修改后的消息摘要,因而OSPF路由器在验证后就会丢弃该分组。采用对整个分组进行数字签名的策略,不但可以提高了路由交换及分组本身的安全性,而且丝毫没有降低效率。虽然一个好的散列函数很难根据消息摘要计算出密钥,但是攻击者看到的用同一个密钥签名的分组越多就越可能破解密码,因此建议密钥要经常更新。
3.针对配置问題和厂商对于OSPF协议
支持缺陷的防范策略,要及时更新路由器的软件版本,以及注意路由器的配置,不要出现配置错误,导致漏洞。
五、小结
通过分析OSPF协议本身所具有的安全性,指出了由于层次化的路由、可靠的泛洪、一致性检验和验证等机制使OSPF协议具有了一定的安全性,使对其攻击也变得复杂和困难,然而通过分析表明OSPF自身所具有的这些机制并不是很安全,还有其他一些漏洞。针对这些漏洞提出了一些可能的攻击方法。最后指出了现有加强OSPF安全性的措施,提出综合利用密码体制的安全性和入侵检测的灵活性来设计新的方法,这也将是下一步研究的重点。
[参考文献]
[1]杨晶,赵保华,屈玉贵.基于层次结构的OSPF一致性测试[J].通信学报,2002(08)
[2]陈海燕,季仲梅,李鸥,胡捍英. OSPF路由协议安全性分析及其攻击检测[J].微计算机信息,2005(05)
[3]钟廷龙,李鑫,郭云飞.OSPF路由协议安全性分析[J].微计算机信息,2005
【作者简介:郭岗磊(1984-)男,助教,主要从事于计算机软件及网络技术方面研究和教学。
邵全义(1982-)男,河南郑州,讲师,主要从事计算机软件及数据库管理与维护方面研究与教学】留着作者简介
【关键词】OSPF 路由 安全 防范
一、OSPF协议概述
OSPF(Open Shortest Path First)是目前互联网络应用中最为广泛的内部网关路由协议,主要提供自治系统内的动态选择路由。它是一种典型的链路状态协议,每个路由器负责发现、维护与邻居的关系,并将已知的邻居列表和链路费用LSU(Link State Update)报文描述,通过可靠的泛洪与自治系统AS(Autonomous System)内的其他路由器周期性交互,学习到整个自治系统的网络拓扑结构,并通过自治系统边界的路由器注入其他AS路由信息,从而得到整个Internet的路由信息。
二、OSPF的安全性
OSPF具备了两种主要安全性。
第一种为Flooding与信息最小相依性。利用Flooding可以确保在同一区域的路由器所保存的网络拓扑结构数据库是一致的特性作一安全性假设,假设一个路由器坏了或是一个攻击者假造、更改其他路由器的LSA所携带的相关信息,当原来产生该LSA的路由器也收到该项被更改或者假造的LSA时,它会发出一个新的LSA来更正该项错误,这就是OSPF所谓的Fight-Back的功能。而信息最小相依性是指所有的信息都是由原来路由器产生的原来的信息,并不是使用由邻居的路由器所提供给它的信息。
第二种为分层式的路由方法和信息隐藏。分层式的路由方法将OSPF分为区域与骨干两种层次,因此OSPF的路由方式也被分为两种:一是区域内部的路由方式,二是区域间的路由方式。而区域连上骨干的方式是利用区域边界路由器来完成的。所以最终我们可以从三个方面来考虑OSPF分层式路由所提供信息的隐藏与安全。
1.区域内部路由器:由于区域内部路由器所发出的LSA只会在区域内部中传送,因此,区域内部的网络拓扑信息并不会传送到外面去。相对的外部区域的网络拓扑信息也不会传送到内部来。所以当一个区域网络遭受到攻击时并不会影响到其他区域。
2.区域边界路由器:若一个区域只有一个区域边界路由器负责对外界沟通时,那个区域内部的路由器只能完全接受区域边界路由器。因此,若该区域边界路由器对区域内传送错误信息,区域内部的路由器只能接受,而若区域边界路由器对区域外传送区域内的错误信息时,区域外的路由器也不知道。若一个区域有多个区域邊界路由器负责对外界沟通时,则区域边界路由器所传送到内部的信息与传送到外部的信息就能够被侦测出冲突的情形,进而可以侦测出哪一个路由器发生了问题。
3.自治系统边界路由器:OSPF利用自治系统边界路由器来接收从外部输入的路由信息,并将此路由信息传送到自治系统中。对于安全性而言,自治系统边界路由器是一个安全上的漏洞。因为,自治系统边界路由器并没有办法去辨别由其他自治系统所送过来的路由信息是否正确。
三、OSPF的漏洞分析
OSPF路由协议虽然采取了多种安全机制来保护其不受侵犯,但是这些安全机制并非能让OSPF路由协议成为一个绝对安全的协议,它还存在相当多的漏洞。
1.空验证和简单口令验证的安全漏洞分析
当验证类型字段置为0时,即表示该报文为空验证。空验证时验证字段的值可为任意值,路由器在发送和接收该报文时不做任何额外的身份验证处理,接收方只要校验和无误便接收该OSPF报文并将其中的LSA加入到链路状态数据库中。这一验证类型可以认为是没有任何的安全性的。当使用简单口令验证时,验证类型字段置为1,64位的验证字段中存放的是简单口令验证用的口令。简单口令验证的报文是以明文的形式传输的,这其中也包括口令。接收方只要确定校验和正确且验证字段的口令等于预先约定的值即可接收。这一方案对于在传输过程中的窃听者,没有任何的安全性可言。窃听者可以很轻松地监听到口令,然后伪造OSPF报文并发送出去,扰乱正常的路由秩序。
2.加密验证的漏洞
加密验证可预防外部窃听、重播、修改路由消息及阻塞协议报文传输等攻击。但是外部的攻击者还可以通过发送恶意报文来耗尽路由器的资源,使得路由器由于一直应付这样的恶意攻击而陷入一种更加脆弱的境界。
3.协议中的其它威胁
(1)最大年龄攻击:
在OSPF路由协议中,由于LSA的Age字段在经过任何一个路由器的时候都需要修改其值,因此它一般不被验证字段的MD5摘要所覆盖。攻击者可轻松利用该漏洞在LSA的传播过程中将其截获并修改LSA的Age为MaxAge。一旦一个LSA的Age字段被修改为MaxAge,就可引起路由器链路状态数据库中LSA的早熟,LSDB过早的将LSA剔除导致LSDB中路由信息的缺失。
(2)针对序列号的攻击:
由于OSPF的LSA是采用泛洪的方式传播的,因此在泛洪途中区域中的入侵者或错误路由器都可以对LSA信息发起攻击,篡改其内容。针对序列号的攻击有两种,序列号加一攻击和最大序列号攻击。
(3)分块网络攻击:
如果使虚假LSA不被泛洪给该LSA的合法生成者,则该LSA的合法生成者就不会启动其自反击机制来纠正该LSA。假设有一个被入侵的路由器所处的位置可以将区域分为两个子区域,则攻击者就可以只向其中的一个子区域以另一个子区域中的某路由器的身份注入虚假LSA,而不向另一个子区域注入LSA,这显然就可以达到欺骗的效果。
四、OSPF攻击的安全防范
1.针对空验证和简单口令验证漏洞的防范策略
建议采用密码验证类型时,每个OSPF路由器发出的分组都包含32位无符号非递减加密序列号,在所有邻居路由器中都存放着当前该路由器的最新加密序列号,并要求接收到的OSPF分组的加密序列号必须大于或等于存储在路由器中的加密序列号。 2.针对密码验证漏洞的防范策略
由于整个分组都是以明文方式安全暴露于网段中的,分组的IP首部即使被修改也不会察觉,因而它同样需要保护。但是如果对整个分组加密处理,会使分组在网上正常的读取和修改的效率大大降低(例如,路由器修改LSA年龄字段的频率极高,如果每次修改前后都要解密、加密必然会使效率降低),并且维护、管理密钥的成本太高。
建议采用数字签名策略,对整个分组计算消息摘要,即加密散列算法的输入为整个分组和密钥,得到的消息摘要附加到整个分组尾部。这样整个分组仍然是以明文方式传播,因而读取方便。不知道密钥的攻击者虽然可以修改分组,但是他不能计算出修改后的消息摘要,因而OSPF路由器在验证后就会丢弃该分组。采用对整个分组进行数字签名的策略,不但可以提高了路由交换及分组本身的安全性,而且丝毫没有降低效率。虽然一个好的散列函数很难根据消息摘要计算出密钥,但是攻击者看到的用同一个密钥签名的分组越多就越可能破解密码,因此建议密钥要经常更新。
3.针对配置问題和厂商对于OSPF协议
支持缺陷的防范策略,要及时更新路由器的软件版本,以及注意路由器的配置,不要出现配置错误,导致漏洞。
五、小结
通过分析OSPF协议本身所具有的安全性,指出了由于层次化的路由、可靠的泛洪、一致性检验和验证等机制使OSPF协议具有了一定的安全性,使对其攻击也变得复杂和困难,然而通过分析表明OSPF自身所具有的这些机制并不是很安全,还有其他一些漏洞。针对这些漏洞提出了一些可能的攻击方法。最后指出了现有加强OSPF安全性的措施,提出综合利用密码体制的安全性和入侵检测的灵活性来设计新的方法,这也将是下一步研究的重点。
[参考文献]
[1]杨晶,赵保华,屈玉贵.基于层次结构的OSPF一致性测试[J].通信学报,2002(08)
[2]陈海燕,季仲梅,李鸥,胡捍英. OSPF路由协议安全性分析及其攻击检测[J].微计算机信息,2005(05)
[3]钟廷龙,李鑫,郭云飞.OSPF路由协议安全性分析[J].微计算机信息,2005
【作者简介:郭岗磊(1984-)男,助教,主要从事于计算机软件及网络技术方面研究和教学。
邵全义(1982-)男,河南郑州,讲师,主要从事计算机软件及数据库管理与维护方面研究与教学】留着作者简介