动态ARP检测(DAI)可以和DHCP Snooping绑定表联动,来防御中间人攻击。
下面是中间人攻击的拓扑图。我们以该图为例,介绍中间人攻击的过程以及动态ARP检测是怎么利用DHCP Snooping绑定表来防御中间人攻击的。
在拓扑图中,PC1 PC2 PC3连接到交换机S1。其中PC1 PC3是正常通讯的两台主机,PC2是攻击者。
中间人攻击过程:
1> 攻击者主动向PC1发送伪造PC3的ARP报文,导致PC1的ARP表中记录了错误的PC3地址映射关系,攻击者可以轻易获取到PC1原本要发往PC3的数据。
2> 同样,攻击者主动向PC3发送伪造PC1的ARP报文,导致PC3的ARP表中记录了错误的PC1地址映射关系,攻击者也可以轻易获取到PC3原本要发往PC1的数据。
3> 这样,PC1与PC3间互访的信息安全无法得到保障。
为了防御中间人攻击,可以在S1上部署动态ARP检测功能。
动态ARP检测利用DHCP Snooping绑定表来防御中间人攻击的过程:
1> 在交换机S1上开启DHCP Snooping功能。
2> 当PC1 PC3通过DHCP获取到IP地址时,交换机S1上形成DHCP Snooping绑定表。
3> 在交换机S1上部署动态ARP检测功能。
4> 当交换机S1收到ARP报文时,将此ARP报文对应的源IP、源MAC、VLAN以及接口信息和DHCP Snooping绑定表的信息进行比较,如果信息匹配,说明发送该ARP报文的用户是合法用户,允许此用户的ARP报文通过,否则就认为是攻击,丢弃该ARP报文。
5> PC1 PC3发送的ARP报文中描述的都是真实的信息,和交换机S1上DHCP Snooping绑定表的信息匹配。交换机S1正常转发ARP报文。
6> 攻击者发送伪造PC1或者PC3的ARP报文,和交换机S1上DHCP Snooping绑定表的信息不匹配,交换机S1丢弃ARP报文。