6. 安全考量 (Security Considerations)
在正常网络运行下, 侦听交换机通过把组播泛洪限制在本地网络中更小的一部分, 从而在那些没有节点表示希望接收该组播流量的网段上节省带宽。而在存在伪造 IGMP 报文的情况下, 使用侦听交换机带来的好处可能被削弱甚至消失。
IGMPv3 在协议栈网络层的安全考量见 [IGMPv3]。引入 IGMP 侦听功能并不改变路由器对组播报文的处理, 因为它不使用链路层信息。
本地网络内以下行为变化值得关注:
-
一条源地址小于当前查询器地址的伪造查询 (Query) 报文, 可能导致侦听交换机把后续的成员关系报告转发到错误的网络接口。因此, IGMP 成员关系报告应当 (SHOULD) 同时发送给所有组播路由器以及当前查询器。
-
本地网络上的主机可以生成当前状态报告 (Current-State Report) 报文, 使交换机错误地认为在伪造报文发送者所在的同一网段上存在组播监听者。这将导致未被请求的组播报文被转发到源与路由器之间的网段。如果路由器按 [IGMPv3] 第 9.4 节的要求对所有组播报告报文进行认证, 它会像丢弃来自远端的一样, 丢弃这份来自网内主机的伪造报告。值得注意的是: 如果路由器仅因报文来自与内部网络相关联的接口就接受未认证的报告, 那么排查受影响的网段将能迅速缩小伪造报文来源的搜索范围。
-
如 [IGMPv3] 所述, 攻击者伪造成员关系报告报文的动机很小, 因为加入组通常是一项无特权操作。伪造报告报文的发送者将成为发往该组的组播流量的唯一接收者。这与共享 LAN 网段(集线器)或没有侦听交换机的网络形成对比: 在后两种情况下, 当该网段泛洪这些不想要的流量时, 同网段的其他所有主机都无法发送数据。
上述每一种攻击的最坏结果, 都只是消除了侦听功能本应带来的性能改进; 其表现不会比使用不做组播侦听的交换机的网络更差。