局域网ARP攻击防范

时间:2022-08-16 08:03:51

【 摘 要 】 在单位网络维护过程中,经常遇到ARP病毒导致网络不稳定的情况 , 本文介绍了ARP协议的工作原理及ARP攻击的基本原理与方式,提出预防欺骗的常用防范措施。

【 关键词 】 ARP;攻击;防范

Prevention on LAN ARP Attack

Luo Xue-yi

(Computer Department of Kunming Fire School YunnanKunming 650221)

【 Abstract 】 In the process of network maintenance in offices, ARP virus often causes the network unstable. This paper introduces the basic principle of ARP protocol and the elements?and method of ARP attack. In the end the prevention on common fraud means will be raised.

【 Keywords 】 ARP; attack; prevention

1 引言

局域网中,通过arp协议来完成IP地址转换为第二层物理地址 (即 MAC地址),ARP协议对网络安全具有重要的意义。通过伪造 I P地址和 MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。近两年来,针对ARP网络的攻击不断增加,已经对局域网构成了严重威胁。

2 ARP原理

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的 MAC 地址。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的 MAC地址。但这个目标 MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的 I P地址,查询目标设备的 MAC地址,以保证通信的顺利进行。每台主机都会在自己的ARP缓冲区 (ARP Cache)中建立一个ARP列表,以表示IP地址和MAC地址的对应关系。如下所示:

A: 192.168.0.1 AA-AA-AA-AA-AA-AA;

B: 192.168.0.2 BB-BB-BB-BB-BB-BB;

C: 192.168.0.3 CC-CC-CC-CC-CC-CC;

D: 192.168.0.4 DD-DD-DD-DD-DD-DD。

当源主机需要将一个数据包要发送到目的主机时,会首先检查自己ARP列表中是否存在该IP地址对应的MAC地址,如果有就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。

3 ARP常见攻击方式

3.1 ARP欺骗攻击

ARP协议的基础就是信任局域网内所有的人,那么就很容易实现在以太网上的ARP欺骗。通过发送伪造的ARP包来欺骗路由和目标主机,让目标主机认为这是一个合法的主机,便完成了欺骗。这种欺骗多发生在同一网段内,因为路由不会把本网段的数据包向外转发,当然也可以实现不同网段的攻击,但要通过ICMP协议来告诉路由器重新选择路由。

对目标A进行欺骗,A去Ping主机C却发送到了DD-DD-DD-DD-DD-DD这个地址上。如果进行欺骗的时候,把C的MAC地址骗为DD-DD-DD-DD-DD-DD,于是A发送到C上的数据包都变成发送给D的了。这正好是D能够接收到A发送的数据包,嗅探成功。因为A和C连接不上了,D对接收到A发送给C的数据包可没有转交给C。做“man in the middle”,进行ARP重定向。打开D的IP转发功能,A发送过来的数据包,转发给C,好比一个路由器一样。D直接进行整个包的修改转发,捕获到A发送给C的数据包,全部进行修改后再转发给C,而C接收到的数据包完全认为是从A发送来的。不过,C发送的数据包又直接传递给A,倘若再次进行对C的ARP欺骗。因此D就完全成为A与C的中间桥梁了,对于A和C之间的通讯就可以了如指掌了。

3.2 交换环境的嗅探

现在的网络多是交换环境,网络内数据的传输被锁定特定目标。既已确定的目标通信主机,在ARP欺骗的基础之上,可以把自己的主机伪造成一个中间转发站来监听两台主机之间的通信。如果主机A与主机C正常通信,主机B可以通过ARP欺骗,从而实现转发主机A与主机C通信的数据包,达到在交换网络下主机B对主机A与主机C通信数据的嗅探。

3.3 ARP扫描

