您的位置 首页 golang

ARP理论知识详解(一)

一、简介

ARP(Address Resolution Protocol,地址解析协议)是将IP地址解析为以太网 MAC地址 的协议。

ARP安全是针对ARP攻击的一种安全特性,它通过一系列对ARP表项学习和ARP报文处理的限制、检查等措施来保证网络设备的安全性。

ARP安全特性不仅能够防范针对 ARP协议 的攻击,还可以防范 网段 扫描攻击等基于ARP协议的攻击。

ARP协议有简单、易用的优点,但是也因为其没有任何安全机制,容易被攻击者利用。

在网络中,常见的ARP攻击方式主要包括:

1、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消息。

这种触发ARP Miss消息的IP报文(即ARP Miss报文)会被上送到主控板进行处理,设备会根据ARP Miss消息生成和下发大量临时ARP表项并向目的网络发送大量ARP请求报文,这样就增加了设备CPU的负担,同时严重消耗目的网络的带宽资源。

如图1所示,攻击者向网关发送目的地址为192.1.1.5/24且不能解析的IP报文。

图1 ARP Miss攻击

为了避免这种IP报文攻击所带来的危害,设备提供了如下几类针对ARP Miss消息的限速功能:

1、根据源IP地址进行ARP Miss消息限速

当设备检测到某一源IP地址的IP报文在1秒内触发的ARP Miss消息数量超过了ARP Miss消息限速值,就认为此源IP地址存在攻击。

此时如果设备对ARP Miss报文的处理方式是block方式,设备会丢弃超出限速值部分的ARP Miss消息,即丢弃触发这些ARP Miss消息的ARP Miss报文,并 下发一条ACL来丢弃该源IP地址的后续所有ARP Miss报文

如果是none-block方式,设备只会通过软件限速的方式丢弃超出限速值部分的ARP Miss消息,即丢弃触发这些ARP Miss消息的ARP Miss报文。

如果指定了IP地址,则针对指定源IP址的ARP Miss消息根据限速值进行限速;如果不指定IP地址,则针对每一个IP地址的ARP Miss消息根据限速值进行限速。

2、针对全局、VLAN和接口的ARP Miss消息限速

设备支持在全局、VLAN和接口下配置ARP Miss消息限速,有效顺序为接口优先,VLAN其次,最后为全局。

2.1、针对全局的ARP Miss消息限速:

在设备出现目标IP地址不能解析的IP报文攻击时,限制全局处理的ARP Miss消息数量。

2.2、针对VLAN的ARP Miss消息限速:

在某个VLAN内的所有接口出现目标IP地址不能解析的IP报文攻击时,限制处理该VLAN内报文触发的ARP Miss消息数量,配置本功能可以保证不影响其他VLAN内所有接口的IP报文转发。

2.3、针对接口的ARP Miss消息限速:

在某个接口出现目标IP地址不能解析的IP报文攻击时,限制处理该接口收到的报文触发的ARP Miss消息数量,配置本功能可以保证不影响其他接口的IP报文转发。

3、通过设定临时ARP表项的老化时间控制ARP Miss消息的触发频率

当IP报文触发ARP Miss消息时,设备会根据ARP Miss消息生成临时ARP表项,并且向目的网段发送ARP请求报文。

在临时ARP表项老化时间范围内:

设备收到ARP应答报文前,匹配临时ARP表项的IP报文将被丢弃并且不会触发ARP Miss消息。

设备收到ARP应答报文后,则生成正确的ARP表项来替换临时ARP表项。

当老化时间超时后,设备会清除临时ARP表项。此时如果设备转发IP报文匹配不到对应的ARP表项,则会重新触发ARP Miss消息并生成临时ARP表项,如此循环重复。

当判断设备受到攻击时,可以增大临时ARP表项的老化时间,减小设备ARP Miss消息的触发频率,从而减小攻击对设备的影响。

文章来源:智云一二三科技

文章标题:ARP理论知识详解(一)

文章地址:https://www.zhihuclub.com/97597.shtml

关于作者: 智云科技

热门文章

网站地图