51CTO下载ARP攻击防范技术白皮书.docx
- 文档编号:6799165
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:15
- 大小:158.43KB
51CTO下载ARP攻击防范技术白皮书.docx
《51CTO下载ARP攻击防范技术白皮书.docx》由会员分享,可在线阅读,更多相关《51CTO下载ARP攻击防范技术白皮书.docx(15页珍藏版)》请在冰豆网上搜索。
51CTO下载ARP攻击防范技术白皮书
ARP攻击防范技术白皮书
1 概述3
1.1 产生背景3
1.1.1 ARP工作机制3
1.1.2 ARP攻击类型介绍3
1.1.3 ARP攻击的危害6
1.2 H3C解决方案6
2 ARP攻击防范技术介绍7
2.1 接入设备攻击防范介绍7
2.1.1 ARPDetection功能8
2.1.2 ARP网关保护功能9
2.1.3 ARP过滤保护功能9
2.1.4 ARP报文限速功能9
2.2 网关设备攻击防范介绍9
2.2.1 授权ARP功能10
2.2.2 ARP自动扫描和固化功能10
2.2.3 配置静态ARP表项10
2.2.4 ARP主动确认功能11
2.2.5 ARP报文源MAC一致性检查功能12
2.2.6 源MAC地址固定的ARP攻击检测功能12
2.2.7 限制接口学习动态ARP表项的最大数目12
2.2.8 ARP防IP报文攻击功能12
3 典型组网应用13
3.1 监控方式13
3.2 认证方式14
3.3 网吧解决方案14
4 参考文献15
1 概述
1.1 产生背景
1.1.1 ARP工作机制
ARP协议是以太网等数据链路层的基础协议,负责完成IP地址到硬件地址的映射。
工作过程简述如下:
(1) 当主机或者网络设备需要解析一个IP地址对应的MAC地址时,会广播发送ARP请求报文。
(2) 主机或者网络设备接收到ARP请求后,会进行应答。
同时,根据请求发送者的IP地址和MAC地址的对应关系建立ARP表项。
(3) 发起请求的主机或者网络设备接收到应答后,同样会将应答报文中发送者的IP地址和MAC地址的映射关系记录下来,生成ARP表项。
1.1.2 ARP攻击类型介绍
从ARP工作机制可以看出,ARP协议简单易用,但是却没有任何安全机制,攻击者可以发送伪造ARP报文对网络进行攻击。
伪造ARP报文具有如下特点:
● 伪造的ARP报文中源MAC地址/目的MAC地址和以太网帧封装中的源MAC地址/目的MAC地址不一致。
● 伪造的ARP报文中源IP地址和源MAC地址的映射关系不是合法用户真实的映射关系。
目前主要的ARP攻击方式有如下几类:
● 仿冒网关攻击
● 仿冒用户攻击(欺骗网关或者其他主机)
● 泛洪攻击
1.仿冒网关攻击
如图1所示,因为主机A仿冒网关向主机B发送了伪造的网关ARP报文,导致主机B的ARP表中记录了错误的网关地址映射关系,从而正常的数据不能被网关接收。
图1仿冒网关攻击示意图
仿冒网关攻击是一种比较常见的攻击方式,如果攻击源发送的是广播ARP报文,或者根据其自身所掌握的局域网内主机的信息依次地发送攻击报文,就可能会导致整个局域网通信的中断,是ARP攻击中影响较为严重的一种。
2.仿冒用户攻击
(1) 欺骗网关
如图2所示,主机A仿冒主机B向网关发送了伪造的ARP报文,导致网关的ARP表中记录了错误的主机B地址映射关系,从而正常的数据报文不能正确地被主机B接收。
图2欺骗网关攻击示意图
(2) 欺骗其他用户
如图3所示,主机A仿冒主机B向主机C发送了伪造的ARP报文,导致主机C的ARP表中记录了错误的主机B地址映射关系,从而正常的数据报文不能正确地被主机B接收。
图3欺骗其他用户攻击示意图
3.ARP泛洪攻击
网络设备在处理ARP报文时需要占用系统资源,同时因为系统内存和查找ARP表效率的要求,一般网络设备会限制ARP表的大小。
攻击者就利用这一点,通过伪造大量源IP地址变化的ARP报文,使设备ARP表溢出,合法用户的ARP报文不能生成有效的ARP表项,导致正常通信中断。
另外,通过向设备发送大量目标IP地址不能解析的IP报文,使设备反复地对目标IP地址进行解析,导致CPU负荷过重,也是泛洪攻击的一种。
1.1.3 ARP攻击的危害
ARP攻击是一种非常恶劣的网络攻击行为:
● 会造成网络不稳定,引发用户无法上网或者企业断网导致重大生产事故。
● 利用ARP攻击可进一步实施攻击,非法获取游戏、网银、文件服务等系统的帐号和口令,使被攻击者造成利益上的重大损失。
1.2 H3C解决方案
针对上述网络中常见的ARP攻击行为,H3C提出了较为完整的解决方案,可以彻底解决客户网络受到ARP攻击的问题。
图4网络设备角色示意简图
如图4所示,ARP攻击防范技术的思路是以设备角色为线索,通过分析二三层网络设备可能会面对哪些类型的攻击,从而提供有效的防范措施。
攻击源一般来自于主机侧,因此接入交换机在ARP攻击防范中是一个关键的控制点。
针对攻击的特点,接入交换机上的防范主要从两个方面考虑:
● 建立正确的ARP映射关系、检测并过滤伪造的ARP报文,保证经过其转发的ARP报文正确合法。
● 抑制短时间内大量ARP报文的冲击。
由于防范措施部署在接入侧,因此无需在网关上部署,可以减轻网关负担。
如果接入交换机上不支持ARP攻击防范功能,或者主机直接接入网关,则需要在网关上部署防范措施,部署思路从两个方面考虑:
● 建立正确的ARP表项,防止攻击者修改。
● 抑制短时间内大量ARP报文或者需触发ARP解析的IP报文的冲击。
直接在网关上进行部署对接入交换机的依赖较小,可以较好的支持现有网络,有效地保护用户投资。
实际应用时,建议分析网络的实际场景,选择合适的攻击防范技术。
2 ARP攻击防范技术介绍
2.1 接入设备攻击防范介绍
接入设备可能受到的攻击类型为仿冒网关、仿冒用户和泛洪攻击。
针对这三种攻击可以采用的防范措施为:
1.针对仿冒网关攻击
对ARP报文的合法性进行检查,如果合法则进行后续处理,如果非法则丢弃报文。
● ARPDetection功能
● ARP过滤保护功能
● ARP网关保护功能
2.针对仿冒用户攻击
对ARP报文的合法性进行检查,如果合法则进行后续处理,如果非法则丢弃报文。
● ARPDetection功能
● ARP过滤保护功能
3.针对ARP泛洪攻击
● ARP报文限速功能
2.1.1 ARPDetection功能
某VLAN内开启ARPDetection功能后,该VLAN内所有端口接收到的ARP(请求与应答)报文将被重定向到CPU进行报文的用户合法性检查和报文有效性检查:
如果认为该ARP报文合法,则进行转发;否则直接丢弃。
目前包括三个功能:
● ARP报文有效性检查
● 用户合法性检查
● ARP报文强制转发
1.ARP报文有效性检查
对于ARP信任端口,不进行报文有效性检查;对于ARP非信任端口,需要根据配置对MAC地址和IP地址不合法的报文进行过滤。
可以选择配置源MAC地址、目的MAC地址或IP地址检查模式。
● 对于源MAC地址的检查模式,会检查ARP报文中的源MAC地址和以太网报文头中的源MAC地址是否一致,一致认为有效,否则丢弃。
● 对于目的MAC地址的检查模式(只针对ARP应答报文),会检查ARP应答报文中的目的MAC地址是否为全0或者全1,是否和以太网报文头中的目的MAC地址一致。
全0、全1、不一致的报文都是无效的,无效的报文需要被丢弃。
● 对于IP地址检查模式,会检查ARP报文中的源IP和目的IP地址,全0、全1、或者组播IP地址都是不合法的,需要丢弃。
对于ARP应答报文,源IP和目的IP地址都进行检查;对于ARP请求报文,只检查源IP地址。
2.用户合法性检查
对于ARP信任端口,不进行用户合法性检查;对于ARP非信任端口,需要进行用户合法性检查,以防止仿冒用户的攻击。
用户合法性检查是根据ARP报文中源IP地址和源MAC地址检查用户是否是所属VLAN所在端口上的合法用户,包括基于IPSourceGuard静态绑定表项的检查、基于DHCPSnooping安全表项的检查、基于802.1X安全表项的检查和OUIMAC地址的检查。
● 首先进行基于IPSourceGuard静态绑定表项检查。
如果找到了对应源IP地址和源MAC地址的静态绑定表项,认为该ARP报文合法,进行转发。
如果找到了对应源IP地址的静态绑定表项但源MAC地址不符,认为该ARP报文非法,进行丢弃。
如果没有找到对应源IP地址的静态绑定表项,继续进行DHCPSnooping安全表项、802.1X安全表项和OUIMAC地址检查。
● 在基于IPSourceGuard静态绑定表项检查之后进行基于DHCPSnooping安全表项、802.1X安全表项和OUIMAC地址检查,只要符合三者中任何一个,就认为该ARP报文合法,进行转发。
其中,OUIMAC地址检查指的是,只要ARP报文的源MAC地址为OUIMAC地址,并且使能了VoiceVLAN功能,就认为是合法报文,检查通过。
● 如果所有检查都没有找到匹配的表项,则认为是非法报文,直接丢弃。
3.ARP报文强制转发
ARP报文强制转发功能是将ARP非信任端口接收到的已经通过用户合法性检查的ARP报文,按照一定的规则进行转发的防攻击功能,此功能不对ARP信任端口接收到的通过用户合法性检查的ARP报文进行限制。
对于从ARP非信任端口收到的已经通过用户合法性检查的合法ARP报文的处理过程如下:
● 对于ARP请求报文,通过信任端口进行转发。
● 对于ARP应答报文,首先按照报文中的以太网目的MAC地址进行转发,若在MAC地址表中没有查到目的MAC地址对应的表项,则将此ARP应答报文通过信任端口进行转发。
2.1.2 ARP网关保护功能
在设备不与网关相连的端口上配置此功能,可以防止仿冒网关攻击。
在端口配置此功能后,当端口收到ARP报文时,将检查ARP报文的源IP地址是否和配置的被保护网关的IP地址相同。
如果相同,则认为此报文非法,将其丢弃;否则,认为此报文合法,继续进行后续处理。
2.1.3 ARP过滤保护功能
本功能用来限制端口下允许通过的ARP报文,可以防止仿冒网关和仿冒用户的攻击。
在端口配置此功能后,当端口收到ARP报文时,将检查ARP报文的源IP地址和源MAC地址是否和允许通过的IP地址和MAC地址相同:
● 如果相同,则认为此报文合法,继续进行后续处理。
● 如果不相同,则认为此报文非法,将其丢弃。
2.1.4 ARP报文限速功能
ARP报文限速功能是指对上送CPU的ARP报文进行限速,可以防止大量ARP报文对CPU进行冲击。
例如,在配置了ARPDetection功能后,设备会将收到的ARP报文重定向到CPU进行检查,这样引入了新的问题:
如果攻击者恶意构造大量ARP报文发往设备,会导致设备的CPU负担过重,从而造成其他功能无法正常运行甚至设备瘫痪,这个时候可以启用ARP报文限速功能来控制上送CPU的ARP报文的速率。
推荐用户在配置了ARPDetection或者发现有ARP泛洪攻击的情况下,使用ARP报文限速功能。
2.2 网关设备攻击防范介绍
网关设备可能受到的攻击类型为仿冒用户和泛洪攻击。
针对这两种攻击可以采用的防范措施为:
1.针对仿冒用户攻击
(1) 通过合法方式建立正确的ARP表项,并阻止攻击者修改
● 授权ARP功能
● ARP自动扫描和固化功能
● 配置静态ARP表项
(2) 动态学习ARP表项前进行确认,保证学习到的是真实、正确的映射关系
● ARP主动确认功能
● ARP报文源MAC一致性检查功能
2.针对ARP泛洪攻击
● 源MAC地址固定的ARP攻击检测功能
● 限制接口学习动态ARP表项的最大数目
● ARP防IP报文攻击功能
2.2.1 授权ARP功能
授权ARP功能是指根据DHCP服务器生成的租约或者DHCP中继生成的安全表项同步生成ARP表项。
适用于采用DHCP协议动态分配主机IP地址的网络环境。
使能接口的授权ARP功能后:
● 只有静态ARP表项才可以覆盖授权ARP表项,授权ARP表项不会被被伪造的ARP报文动态改写(即动态ARP表项不能覆盖授权ARP表项),因此保证了表项的正确性。
● 如果发送者冒用其它合法主机的IP地址发送ARP请求,因为MAC地址不是网关所记录的授权ARP表项中的合法MAC地址,伪造的ARP请求将不能得到应答,从而限制冒用合法IP地址的主机上网。
● 禁止该接口学习动态ARP表项,可以防止用户仿冒其他用户的IP地址或MAC地址对网络进行攻击,保证只有合法的用户才能使用网络资源,增加了网络的安全性。
● 接口下授权ARP表项的老化探测功能,可以检测用户的非正常下线,及时删除对应的授权ARP表项。
2.2.2 ARP自动扫描和固化功能
ARP自动扫描功能一般与ARP固化功能配合使用:
● 启用ARP自动扫描功能后,设备会对局域网内的邻居自动进行扫描(向邻居发送ARP请求报文,获取邻居的MAC地址,从而建立动态ARP表项)。
● ARP固化功能用来将当前的ARP动态表项(包括ARP自动扫描生成的动态ARP表项)转换为静态ARP表项。
通过对动态ARP表项的固化,可以有效的防止攻击者修改ARP表项。
推荐在网吧这种环境稳定的小型网络中使用这两个功能。
2.2.3 配置静态ARP表项
对于网络中重要的服务器等设备,可以将其IP地址和MAC地址的映射关系配置为静态ARP表项。
这种静态映射关系不但不能被伪造的ARP报文动态改写,而且同样会限制对非法ARP请求的应答,从而保护服务器不受到攻击。
配置静态ARP表项虽然可以保护ARP表不被改写,但是配置工作量大,不适用于主机IP地址可能发生更改的网络环境,建议在比较小的网络里使用。
2.2.4 ARP主动确认功能
ARP的主动确认功能主要应用于网关设备上,防止攻击者仿冒用户欺骗网关设备。
未启用ARP主动确认功能时,设备收到一个ARP报文的处理过程如下:
● 如果设备的ARP表中没有与此ARP报文源IP地址对应的ARP表项,设备会根据ARP报文中携带的源IP地址、源MAC地址信息新建ARP表项。
● 如果设备的ARP表中存在与此ARP报文源IP地址对应的ARP表项,设备会根据ARP报文中携带的源IP地址、源MAC地址信息更新对应的ARP表项。
启用ARP主动确认功能后,设备在新建或更新ARP表项前需进行主动确认,防止产生错误的ARP表项。
下面将详细介绍其工作原理。
1.新建ARP表项前的主动确认
设备收到一个ARP报文,若当前设备ARP表中没有与此ARP报文源IP地址对应的ARP表项,设备会首先验证该ARP报文的真实性。
设备会采用收到的ARP报文的源IP地址发送一个广播ARP请求报文,如果在随后的3秒内收到ARP应答报文,将对前期收到的ARP报文与此次收到的ARP应答报文进行比较(比较内容包括:
源IP地址、源MAC地址、报文接收端口)。
● 如果两个报文一致,则认为收到的ARP报文为真实报文,并根据此报文在ARP表中新建对应的表项。
● 如果两个报文不一致,则认为收到的ARP报文为攻击报文,设备会忽略之前收到ARP报文,ARP表中不会新建对应的表项。
2.更新ARP表项前的主动确认
设备收到一个ARP报文(报文A),若当前设备ARP表中已有与报文A源IP地址对应的ARP表项,但报文A携带的源MAC地址和现有ARP表项中的MAC地址不相同,设备就需要判断当前ARP表项的正确性以及报文A的真实性。
(1) 确定是否启动ARP表项正确性检查
为了避免短时间内多次收到来自同一源IP地址的ARP报文导致的ARP表项频繁更新,设备会首先判断该ARP表项的刷新时间是否超过1分钟。
● 如果没有超过1分钟,则设备不会对ARP表项进行更新。
● 如果已经超过1分钟,设备将启动当前ARP表项的正确性检查。
(2) 启动ARP表项的正确性检查
设备会向ARP表项对应的源发送一个单播ARP请求报文(报文的目的IP地址、目的MAC地址采用ARP表项中的IP地址、MAC地址)。
如果在随后的5秒内收到ARP应答报文(报文B),将比较当前ARP表项中的IP地址、MAC地址与报文B的源IP地址、源MAC地址是否一致。
● 如果一致,则认为报文A为攻击报文、ARP表项不会更新。
● 如果不一致,设备将启动报文A的真实性检查。
(3) 启动报文A的真实性检查
设备会向报文A对应的源发送一个单播ARP请求报文(报文的目的IP地址、目的MAC地址采用报文A的源IP地址、源MAC地址)。
如果在随后的5秒内收到ARP应答报文(报文C),将比较报文A与报文C的源IP地址、源MAC地址是否一致。
● 如果一致,则认为报文A为真实报文,并根据报文A更新ARP表中对应表项。
● 如果不一致,则认为报文A为攻击报文,设备会忽略收到的报文A,ARP表项不会更新。
2.2.5 ARP报文源MAC一致性检查功能
ARP报文源MAC一致性检查功能可以用来防御以太网数据帧首部中的源MAC地址和ARP报文中的源MAC地址不同的ARP攻击。
配置本功能后,网关设备在进行ARP学习前将对ARP报文进行检查。
如果以太网数据帧首部中的源MAC地址和ARP报文中的源MAC地址不同,则认为是攻击报文,将其丢弃;否则,继续进行ARP学习。
2.2.6 源MAC地址固定的ARP攻击检测功能
当网关设备在短时间内收到同一个源发送的大量ARP报文时,就认定为发生了源MAC地址固定ARP攻击。
源MAC地址固定的ARP攻击检测功能根据ARP报文的源MAC地址进行统计,在5秒内,如果收到同一源MAC地址的ARP报文超过一定的阈值,则认为存在攻击,系统会将此MAC地址添加到攻击检测表项中。
在该攻击检测表项老化之前,如果设置的检查模式为过滤模式,则会打印告警信息并且将该源MAC地址发送的ARP报文过滤掉;如果设置的模式为监控模式,则只打印告警信息,不会将该源MAC地址发送的ARP报文过滤掉。
对于网关或一些重要的服务器,可能会发送大量ARP报文,为了使这些ARP报文不被过滤掉,可以将这类设备的MAC地址配置成保护MAC,这样,即使该MAC存在攻击也不会被检测过滤。
2.2.7 限制接口学习动态ARP表项的最大数目
当指定接口下的动态ARP表项达到允许学习的最大数目后,将不允许新增动态学习表项,以保证当一个接口所接入的某一台主机发起ARP攻击时不会导致整个设备的ARP表资源都被耗尽。
当配置接口学习动态ARP表项的最大数目为0时,表示禁止接口学习动态ARP表项。
2.2.8 ARP防IP报文攻击功能
如果网络中有主机通过向设备发送大量目标IP地址不能解析的IP报文来攻击设备,则会造成下面的危害:
● 设备向目的网段发送大量ARP请求报文,加重目的网段的负载。
● 设备会试图反复地对目标IP地址进行解析,增加了CPU的负担。
为避免这种IP报文攻击所带来的危害,设备提供了下列两个功能:
● 如果发送攻击报文的源是固定的,可以采用ARP源抑制功能。
开启该功能后,如果网络中某主机向设备某端口连续发送目标IP地址不能解析的IP报文,当每5秒内由此主机发出IP报文触发的ARP请求报文的流量超过设置的阈值,那么对于由此主机发出的IP报文,设备不允许其触发ARP请求,直至5秒后再处理,从而避免了恶意攻击所造成的危害。
● 如果发送攻击报文的源不固定,可以采用ARP黑洞路由功能。
开启该功能后,一旦接收到目标IP地址不能解析的IP报文,设备立即产生一个黑洞路由,使得设备在一段时间内将去往该地址的报文直接丢弃。
等待黑洞路由老化时间过后,如有报文触发则再次发起解析,如果解析成功则进行转发,否则仍然产生一个黑洞路由将去往该地址的报文丢弃。
这种方式能够有效地防止IP报文的攻击,减轻CPU的负担。
3 典型组网应用
结合上面的描述,在此通过典型组网应用的介绍,进一步说明ARP攻击防范技术在实际中的部署。
3.1 监控方式
图5监控方式部署范例
& 说明:
红色数据流表示非法ARP报文被丢弃,攻击防范生效。
监控方式主要适用于动态接入用户居多的网络环境,如图5所示,网络内的主机通过DHCP服务器动态获取IP地址。
在上述网络中,ARP攻击防范的措施部署在接入交换机上,网关设备和主机都无需另外进行攻击防范的配置。
接入设备上运行的ARPDetection特性会根据DHCPSnooping的安全表项对通过本设备的ARP报文进行检查。
如果用户侧主机的ARP报文中携带的发送者信息和DHCPSnooping安全表项的绑定信息不一致,报文将被认定为攻击报文并被丢弃。
从而避免了网关或者其他主机的ARP表中记录错误的地址映射关系。
同时,建议配置ARP限速,防止ARP泛洪攻击。
3.2 认证方式
图6认证方式部署范例
认证方式适合网络中采用认证登陆的场景,如图6所示,通过H3CiMC、H3CiNode客户端与接入交换机和网关的联动,全方面的防范ARP攻击。
实现原理:
客户端通过认证协议(802.1x或Portal)登陆网络,iMC对客户端进行认证,接入交换机对获取到客户端的IP+MAC信息进行绑定,保证当前用户的合法性;认证通过后,iMC将网关的IP+MAC信息下发给客户端进行绑定,保证网关的准确性。
3.3 网吧解决方案
图7网吧解决方案
如图7所示,首先网关通过ARP自动扫描功能建立网吧局域网内所有客户端的动态ARP表项,然后通过ARP固化功能将这些动态ARP表项转换为静态ARP表项。
完成后禁止网关学习动态ARP表项,即只允许和现有ARP表项一致的客户端才能访问Internet。
这样可以防止用户私自修改客户端IP地址,使用户的网上行为有记录可循
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 CTO 下载 ARP 攻击 防范 技术 白皮书
![提示](https://static.bdocx.com/images/bang_tan.gif)