ARP扫描又叫ARP请求风暴,其扫描的表现形式为:网络中出现大量ARP请求广播包,几乎都是对网段内的所有主机进行扫描。大量的ARP请求广播可能会占用网络带宽资源;ARP扫描一般为ARP攻击的前奏。出现原因一般为:感染病毒程序,网络上侦听程序、扫描程序。如果网络分析软件部署正确,可能是我们只镜像了交换机上的部分端口,所以大量ARP请求是来自与非镜像口连接的其它主机发出的。如果部署不正确,这些ARP请求广播包是来自和交换机相连的其它主机。

3.4 泛洪攻击

攻击者利用工具制造大量的ARP请求数据包,泛洪发往本广播域中的路由器、交换机以及主机设备。一方面导致被攻击者的CPU忙于处理ARP请求,负担过重,造成设备其他功能不正常甚至瘫痪;另一方面,占用大量的网络带宽,使可用网络带宽减少。在局域网遭到ARP数据包的泛洪攻击时,一般表现为网内主机上网速度很慢甚至无法上网,但查看所有设备ARP缓存表均没有问题。但通过网络抓包软件捕获网络中的数据包可发现大量的ARP请求数据包。

4 局域网遭受ARP攻击常见现象

4.1 网上银行、游戏及QQ账号的频繁丢失

一些人为了获取非法利益,利用ARP欺骗程序在网内进行非法活动,此类程序的主要目的在于破解账号登录时的加密解密算法,通过截取局域网中的数据包,然后以分析数据通讯协议的方法截获用户的信息。运行这类木马病毒,就可以获得整个局域网中上网用户账号的详细信息并盗取。当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和路由器,让所有上网的流量必须经过病毒主机。其他用户原来直接通过路由器上网现在转由通过病毒主机上网,切换的时候用户会断一次线。切换到病毒主机上网后,如果用户已经登录了QQ服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录QQ服务器,这样病毒主机就可以盗号了。

4.2 网速时快时慢,但单机测试一切正常

当局域内的某台计算机被ARP的欺骗程序非法侵入后,它就会持续地向网内所有的计算机及网络设备发送大量的非法ARP欺骗数据包,阻塞网络通道,造成网络设备的承载过重,导致网络的通讯质量不稳定。由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。当ARP欺骗的木马程序停止运行时,用户会恢复从路由器上网,切换过程中用户会再断一次线。

4.3 区域或整体掉线,重启恢复正常

当带有ARP欺骗程序的计算机在网内进行通讯时,就会导致频繁掉线,出现此类问题后重启计算机或禁用网卡会暂时解决问题,但掉线情况还会发生。

5 局域网ARP攻击防范方法

5.1 ARP缓存表的静态绑定

ARP欺骗利用的是对本广播域其他主机的信任,即ARP缓存表总是会依据接收到的ARP数据包进行刷新。因此往往由于信任了伪造的ARP响应数据包而导致被攻击,所以只要不让网关设备和网内主机刷新自己的ARP缓存表即可防范ARP欺骗攻击。在默认情况下,ARP缓存表中的记录类型为“dynamic”,即依据接收到的ARP数据包进行动态刷新的。为防范ARP欺骗攻击,可以将IP地址和对应的MAC地址进行静态的绑定,即进行ARP绑定,使之不进行刷新。IP地址与MAC地址的绑定操作必须在网关设备上以及网内主机上都要实现,即进行双向的绑定。因为如果只是在网关设备或者网内主机上进行单向绑定,则ARP欺骗还是可以通过假冒网关攻击或欺骗网关攻击在网络的另一端达到攻击的目的。

在网关设备上需要对网内所有的主机的IP地址和MAC地址进行静态的绑定。在网内主机上则需要对网关设备的IP地址和MAC地址进行静态的绑定,绑定方法为:在命令行模式下,输入命令“ARP-S网关IP地址网关MAC地址”。但是,在网内主机重启后,ARP缓存表内容会丢失,即静态绑定的网关设备IP地址与MAC地址的映射关系也会丢失。因此可以将ARP绑定操作写成批处理文件并放置到“开始一程序一启动”中,使其在系统启动时即被加载执行。这种方法必须人工设置IP地址和MAC地址的映射,工作量巨大,灵活性较差,针对小型的网络比较的适用。

