局域网中ARP 攻击原理及防御措施探讨
2021-07-06顾雅枫
顾雅枫
(甘肃省产品质量监督检验研究院,甘肃 兰州 730000)
1 概述
信息化时代,随着计算机网络的迅速发展,网络为人们带来便捷的同时,也存在日益严重的网络安全问题,网络中的各类网络设备、存储传输的数据都存在被攻击的风险。在局域网中,ARP 攻击是常见的一种攻击方式。由于ARP 协议缺乏对数据包真实性、合法性及有效性的验证手段,攻击者可以利用这一缺陷对局域网发起攻击,从而引发网络掉线、不稳定、网速时快时慢、用户账号密码等隐私数据被窃取等问题,严重时甚至会导致整个局域网的瘫痪。本文将从ARP 协议的机制和ARP 攻击的原理入手,结合笔者日常局域网运维工作遇到的有关ARP 攻击的实际问题,探讨局域网内ARP 攻击的防御措施,进而维护局域网安全。
2 ARP 协议
2.1 局域网
根据网络连接的地理范围,可将计算机网络分为局域网、城域网和广域网。局域网(Local Area Network,LAN)在地理上局限在较小的范围,通常是几百到几千米,网络速率一般在10Mbit/s,常常用于组建企业网和校园网,是最常见、应用最广的一种网络。局域网最主要的特点是网络为一个单位所拥有,且地理范围和站点数目均有限。局域网具有较高的数据率、较低的时延和较小的误码率[1]。ARP 攻击是局域网中极易出现的一种网络安全问题。
2.2 ARP 协议
ARP 协议(Address Resolution Protocol),地址解析协议,位于TCP/IP 协议栈中的网络层,其作用是根据网络地址(IP 地址)获取物理地址(MAC 地址)[2-3]。在网络中,所有的网络设备都有一个IP 地址和MAC 地址,而实际的网络通信是通过MAC 地址实现的。因此,在局域网中,ARP 协议是网络通信的基础。
在局域网中,当两台主机PC1 和PC2 需要进行通信时,PC1 首先在自己的ARP 缓存表中查找PC2的MAC 地址,如果找到了,就可以直接进行通信,如果找不到,PC1 就会将ARP 消息广播到网络上的所有主机,询问PC2 的MAC 的地址,这个消息包含目的主机PC2 的IP 地址。网络中的所有主机都会收到这条数据包,但只有PC2 会给PC1 发送一个ARP 应答数据,这个消息包含PC2 的IP 地址和MAC 地址。待PC1 收到返回消息后,即可确定PC2的MAC 地址进行通信。同时为了节约资源,提高网络利用率,PC1 会将目的主机PC2 的IP 地址和MAC 地址存入本地ARP 缓存表,以便下次通信时直接查询使用。为了提升ARP 缓存表的查询效率,ARP 缓存表采用的是老化机制,在一定的时间里,如果一条地址信息一直不被使用,就会被删除。ARP 协议工作流程图如图1 所示。
图1 ARP 协议工作流程图
3 ARP 攻击原理
ARP 协议在最初设计时,为了提升传输效率,放弃了安全验证。从ARP 协议的工作机制不难发现,ARP 协议是建立在网络中各个主机相互信任的基础上实现的,因此该协议存在一些安全方面的问题:
1)网络上的主机设备可以自主发送ARP 应答消息,这就导致只要接收到ARP 应答消息的主机设备就会更新ARP 缓存表,而不验证自己是否发出了ARP 请求。
2)网络上的主机设备无法对发送数据包的网络实体进行身份验证,不知道发送数据包的网络实体是不是真正的物理地址的所有者。
3)网络上的主机设备无法对数据包的真实性进行鉴别,而是直接将其存入本机的ARP 缓存。
攻击者可以利用上述ARP 协议的一些安全漏洞,伪造ARP 应答消息并进行广播,让局域网上所有主机和网关的ARP 表记录伪造的地址信息,导致网络中的消息无法到达真正的主机,进而达到网络控制的目的。
ARP 攻击简单来说就是一种地址欺骗,根据ARP 欺骗的对象,可以将ARP 欺骗攻击分为3 种:
1)主机型欺骗:欺骗者主机冒充网关设备对局域网内的所有主机进行欺骗。如图2 所示,欺骗者主机PC2 发送伪造的数据包,网络中所有被欺骗主机的ARP 缓存表中记录的网关IP 地址对应的是欺骗主机的MAC 地址,这样就导致各主机将本来要发送给网关的数据全部发送给欺骗者主机PC2,进而引发被攻击主机频繁掉线的问题。
图2 主机型欺骗示意图
2)网关型欺骗:欺骗者主机冒充局域网内的主机对网关设备进行欺骗。如图3 所示,欺骗者主机PC2 将包含IP1/MAC2 的数据包发送到网关,网关ARP 缓存表中记录了错误的信息IP1/MAC2,这样网关就会把本来发送给PC1 的消息全部发送到欺骗主机PC2。
图3 网关型欺骗示意图
3)双向欺骗:欺骗者主机即冒充网关设备又冒充局域网中的主机设备,导致网关和被攻击主机的数据都发到了欺骗者主机。如图4 所示,欺骗者主机PC2 给被欺骗主机PC1 发送错误的网关数据包(网关IP/MAC2),同时也给网关发送伪造数据包(IP1/MAC2),网关设备和PC1 的ARP 缓存表都记录了错误的地址信息,PC1 本应发送给网关的信息和网关要发送给PC1 的信息就全都发给了欺骗主机PC2,这样PC2 实现了双向欺骗的目的。
图4 双向欺骗示意图
4 ARP 防范措施
4.1 ARP 攻击的表现及危害
当局域网中出现网络缓慢、时断时续、ping 命令丢包等现象时,需要考虑网络内部是否出现了ARP攻击,此时可以通过ARP 命令、XARP 工具等方式进行检测。
1)ARP 命令查看,如图5 所示:从开始-运行-输入cmd,在cmd 命令提示符界面输入arp-a 并回车,即可查看本机上ARP 协议的所有ARP 解析信息,通过比对网关MAC 地址、查看多条IP 地址是否对应同一MAC 地址的方法可以排除是否存在ARP欺骗。
图5 ARP 命令查看截图
2)XARP 工具查看:该方式更加简洁明了,打开XARP 工具界面,如果存在ARP 攻击,则会弹出警报信息,如图6 所示。
图6 XARP 工具检测到的ARP 攻击截图
ARP 攻击严重威胁着局域网的正常运行和局域网用户的信息安全,主要危害表现为:(1)局域网通信异常,例如网络时断时续、不稳定,提示IP 地址冲突等;(2)恶意窃听,例如账号盗用、个人隐私泄露等。
4.2 ARP 攻击原因分析
结合ARP 攻击的原理和日常网络维护工作中发现的各类问题,对出现ARP 攻击的主要原因进行分析,具体如下:
1)局域网用户私接路由器。当前主流的路由器默认网关地址均为192.168.1.1 或者192.168.0.1,如果局域网内网关地址也配置为192.168.1.1 或者192.168.0.1,那么当局域网用户私接路由器并且没有重新设置网关时,就极易出现私接路由器地址跟网关地址相同的现象,从而导致网络无法正常使用。
2)ARP 病毒。局域网用户使用了一些包含木马程序的游戏外挂或者打开了一些含有恶意代码的网页,从而引发了局域网内的ARP 病毒攻击。
3)人为破坏。局域网用户安装了P2P 监控软件,如P2P 终结者,网络执法官等,恶意监控其他机器,限制流量。在企事业单位局域网中,此种情况较为少见,更多的ARP 攻击来自使用者的无心之举。
4.3 ARP 攻击防御措施
针对企事业单位局域网中出现的ARP 攻击,建议采用以下方法进行防御:
1)提高局域网用户网络安全意识,养成良好的网络使用习惯,具体包括:
(1)安装杀毒软件并及时升级杀毒软件病毒库,在平时使用中,定期全盘扫描,使用U 盘、移动硬盘等移动介质时先杀毒再使用,如发现可疑情况及时处理;(2)不随意点击来路不明的邮件、网址、文件等,尤其对于自行在网络上下载的后缀名为.exe、.com.、.bat 等的可执行文件要格外警惕,用杀毒软件扫描检查确认没有问题后再使用;(3)不安装游戏外挂、P2P 类监控软件等;(4)重要的文件不保存在桌面或者C 盘,利用云端、存储设备定期做好资料文件的备份工作。
2)对局域网内的各类网络设备进行MAC 地址和IP 地址的双向静态绑定,具体步骤如下:
(1)梳理局域网内现有的所有网络设备(包括服务器、主机、路由器、网络打印机等),建立MAC地址/IP 地址台账;(2)在网关设备进行所有网络设备的MAC 地址和IP 地址静态绑定,关闭DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),使网络环境中的主机不再动态获得IP 地址、网关地址、DNS 服务器地址等信息;(3)在网络设备侧进行MAC 地址和IP 地址的静态绑定;(4)后续所有新增网络设备均需申请MAC 地址和IP 地址绑定后方可入网。
3)划分VLAN。VLAN(Virtual Local Area Network)的中文名为“虚拟局域网”[4]。通过VLAN 技术可以在局域网中创建多个子网,这样就可以在局域网中隔离ARP 广播包,缩小感染范围,提高网络性能和安全性,也便于后期进行各类网络故障问题的排查。
4)安装ARP 防火墙,例如360 安全卫士ARP防火墙,可有效拦截ARP 攻击,并可以对ARP 攻击源进行追踪。打开360 安全卫士,打开功能大全-流量防火墙-局域网防护功能,即可开启ARP防护功能,保护主机抵御ARP 攻击,并且在遭受到ARP 攻击时,还可以对攻击主机进行追踪,如图7 所示。
图7 360 ARP 防火墙界面截图
5 结语
ARP 攻击具有很大的危害性,在实际网络环境中它的产生又是错综复杂的,也很难定位。本文结合企事业单位局域网管理的实际经验,对ARP 攻击的原理及防御措施予以探讨,以期通过多种方法的结合来防御ARP 攻击,提高网络安全性。