aRP协议的那些自动化额,发送大量无法识别的报文特性,又或者是识别的报文不明确的特性可被攻击者利用。
ARP泛洪攻击,也叫拒绝服务攻击DoS(Denial of Service)
主要存在这样两种场景:
1、设备处理ARP报文和维护ARP表项都需要消耗系统资源,同时为了满足ARP表项查询效率的要求,一般设备 都会对ARP表项规模有规格限制。
攻击者就利用这一点,通过伪造大量源IP地址变化的ARP报文,使得设备ARP表资源被无效的ARP条目耗尽,合法用户的ARP报文不能继续生成ARP条目,导致正常通信中断。
2、攻击者利用工具扫描本网段主机或者进行跨网段扫描时,会向设备发送大量目标IP地址不能解析的IP报文, 导致设备触发大量ARP Miss消息,生成并下发大量临时ARP表项,并广播大量ARP请求报文以对目标IP地址进行解析,从而造成CPU(Central Processing Unit)负荷过重。
2、ARP欺骗攻击
是指攻击者通过发送伪造的ARP报文,恶意修改设备或网络内其他用户主机的ARP表项,造成用户或网络的报文通信异常。
ARP攻击行为存在以下危害:
1、会造成网络连接不稳定,引发用户通信中断,导致严重的经济损失。
2、利用ARP欺骗截取用户报文,进而非法获取游戏、网银、文件服务等系统的帐号和口令,造成被攻击者重大利益损失。为了避免上述ARP攻击行为造成的各种危害,可以部署ARP安全特性。
二、原理
1、ARP报文限速原理
如果设备对收到的大量ARP报文全部进行处理,可能导致CPU负荷过重而无法处理其他业务。因此,在处理之前,设备需要对ARP报文进行限速,以保护CPU资源。
设备提供了如下几类针对ARP报文的限速功能:
1、根据源MAC地址或源IP地址进行ARP报文限速
当设备检测到某一个用户在短时间内发送大量的ARP报文,可以针对该用户配置基于源MAC地址或源IP地址的ARP报文限速。在1秒时间内,如果该用户的ARP报文数目超过设定阈值(ARP报文限速值),则丢弃超出阈值部分的ARP报文。
1.1、根据源MAC地址进行ARP报文限速:
如果指定MAC地址,则针对指定源MAC地址的ARP报文根据限速值进行限速;如果不指定MAC地址,则针对每一个源MAC地址的ARP报文根据限速值进行限速。
1.2、根据源IP地址进行ARP报文限速:
如果指定IP地址,则针对指定源IP地址的ARP报文根据限速值进行限速;如果不指定IP地址,则针对每一个源IP地址的ARP报文根据限速值进行限速。
2、针对Super VLAN的VLANIF接口下的ARP报文限速
当设备的VLANIF接口接收到触发ARP Miss消息的IP报文时,或者在设备的VLANIF接口上启用ARP代理功能之后,设备接收到目的IP符合代理条件且该IP对应的ARP条目不存在的ARP请求报文时,都会触发Super VLAN的VLANIF接口进行ARP学习。
设备会将ARP请求报文在每个Sub VLAN下复制,如果该Super VLAN下配置了大量Sub VLAN,那么设备将产生大量的ARP请求报文。
为了避免CPU因复制、发送大量ARP请求报文而负担过重,设备支持Super VLAN的VLANIF接口下的ARP报文限速功能,以对该场景下设备发送的ARP请求报文进行流量控制。
3、针对全局、VLAN和接口的ARP报文限速
设备支持在全局、VLAN和接口下配置ARP报文的限速值和限速时间,当同时在全局、VLAN和接口下配置ARP报文的限速值和限速时间时,设备会先按照接口进行限速,再按照VLAN进行限速,最后按照全局进行限速。
另外,在接口下还可以指定阻塞ARP报文的时间段。如果设备的某个接口在ARP报文限速时间内接收到的ARP报文数目超过了设定阈值(ARP报文限速值),则丢弃超出阈值部分的ARP报文,并在接下来的一段时间内(即阻塞ARP报文时间段)持续丢弃该接口下收到的所有ARP报文。
3.1、针对全局的ARP报文限速:
在设备出现ARP攻击时,限制全局处理的ARP报文数量。
3.2、针对VLAN的ARP报文限速:
在某个VLAN内的所有接口出现ARP攻击时,限制处理收到的该VLAN内的ARP报文数量,配置本功能可以保证不影响其他VLAN内所有接口的ARP学习。
3.3、针对接口的ARP报文限速:
在某个接口出现ARP攻击时,限制处理该接口收到的ARP报文数量,配置本功能可以保证不影响其他接口的ARP学习。
2、ARP Miss消息限速原理
如果网络中有用户向设备发送大量目标IP地址不能解析的IP报文(即路由表中存在该IP报文的目的IP对应的路由表项,但设备上没有该路由表项中下一跳对应的ARP表项),将导致设备触发大量的ARP Miss消息。