BGP路由协议的安全问题及防范措施

网络 路由交换
这样如果一攻击者能通过RIP来欺骗路由到网络,然后再通过其他协议如OSPF或者不用验证的BGP路由协议来重新分配路由,这样攻击的范围将可能扩大。

BGP路由协议是路由协议中非常常见的一种,下面我们主要分析了BGP路由协议的安全问题及防范措施。路由器在每个网络中起到关键的作用,如果一路由器被破坏或者一路由被成功的欺骗,网络的完整性将受到严重的破坏,如果使用路由的主机没有使用加密通信那就更为严重,因为这样的主机被控制的话,将存在着中间人(man-in-the-middle)攻击,拒绝服务攻击,数据丢失,网络整体性破坏,和信息被嗅探等攻击。

关于一些很普遍的路由器安全问题

上面地址所收集的漏洞大部分无关于BGP路由协议级的攻击,而是一些由于错误配置,IP信息包错误处理,SNMP存在默认的communit name string,薄弱密码或者加密算法不够强壮而造成。上面的一些攻击一般一个标准的NIDS都能够探测出来。这些类型的攻击对网络底层有一定的削弱性并可以组合一些高极别的协议进行攻击。

正确的配置管理可以处理不少普通的漏洞,如你必须处理一些标准的规程:不使用SNMP(或者选择强壮的密码),保持补丁程序是最新的,正确处理访问控制列表,出入过滤,防火墙,加密管理通道和密码,路由过滤和使用MD5认证。当然在采用这些规程之前你必须知道这些安全规则的相关的含义和所影响到的服务。下面是有关各种协议的浅释和相关漏洞及可以采用的防卫措施

Routing Information Protocol (RIP,路由信息协议)是基于距离矢量的路由协议,其所有路由基于(hop)跳数来衡量。由Autonomous System (AS,自主系统) 来全面的管理整个由主机,路由器和其他网络设备组成的系统。RIP是作为一种内部网关协议(interior gateway protocol),即在自治系统内部执行路由功能。相反的大家都知道外部网关BGP路由协议(exterior gateway protocol),如边缘网关协议(BGP),在不同的自治系统间进行路由。RIP协议对大型网络来说不是一个好的选择,因为它只支持15跳,RIPv1而且只能通信自身相关的路由信息,反之RIPv2能对其他路由器进行通信。RIP协议能和其他路由协议共同工作,依照Cisco,RIP协议经常用来与OSPF协议相关联,虽然很多文荡指出OSPF需代替RIP. 应该知道经由RIP更新提交的路由可以通过其他路由协议重新分配,这样如果一攻击者能通过RIP来欺骗路由到网络,然后再通过其他协议如OSPF或者不用验证的BGP路由协议来重新分配路由,这样攻击的范围将可能扩大。

RIP协议相关的漏洞和防范措施

一个测试者或者攻击者可以通过探测520 UDP端口来判断是否使用RIP,你可以使用熟悉的工具如nmap来进行测试,如下所示,这个端口打开了并没有使用任何访问控制联合任意类型的过滤:

[root@test]# nmap -sU -p 520 -v router.ip.address.2
interesting ports on (router.ip.address..2):
Port State Service
520/udp open route

RIPv1 天生就有不安全因素,因为它没有使用认证机制并使用不可靠的UDP协议进行传输。RIPv2的分组格式中包含了一个选项可以设置16个字符的明文密码字符串(表示可很容的被嗅探到)或者MD5签字。虽然RIP信息包可以很容易的伪造,但在RIPv2中你使用了MD5签字将会使欺骗的操作难度大大提高。一个类似可以操作的工具就是nemesis项目中的RIP命令--nemesis-rip,但由于这个工具有很多的命令行选项和需要必备的知识,所以nemesis-rip 比较难被script kiddies使用。想使用nemesis-rip成功进行一次有效的RIP欺骗或者类似的工具需要很多和一定程度的相关知识。不过/\"Hacking Exposed/\"第二版第10章:Network Devices提到的有些工具组合可以比较容易的进行RIP欺骗攻击攻击,这些工具是使用rprobe来获得远程网络RIP路由表,使用标准的tcpdump或者其他嗅探工具来查看路由表,srip来伪造RIP信息包(v1或者v2),再用fragrouter重定向路由来通过我们控制的主机,并使用类似dsniff的工具来最后收集一些通信中的明文密码。

