RIP欺骗及安全防范
2018-03-21万朝辉
万朝辉
(河北诺亚人力资源开发有限公司,河北石家庄050000)
0 引言
目前网络中使用的路由信息协议有很多,比如OSPF、ISIS、RIP及BGP等。每个路由信息协议都有自身的优缺点。面对不同的网络环境,应该根据具体情况来选用合适的路由信息协议。比如小型的互联网中,由于RIP简单和开销较小的优点,人们经常会选择RIP作为路由协议。但是RIP自身的漏洞会引起网络安全方面的问题,所以使用RIP的同时,也要做好安全防范。
1 RIP协议
1.1 工作方式及原理
RIP属于一种路由选择协议,是分布式的、利用距离向量(Bellham-Ford)的算法。在此类通信网络中,每个路由器与2个以上的实际网络相连,负责在这些网络之间转发通信数据,RIP协议中的“距离向量”被称作“跳数”,从一个路由器到连接网络的距离定义为1,每经过一个路由器,跳数就自动加1,但是RIP规定一条路径的上限是15个路由器,当“距离”超过15个时,就默认拒绝。
RIP通过的路由器数量最少,拥有“最短距离”的特性,快捷方便,被广泛应用。所以,在网络中如果还有另外一条高速且经过路由器较多的路由时,RIP也会选择一条具有最少路由器的路由,而舍弃前者。
RIP协议每隔一段固定的时间(30 s)就会与相邻的路由器交换路由表,每个路由器都会将所知的最短路径及每个网络经过的下一跳路由器告诉相邻的邻居。
1.2 RIP协议报文格式
目前,RIP协议有2个版本,分别是RIP1和RIP2。RIP1不支持子网掩码,RIP2可以支持变长的子网掩码和CIDR。另外,RIP2还提供简单的鉴别过程并支持多播。
RIP协议的报文格式如图1所示,从图中可以看出,RIP报文是使用运输层的用户数据报协议(UDP)进行传送的。
RIP的首部占4 bytes,命令字段用来解释报文的含义。命令字段为1时,代表请求路由信息,2代表对请求路由信息的响应或未被请求而发出的路由更新报文。RIP的路由部分是由路由信息组成的。地址族标识符字段是用来标识所使用的地址协议,当值为2时,说明使用的是IP地址。路由标记字段填入的是自治系统号,自治系统号可以不是本自治域的。RIP报文的最大长度是504 bytes,当超出此值时,必须用另外一个RIP报文来传送。
图1 RIP2协议报文格式
2 RIP安全漏洞
RIP报文使用不可靠的UDP报文进行传送,安全性差。而且,运行RIP协议的路由器如果没有使用认证机制,没有发出更新请求的路由器也能够接收到更新报文,即路由器可以接受来自任何相邻设备的路由信息,这样就造成了网络安全方面的漏洞。
若黑客伪装成正常的设备向路由器发送虚假的路由更新报文,路由器接收后,就会对原来正确的路由表目进行修改,修改后路由器就会按照错误的路由进行报文收发,导致机密信息泄露,甚至网络崩溃。
3 RIP欺骗
由于RIP存在安全漏洞,在网络运行中,没有认证机制的情况下,容易受到RIP欺骗。RIP欺骗举例如图2所示,按照图中的IP地址配置好各个端口后,对路由器R1和R2分别进行路由表的查询会得出2个路由器的路由表目。
图2 RIP欺骗
路由器R1的路由表目为:
Router R1#show ip route
1.0.0.0/8 is directly connected,Serial 0/1
192.168.1.0/24 is directly connected,FastEthernet 0/0
2.0.0.0/8[120.1]via 192.168.1.2/24(on FastEthernet 0/0)
路由器R2的路由表目为:
Router R2#show ip route
2.0.0.0/8 is directly connected,Serial 0/1
192.168.1.0/24 is directly connected,FastEthernet 0/0
1.0.0.0/8[120.1]via 192.168.1.1/24(on FastEthernet 0/0)
IP地址为192.168.1.3/24的计算机作为攻击者,先使用软件Namp来探测到UDP端口之后,攻击者再利用Sniffer软件捕获R1路由器发出的更新报文,并对正确的报文进行恶意的修改,比如:将子网掩码255.0.0.0修改为255.255.0.0,那么路由表目中的1.0.0.0/8 is directly connected,Serial 0/1就会被恶意修改为1.0.0.0/16 is directly connected,Serial 0/1,攻击者再将此虚假的报文发给R2路由器,那么路由器R2得到的路由更新报文就是错误的,这就是一个简单的RIP欺骗。
4 安全防范
针对RIP协议的不安全性,可以了解到RIP欺骗的严重性,当一个正常运作的网络受到RIP欺骗时,很有可能被窃取机密信息,甚至导致这个正常运作的网络瘫痪,所以必须采取措施对RIP欺骗进行安全防范。目前,具体的安全防范可以有以下几种。
(1)RIP2报文中使用验证机制
RIP1报文天生具有不安全因素,所以采用RIP2报文并在该报文的分组格式中设置16个字符的明文密码字符串或MD5签字,具体封装报文如图3所示。
图3 RIP2验证信息封装报文
RIP2报文中封装了验证信息,oxFFFF是验证标志,当验证类型为ox0002时,说明是采用明文验证。密文验证还没有公开标准,但在CISCO公司产品中是支持MD5密文验证的。采用RIP2验证信息封装报文后,路由器之间交换路由信息就必须先通过验证,只有在验证通过后,2个路由器之间才能互相交换路由,否则,在验证不通过的情况下,说明有设备不被信任,2个路由器之间是不能交换信息的,这就使恶意攻击者不能轻易攻击路由器了。
(2)采用数据链路层PPP验证
PPP是点对点协议,修改了SLIP协议中的所有缺陷,并允许通信双方进行协商。确定不同的选项,采用路由器之间数据链路层PPP的验证,使用PPP的PAP验证或Chap验证,可以实现数据链路层的安全线路连接。
(3)被动端口的应用和配置
将路由器的某接口配置更改为被动接口后,该接口立即停止向该接口所在的网络广播路由发送任何更新消息。但是,该接口完全可以继续接收路由更新广播消息。
5 结束语
在网络信息飞速发展的今天,网络安全问题越来越受到重视,由于RIP协议简单和开销小的优点被广泛应用于企业内部网。但是在使用RIP协议的同时,也要考虑到其本身的不安全因素,并采取相应的安全措施来防范。
[1]Roberta B,Mak R O,Keith S.网络安全完全手册[M].北京:电子工业出版社,2005.
[2]Kaspersky K.黑客调试技术揭秘[M].北京:电子工业出版社,2006.
[3]Stallings W.密码编码学与网络安全[M].北京:电子工业出版社,2006.
[4]谢希仁.计算机网络(第五版)[M].北京:电子工业出版社,2008.
[5]秦昌潜.报文分片对网络的影响[J].中国集体经济,2012(9):176-177.
[6]Rhee M Y.网络安全加密原理、算法与协议[M].北京:清华大学出版社,2007.