全站搜索
IGMPv3的过滤机制和安全措施
作者:管理员    发布于:2016-01-12 10:02:58    文字:【】【】【

  这几年随着Internet的普及和爆炸性发展,出现了许多新的宽带应用业务,在Internet上实现的业务和一般业务相比,有着数据量大、时延敏感性强、持续时间长等特点,这些应用带来了带宽的急剧消耗和网络拥挤问题。因此采用少时间、小空间来传输和解决视音频业务所要求的网络利用率高、传输速度快、实时性强的问题。为此人们提出了各种方案,主要有四种:①增加互连带宽;②改变网络流量结构,减轻主干网的瓶颈;③应用QoS机制,保证部分应用的服务质量;④采用IP组播技术。IP组播技术是解决这些问题的关键技术。

  组播管理协议IGMP(InternetGroupManagementProtocol)发展到目前已经有三个协议标准,为IGMPvl、IGMPv2和IGMPv3.实现了使用户的主机通过IGMP协议报文和上层组播路由器之间进行通信,实现用户对组播组的加入、离开、信息查询等功能。目前IGMPv2协议是普遍使用的技术。

  IGMP协议运行于主机和与主机直接相连的组播路由器之间,是IP主机用来报告多址广播组成员身份的协议。通过IGMP协议,一方面可以通过IGMP协议主机通知本地路由器希望加入并接收某个特定组播组的信息;另一方面,路由器通过IGMP协议周期性地查询局域网内某个已知组的成员是否处于活动状态。

  伪造从一个低IP地址发送的查询消息将引起查询操作,如果伪造者不再发送查询消息,其他查询者将会超时,导致重新选举一个新的查询者,在这期间(组成员间隔期内),伪造者如果忽略成员离开消息,将导致数据上行到不存在的组成员。

  为了避免这种攻击,可以在查询周期内,限制每个指定组和源地址查询包多包含的源地址数,或者仅仅记录有限的源地址。

  伪造查询消息可以很容易的被跟踪,以下三种方法可以避免这种伪造查诲路由器不转发查询。这可以很容易的通过设置路由警告选项实现;主机应该忽略不带路由警告选项的IGMPV2和IGMPV3查询;主机应该忽略所有版本的目的地址为224.0. 0.1的一般查询。

  伪造的状态报告消息导致组播路由器认为某个组存在成员,事实上并不存在该成员。伪造本地网络的报告消息是无意义的,因为主机加入一个组并没有什么特定的操作,普通使用者完全可以获得相同的报文。从外部源伪造的报告消息更麻烦,有以下两种方法可以防止外部伪造报告:对不明确的源地址报告消息被忽略。这种方法没有IP的只得移动主机发送的报告报文被忽略,源地址位0.0.0.0的消息应被任何接口接收;没有路由告警选项的报告报文被忽略,并且路由器不转发报告消息。这种方法还可和IGMPV1、IGMPV2兼容,以前的版本不包含路由告警选项。

  伪造的状态变化报告消息导致查询者发送指定组查询和指定组和源地址查询的问题,这将导致每一个路由器和每一个组的成员进行处理,但并不会导致希望的通信丢失。有以下两种方法可以防止外部伪造报告如果不能分清接口上收到的包属于哪个子网,该包将丢弃。这意味着没有固定地址的移动主机发送的状态变化报告会忽略,任何接口对源地址0.0.0.0的状态报告消息应进行处理没有路由告警选项的报告报文被忽略,并且路由器不转发报告消息。

  除了以上方法外,使用认证头(AH)的IPSEC可用于保护远程攻击,以确保IGMPV3消息是从同一个LAN而来(更为明确的说,系统使用正确地密钥)。当使用IPSEC时,发送给224.0.0.1和224.0.0.22的消息使用AH进行认证,使用密钥时,存在以下两种可能性:在一个LAN内,对每一个组使用对成密钥签名。这允许使用对成密钥加密的包有效。他的限制是拥有这个密钥的系统可以伪造消息,对每一个个体使用不同的密钥进行认证是不可能的。同样不能要求IPSEC的重放保护;当使用合适的密钥管理标准后,使用非对称密钥算法,所有系统必须知道所有路由器的公开密钥,这需要大量的密钥管理,但是发送者能被个体化认证,一个主机不能伪造消息,仅仅路由器允许发送。

  我们在设计IGMPv3协议过程中充分考虑各种过滤机制和安全措施,并能很方便的嵌入到现有各种协议栈中,同时充分考虑到和其它组播路由协议(如PIMSM、DVMRP等)进行通信,因此为网络中各种组播应用打下了基础。

访问统计
51客服