尽管大家知道欺骗比较容易,但仍然存在一些大的网络提供商仍旧依靠RIP来实现一些路由功能,虽然不知道他们是否采用来安全的措施。RIP显然目前还是在使用,呵呵但希望很少人使用RIPv1,并且使用了采用MD5安全机制的RIPv2,或者已经移植到了使用MD5认证的OSPF来提高安全性。

Border Gateway Protocol (BGP,边界网关协议)

BGP是Exterior Gateway Protocol (EGP,外部网关协议),此BGP路由协议执行的时候自主系统之间的路由,现在BGP4是最近的流行标准,BGP使用几种消息类型,其中这文章相关的最重要的消息是UPDATE消息类型,这个消息包含了路由表的更新信息,全球INTERNET大部分依靠BGP,因此一些安全问题必须很严肃的对待,L0pht几年就宣称过:他们能在很短的时间内利用BGP路由协议的安全如BGP来搞垮整个Internet.

BGP协议相关的漏洞和防范措施

[root@test]# nmap -sS -p 179 -v router.ip.address.2
Interesting ports on (router.ip.address..2):
Port State Service
179/tcp open bgp

一个开放的BGP端口,更容易被攻击

[root@test]# nmap -sS -n -p 179 router.ip.address.6
Interesting ports on (router.ip.address.6):
Port State Service
179/tcp filtered bgp

BGP端口被过滤了,对攻击有一定的抵抗力

由于BGP使用了TCP的传输方式,它就会使BGP引起不少关于TCP方面的问题,如很普遍的SYN Flood攻击,序列号预测,一般拒绝服务攻击等。BGP没有使用它们自身的序列而依靠TCP的序列号来代替,因此,如果设备采用了可预测序列号方案的话,就存在这种类型的攻击,幸好的是,运行在Internet上大部分重要的路由器使用了Cisco设备,而其是没有使用可预测序列号方案。部分BGP的实现默认情况下没有使用任何的认证机制,而有些可能存在和RIP同样的问题就是使用了明文密码。这样假如认证方案不够强壮的话,攻击者发送UPDATE信息来修改路由表的远程攻击的机会就会增加许多,导致进一步的破坏扩大。

BGP也可以传播伪造的路由信息,如果攻击者能够从一协议如RIP中修改或者插入路由信息并由BGP重新分配。这个缺陷是存在与信任模块中而不是其BGP路由协议本身。另外BGP的community 配置也会有某些类型的攻击,原因是community name在某些情况下是作为信任token(标志)可以被获得。至于通过通过BGP的下层协议(TCP)对其攻击看来是比较困难的,因为会话在点对点之间是通过一条单独的物理线路进行通信的,但在一定环境如在两AS系统通过交换机来连接则可能存在TCP插入的攻击,在这样的网络中,攻击者在同一VLAN或者他有能力嗅探switch的通信(如使用dsniff工具通过ARP欺骗来获得),监视TCP序列号,插入修改的信息包或者使用工具如hunt的进行hijack连接而获得成功,但这种类型的攻击一般只能在实验室环境中演示比较容易,而在实际的网络中因为太过复杂而很难成功。
 

责任编辑:王晓东 来源: 计世网
相关推荐

2012-12-27 10:53:12

2013-05-22 16:46:02

2009-07-05 11:27:09

2009-06-19 21:18:23

2015-03-10 09:46:11

2011-11-25 15:58:43

2011-03-22 14:57:07

2012-12-25 13:45:37

2009-12-09 11:54:35

2022-03-31 14:55:31

网络安全漏洞

2018-06-09 08:44:25

2010-01-13 10:22:27

2012-11-22 14:45:28

2011-03-01 17:35:46

2010-07-05 16:28:18

BGP路由协议

2011-03-22 14:55:40

2009-04-23 00:18:07

2019-08-30 08:57:36

勒索病毒漏洞网络攻击

2021-04-21 11:10:31

云存储云安全数据泄露

2022-07-04 09:00:00

帐户劫持信息安全攻击
点赞
收藏

51CTO技术栈公众号