5.2 交换机端口与主机MAC值的绑定

将局域网中交换机的每一个端口与之相连接的主机MAC地址进行绑定,这就规定了连接这个端口的MAC地址是固定的。如果该端口发现与绑定的MAC地址值不同,则交换机自动锁定此端口,使与此端口相连的主机无法连接到局域网。即攻击者发送伪造的ARP欺骗报文,端口立刻可以检测出MAC值不一样,让攻击者无法攻击网络,并中断攻击者连接网络的权利,这样也可以立刻找出攻击主机。这种方法只适合于高端的交换机,对于低端交换机是没有交换机的设置功能,无法实现。同时,如果是人为的变换了主机的连接端口,不通过管理员也无法连接到网络。

5.3 划分VLAN

ARP报文是一种广播报文,也就是说它只能在一个广播域内传输。所以这就决定了ARP欺骗不能跨网段实施,通过VLAN技术隔离广播域,从一定的程度上减少ARP攻击的范围,使ARP欺骗局限于一个被感染的虚拟局域网内,不会影响整个局域网的运行。

5.4 信息加密

基于ARP欺骗原理,监听不易为通信双方察觉。如果通信双方对信息进行加密,即便信息被攻击者获取也因没有方法解密而无法获得有用信息,从而保证网络传输的安全性。但此方法是一种消极的防护策略。一旦受到ARP欺骗,该方法不能使网络通信保持正常状态。

5.5 制定ARP缓存更新策略

由于ARP协议在无ARP请求的情况下任意接收ARP应答并更新缓存,这为ARP欺骗创造了条件,因此可制定ARP缓存更新规则。规定接收ARP协议报文的顺序是先发送ARP请求然后才能接收与此匹配的ARP应答报文,对到达的无ARP请求或者不匹配的应答报文一律丢弃,这样可以有效防止攻击方利用ARP欺骗报文更新ARP缓存达到欺骗目的。但是这种方法由于引入了安全性方面的的考虑,在一定程度上增加了ARP协议的复杂度。一般此类方法的执行速度较慢,具有一定的局限性。故该方法的应用要综合考虑安全性和网络性能等多方面的因素。

5.6 设置ARP服务器

指定局域网内部的一台机器作为ARP服务器,专门保存并且维护可信范围内的所有主机的IP地址与MAC地址映射记录。该服务器通过查阅自己的ARP缓存的静态记录并以被查询主机的名义响应局域网内部的ARP请求。同时可以设置局域网内部的其它主机只使用来自ARP服务器的ARP响应。

6 结束语

ARP欺骗攻击利用了ARP协议的缺陷,并借助于一些专门的攻击工具,为计算机用户带来了极大的危害。本文通过分析ARP欺骗攻击的原理,介绍了ARP欺骗所带来的危害,探讨了防范ARP欺骗攻击的几种切实可行的方案,使各计算机用户能够避免ARP欺骗攻击。

参考文献

[1] 马军,王岩.ARP协议攻击及其解决方案[J].信息安全,2006,22 (5).

[2] Dieter Collmann计算机安全[M]北京:人民邮电出版社,2003.

[3] 魏为民,袁仲雄.网络攻击与防御技术的研究与实践[J].信息网络安全,2012,(12):53-56.

[4] 梅锋,孙东滨.IPv6环境下网络取证研究[J].信息网络安全,2012,(11):82-85.

作者简介:

罗学义(1979-),男,毕业于云南大学,硕士,现任公安消防部队昆明指挥学校电教室讲师;研究方向为计算机与网络教学。

上一篇:信息网络安全与保护策略探讨 下一篇:基于SSL VPN的安全接入平台设计与实现